auth
Module0xfa65…814e
- Move path
- 0xfdc8…ea77::auth
- Functions
- 54 public, 0 entry
- Structs
- 2
- Friend modules
- staking_innerstaking_pool
auth
- active_set11
- apportionment_queue6
- auth5
- blob27
- bls_aggregate16
- committee9
- display4
- encoding1
- epoch_parameters4
- event_blob15
- events16
- extended_field5
- init3
- messages29
- metadata4
- node_metadata10
- pending_values10
- pool_exchange_rate4
- redstuff7
- shared_blob6
- sort0
- staked_wal12
- staking39
- staking_inner47
- staking_pool38
- storage_accounting13
- storage_node21
- storage_resource11
- system28
- system_state_inner26
- upgrade9
- walrus_context4
Bytecode161 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v7
module fdc88f7d7cf30afab2f82e8380d11ee8f70efb90e863d1de8616fae1bb09ea77.auth {
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
enum Authenticated has drop {
Sender { pos0: address },
Object { pos0: ID }
}
enum Authorized has copy, drop, store {
Address { pos0: address },
ObjectID { pos0: ID }
}
public authenticate_sender(Arg0: &TxContext): Authenticated {
B0:
0MoveLoc[0](Arg0: &TxContext)
1Call tx_context::sender(&TxContext): address
2PackVariant(VariantHandleIndex(0))
3Ret
}
public authenticate_with_object<Ty0: key>(Arg0: &Ty0): Authenticated {
B0:
0MoveLoc[0](Arg0: &Ty0)
1Call object::id<Ty0>(&Ty0): ID
2PackVariant(VariantHandleIndex(1))
3Ret
}
public authorized_address(Arg0: address): Authorized {
B0:
0MoveLoc[0](Arg0: address)
1PackVariant(VariantHandleIndex(2))
2Ret
}
public authorized_object(Arg0: ID): Authorized {
B0:
0MoveLoc[0](Arg0: ID)
1PackVariant(VariantHandleIndex(3))
2Ret
}
public(friend) matches(Arg0: &Authenticated, Arg1: &Authorized): bool {
L2: loc0: bool
L3: loc1: bool
L4: loc2: bool
L5: loc3: &Authorized
L6: loc4: &Authenticated
L7: loc5: &Authorized
L8: loc6: &Authenticated
L9: loc7: &Authorized
L10: loc8: &Authorized
L11: loc9: &address
L12: loc10: &ID
L13: loc11: &ID
L14: loc12: &address
B0:
0MoveLoc[0](Arg0: &Authenticated)
1StLoc[8](loc6: &Authenticated)
2CopyLoc[8](loc6: &Authenticated)
3StLoc[6](loc4: &Authenticated)
4CopyLoc[6](loc4: &Authenticated)
5VariantSwitch(VariantJumpTableIndex(0))
B1:
6MoveLoc[6](loc4: &Authenticated)
7UnpackVariantImmRef(VariantHandleIndex(0))
8Pop
9MoveLoc[8](loc6: &Authenticated)
10UnpackVariantImmRef(VariantHandleIndex(0))
11StLoc[14](loc12: &address)
12MoveLoc[1](Arg1: &Authorized)
13StLoc[10](loc8: &Authorized)
14CopyLoc[10](loc8: &Authorized)
15StLoc[7](loc5: &Authorized)
16CopyLoc[7](loc5: &Authorized)
17VariantSwitch(VariantJumpTableIndex(1))
B2:
18MoveLoc[7](loc5: &Authorized)
19UnpackVariantImmRef(VariantHandleIndex(2))
20Pop
21MoveLoc[10](loc8: &Authorized)
22UnpackVariantImmRef(VariantHandleIndex(2))
23StLoc[11](loc9: &address)
24MoveLoc[14](loc12: &address)
25MoveLoc[11](loc9: &address)
26Eq
27StLoc[2](loc0: bool)
28Branch(37)
B3:
29MoveLoc[14](loc12: &address)
30Pop
31MoveLoc[10](loc8: &Authorized)
32Pop
33MoveLoc[7](loc5: &Authorized)
34Pop
35LdFalse
36StLoc[2](loc0: bool)
B4:
37MoveLoc[2](loc0: bool)
38StLoc[4](loc2: bool)
39Branch(73)
B5:
40MoveLoc[6](loc4: &Authenticated)
41UnpackVariantImmRef(VariantHandleIndex(1))
42Pop
43MoveLoc[8](loc6: &Authenticated)
44UnpackVariantImmRef(VariantHandleIndex(1))
45StLoc[12](loc10: &ID)
46MoveLoc[1](Arg1: &Authorized)
47StLoc[9](loc7: &Authorized)
48CopyLoc[9](loc7: &Authorized)
49StLoc[5](loc3: &Authorized)
50CopyLoc[5](loc3: &Authorized)
51VariantSwitch(VariantJumpTableIndex(2))
B6:
52MoveLoc[12](loc10: &ID)
53Pop
54MoveLoc[9](loc7: &Authorized)
55Pop
56MoveLoc[5](loc3: &Authorized)
57Pop
58LdFalse
59StLoc[3](loc1: bool)
60Branch(71)
B7:
61MoveLoc[5](loc3: &Authorized)
62UnpackVariantImmRef(VariantHandleIndex(3))
63Pop
64MoveLoc[9](loc7: &Authorized)
65UnpackVariantImmRef(VariantHandleIndex(3))
66StLoc[13](loc11: &ID)
67MoveLoc[12](loc10: &ID)
68MoveLoc[13](loc11: &ID)
69Eq
70StLoc[3](loc1: bool)
B8:
71MoveLoc[3](loc1: bool)
72StLoc[4](loc2: bool)
B9:
73MoveLoc[4](loc2: bool)
74Ret
Jump tables:
[0]: variant_switch Authenticated {
Variant0 => jump 6
Variant1 => jump 40
}
[1]: variant_switch Authorized {
Variant0 => jump 18
Variant1 => jump 29
}
[2]: variant_switch Authorized {
Variant0 => jump 52
Variant1 => jump 61
}
}
}