Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

Move path
0x034c…ddca::image
Functions
135 public, 0 entry
Structs
11
Friend modules
coloringfactorymint
image

Bytecode672 lines

The on-chain disassembly. Offsets are instruction numbers within each function.

// Move bytecode v6
module 34c162f6b594cb5a1805264dd01ca5d80ce3eca6522e6ee37fd9ebfb9d3ddca.image {
use 0000000000000000000000000000000000000000000000000000000000000001::hash;
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_field;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::hex;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_map;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_set;
 
struct IMAGE has drop {
dummy_field: bool
}
 
struct CreateImageCap has store, key {
id: UID,
number: u16,
level: u8,
ref: ID
}
 
struct CreateImageChunkCap has key {
id: UID,
number: u16,
level: u8,
index: u8,
hash: String,
image_id: ID
}
 
struct DeleteImagePromise {
image_id: ID
}
 
struct Image has store, key {
id: UID,
number: u16,
level: u8,
encoding: String,
mime_type: String,
extension: String,
created_with: ID,
chunks: VecMap<String, Option<ID>>
}
 
struct ImageChunk has key {
id: UID,
image_id: ID,
number: u16,
hash: String,
index: u8,
data: String
}
 
struct RegisterImageChunkCap has key {
id: UID,
image_id: ID,
chunk_id: ID,
chunk_hash: String,
created_with: ID
}
 
struct CreateImageCapCreatedEvent has copy, drop {
id: ID,
number: u16,
level: u8
}
 
struct CreateImageChunkCapCreatedEvent has copy, drop {
id: ID,
number: u16,
level: u8,
index: u8,
hash: String,
image_id: ID
}
 
struct ImageCreatedEvent has copy, drop {
id: ID,
number: u16,
level: u8
}
 
struct ImageChunkCreatedEvent has copy, drop {
id: ID,
number: u16,
hash: String,
index: u8,
image_id: ID
}
 
init(Arg0: IMAGE, Arg1: &mut TxContext) {
L2: loc0: Display<ImageChunk>
L3: loc1: Publisher
B0:
0MoveLoc[0](Arg0: IMAGE)
1CopyLoc[1](Arg1: &mut TxContext)
2Call package::claim<IMAGE>(IMAGE, &mut TxContext): Publisher
3StLoc[3](loc1: Publisher)
4ImmBorrowLoc[3](loc1: Publisher)
5MoveLoc[1](Arg1: &mut TxContext)
6Call display::new<ImageChunk>(&Publisher, &mut TxContext): Display<ImageChunk>
7StLoc[2](loc0: Display<ImageChunk>)
8MutBorrowLoc[2](loc0: Display<ImageChunk>)
9LdConst[5](vector<u8>: "nam..)
10Call string::utf8(vector<u8>): String
11LdConst[6](vector<u8>: "Pri..)
12Call string::utf8(vector<u8>): String
13Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
14MutBorrowLoc[2](loc0: Display<ImageChunk>)
15LdConst[7](vector<u8>: "des..)
16Call string::utf8(vector<u8>): String
17LdConst[8](vector<u8>: "An ..)
18Call string::utf8(vector<u8>): String
19Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
20MutBorrowLoc[2](loc0: Display<ImageChunk>)
21LdConst[9](vector<u8>: "ima..)
22Call string::utf8(vector<u8>): String
23LdConst[10](vector<u8>: "htt..)
24Call string::utf8(vector<u8>): String
25Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
26MutBorrowLoc[2](loc0: Display<ImageChunk>)
27LdConst[11](vector<u8>: "ima..)
28Call string::utf8(vector<u8>): String
29LdConst[12](vector<u8>: "{im..)
30Call string::utf8(vector<u8>): String
31Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
32MutBorrowLoc[2](loc0: Display<ImageChunk>)
33LdConst[13](vector<u8>: "num..)
34Call string::utf8(vector<u8>): String
35LdConst[14](vector<u8>: "{nu..)
36Call string::utf8(vector<u8>): String
37Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
38MutBorrowLoc[2](loc0: Display<ImageChunk>)
39LdConst[15](vector<u8>: "has..)
40Call string::utf8(vector<u8>): String
41LdConst[16](vector<u8>: "{ha..)
42Call string::utf8(vector<u8>): String
43Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
44MutBorrowLoc[2](loc0: Display<ImageChunk>)
45LdConst[17](vector<u8>: "ind..)
46Call string::utf8(vector<u8>): String
47LdConst[18](vector<u8>: "{in..)
48Call string::utf8(vector<u8>): String
49Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
50MutBorrowLoc[2](loc0: Display<ImageChunk>)
51LdConst[19](vector<u8>: "dat..)
52Call string::utf8(vector<u8>): String
53LdConst[20](vector<u8>: "{da..)
54Call string::utf8(vector<u8>): String
55Call display::add<ImageChunk>(&mut Display<ImageChunk>, String, String)
56MoveLoc[3](loc1: Publisher)
57LdConst[21](address: 0xde..)
58Call transfer::public_transfer<Publisher>(Publisher, address)
59MoveLoc[2](loc0: Display<ImageChunk>)
60LdConst[21](address: 0xde..)
61Call transfer::public_transfer<Display<ImageChunk>>(Display<ImageChunk>, address)
62Ret
}
 
public create_image(Arg0: CreateImageCap, Arg1: vector<String>, Arg2: &mut TxContext) {
L3: loc0: String
L4: loc1: u8
L5: loc2: CreateImageChunkCap
L6: loc3: VecSet<ID>
L7: loc4: Image
B0:
0CopyLoc[2](Arg2: &mut TxContext)
1Call object::new(&mut TxContext): UID
2ImmBorrowLoc[0](Arg0: CreateImageCap)
3ImmBorrowField[0](CreateImageCap.number: u16)
4ReadRef
5ImmBorrowLoc[0](Arg0: CreateImageCap)
6ImmBorrowField[1](CreateImageCap.level: u8)
7ReadRef
8LdConst[22](vector<u8>: "bas..)
9Call string::utf8(vector<u8>): String
10LdConst[23](vector<u8>: "ima..)
11Call string::utf8(vector<u8>): String
12LdConst[24](vector<u8>: "avi..)
13Call string::utf8(vector<u8>): String
14ImmBorrowLoc[0](Arg0: CreateImageCap)
15Call object::id<CreateImageCap>(&CreateImageCap): ID
16Call vec_map::empty<String, Option<ID>>(): VecMap<String, Option<ID>>
17Pack[4](Image)
18StLoc[7](loc4: Image)
19Call vec_set::empty<ID>(): VecSet<ID>
20StLoc[6](loc3: VecSet<ID>)
B1:
21ImmBorrowLoc[1](Arg1: vector<String>)
22Call vector::is_empty<String>(&vector<String>): bool
23Not
24BrFalse(74)
B2:
25Branch(26)
B3:
26ImmBorrowLoc[1](Arg1: vector<String>)
27VecLen(23)
28CastU8
29StLoc[4](loc1: u8)
30MutBorrowLoc[1](Arg1: vector<String>)
31VecPopBack(23)
32StLoc[3](loc0: String)
33CopyLoc[2](Arg2: &mut TxContext)
34Call object::new(&mut TxContext): UID
35ImmBorrowLoc[0](Arg0: CreateImageCap)
36ImmBorrowField[0](CreateImageCap.number: u16)
37ReadRef
38ImmBorrowLoc[0](Arg0: CreateImageCap)
39ImmBorrowField[1](CreateImageCap.level: u8)
40ReadRef
41CopyLoc[4](loc1: u8)
42CopyLoc[3](loc0: String)
43ImmBorrowLoc[7](loc4: Image)
44Call object::id<Image>(&Image): ID
45Pack[2](CreateImageChunkCap)
46StLoc[5](loc2: CreateImageChunkCap)
47ImmBorrowLoc[5](loc2: CreateImageChunkCap)
48Call object::id<CreateImageChunkCap>(&CreateImageChunkCap): ID
49ImmBorrowLoc[0](Arg0: CreateImageCap)
50ImmBorrowField[0](CreateImageCap.number: u16)
51ReadRef
52ImmBorrowLoc[0](Arg0: CreateImageCap)
53ImmBorrowField[1](CreateImageCap.level: u8)
54ReadRef
55MoveLoc[4](loc1: u8)
56CopyLoc[3](loc0: String)
57ImmBorrowLoc[7](loc4: Image)
58Call object::id<Image>(&Image): ID
59Pack[8](CreateImageChunkCapCreatedEvent)
60Call event::emit<CreateImageChunkCapCreatedEvent>(CreateImageChunkCapCreatedEvent)
61MutBorrowLoc[7](loc4: Image)
62MutBorrowField[2](Image.chunks: VecMap<String, Option<ID>>)
63MoveLoc[3](loc0: String)
64Call option::none<ID>(): Option<ID>
65Call vec_map::insert<String, Option<ID>>(&mut VecMap<String, Option<ID>>, String, Option<ID>)
66MutBorrowLoc[6](loc3: VecSet<ID>)
67ImmBorrowLoc[5](loc2: CreateImageChunkCap)
68Call object::id<CreateImageChunkCap>(&CreateImageChunkCap): ID
69Call vec_set::insert<ID>(&mut VecSet<ID>, ID)
70MoveLoc[5](loc2: CreateImageChunkCap)
71LdConst[25](address: 0x59..)
72Call transfer::transfer<CreateImageChunkCap>(CreateImageChunkCap, address)
73Branch(21)
B4:
74MoveLoc[2](Arg2: &mut TxContext)
75Pop
76MutBorrowLoc[7](loc4: Image)
77MutBorrowField[3](Image.id: UID)
78LdConst[26](vector<u8>: "cre..)
79Call string::utf8(vector<u8>): String
80MoveLoc[6](loc3: VecSet<ID>)
81Call dynamic_field::add<String, VecSet<ID>>(&mut UID, String, VecSet<ID>)
82ImmBorrowLoc[7](loc4: Image)
83Call object::id<Image>(&Image): ID
84ImmBorrowLoc[0](Arg0: CreateImageCap)
85ImmBorrowField[0](CreateImageCap.number: u16)
86ReadRef
87ImmBorrowLoc[0](Arg0: CreateImageCap)
88ImmBorrowField[1](CreateImageCap.level: u8)
89ReadRef
90Pack[9](ImageCreatedEvent)
91Call event::emit<ImageCreatedEvent>(ImageCreatedEvent)
92MoveLoc[0](Arg0: CreateImageCap)
93Unpack[1](CreateImageCap)
94Pop
95Pop
96Pop
97Call object::delete(UID)
98MoveLoc[7](loc4: Image)
99LdConst[25](address: 0x59..)
100Call transfer::transfer<Image>(Image, address)
101Ret
}
 
public create_and_transfer_image_chunk(Arg0: CreateImageChunkCap, Arg1: vector<String>, Arg2: &mut TxContext) {
L3: loc0: ImageChunk
L4: loc1: String
L5: loc2: String
L6: loc3: String
L7: loc4: RegisterImageChunkCap
B0:
0LdConst[27](vector<u8>: "" /..)
1Call string::utf8(vector<u8>): String
2StLoc[6](loc3: String)
B1:
3ImmBorrowLoc[1](Arg1: vector<String>)
4Call vector::is_empty<String>(&vector<String>): bool
5Not
6BrFalse(16)
B2:
7Branch(8)
B3:
8MutBorrowLoc[1](Arg1: vector<String>)
9LdU64(0)
10Call vector::remove<String>(&mut vector<String>, u64): String
11StLoc[5](loc2: String)
12MutBorrowLoc[6](loc3: String)
13MoveLoc[5](loc2: String)
14Call string::append(&mut String, String)
15Branch(3)
B4:
16ImmBorrowLoc[6](loc3: String)
17Call string::bytes(&String): &vector<u8>
18ReadRef
19Call hash::sha2_256(vector<u8>): vector<u8>
20Call hex::encode(vector<u8>): vector<u8>
21Call string::utf8(vector<u8>): String
22StLoc[4](loc1: String)
23CopyLoc[4](loc1: String)
24ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
25ImmBorrowField[4](CreateImageChunkCap.hash: String)
26ReadRef
27Eq
28BrFalse(30)
B5:
29Branch(34)
B6:
30MoveLoc[2](Arg2: &mut TxContext)
31Pop
32LdConst[0](u64: 1)
33Abort
B7:
34CopyLoc[2](Arg2: &mut TxContext)
35Call object::new(&mut TxContext): UID
36ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
37ImmBorrowField[5](CreateImageChunkCap.image_id: ID)
38ReadRef
39ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
40ImmBorrowField[6](CreateImageChunkCap.number: u16)
41ReadRef
42CopyLoc[4](loc1: String)
43ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
44ImmBorrowField[7](CreateImageChunkCap.index: u8)
45ReadRef
46MoveLoc[6](loc3: String)
47Pack[5](ImageChunk)
48StLoc[3](loc0: ImageChunk)
49MoveLoc[2](Arg2: &mut TxContext)
50Call object::new(&mut TxContext): UID
51ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
52ImmBorrowField[5](CreateImageChunkCap.image_id: ID)
53ReadRef
54ImmBorrowLoc[3](loc0: ImageChunk)
55Call object::id<ImageChunk>(&ImageChunk): ID
56CopyLoc[4](loc1: String)
57ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
58Call object::id<CreateImageChunkCap>(&CreateImageChunkCap): ID
59Pack[6](RegisterImageChunkCap)
60StLoc[7](loc4: RegisterImageChunkCap)
61ImmBorrowLoc[3](loc0: ImageChunk)
62Call object::id<ImageChunk>(&ImageChunk): ID
63ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
64ImmBorrowField[6](CreateImageChunkCap.number: u16)
65ReadRef
66MoveLoc[4](loc1: String)
67ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
68ImmBorrowField[7](CreateImageChunkCap.index: u8)
69ReadRef
70ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
71ImmBorrowField[5](CreateImageChunkCap.image_id: ID)
72ReadRef
73Pack[10](ImageChunkCreatedEvent)
74Call event::emit<ImageChunkCreatedEvent>(ImageChunkCreatedEvent)
75MoveLoc[3](loc0: ImageChunk)
76ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
77ImmBorrowField[5](CreateImageChunkCap.image_id: ID)
78Call object::id_to_address(&ID): address
79Call transfer::transfer<ImageChunk>(ImageChunk, address)
80MoveLoc[7](loc4: RegisterImageChunkCap)
81ImmBorrowLoc[0](Arg0: CreateImageChunkCap)
82ImmBorrowField[5](CreateImageChunkCap.image_id: ID)
83Call object::id_to_address(&ID): address
84Call transfer::transfer<RegisterImageChunkCap>(RegisterImageChunkCap, address)
85MoveLoc[0](Arg0: CreateImageChunkCap)
86Unpack[2](CreateImageChunkCap)
87Pop
88Pop
89Pop
90Pop
91Pop
92Call object::delete(UID)
93Ret
}
 
public(friend) issue_create_image_cap(Arg0: u16, Arg1: u8, Arg2: ID, Arg3: &mut TxContext): CreateImageCap {
L4: loc0: CreateImageCap
B0:
0MoveLoc[3](Arg3: &mut TxContext)
1Call object::new(&mut TxContext): UID
2CopyLoc[0](Arg0: u16)
3CopyLoc[1](Arg1: u8)
4MoveLoc[2](Arg2: ID)
5Pack[1](CreateImageCap)
6StLoc[4](loc0: CreateImageCap)
7ImmBorrowLoc[4](loc0: CreateImageCap)
8Call object::id<CreateImageCap>(&CreateImageCap): ID
9MoveLoc[0](Arg0: u16)
10MoveLoc[1](Arg1: u8)
11Pack[7](CreateImageCapCreatedEvent)
12Call event::emit<CreateImageCapCreatedEvent>(CreateImageCapCreatedEvent)
13MoveLoc[4](loc0: CreateImageCap)
14Ret
}
 
public delete_image(Arg0: Image, Arg1: DeleteImagePromise) {
L2: loc0: VecMap<String, Option<ID>>
L3: loc1: UID
B0:
0ImmBorrowLoc[0](Arg0: Image)
1Call object::id<Image>(&Image): ID
2ImmBorrowLoc[1](Arg1: DeleteImagePromise)
3ImmBorrowField[8](DeleteImagePromise.image_id: ID)
4ReadRef
5Eq
6BrFalse(8)
B1:
7Branch(10)
B2:
8LdConst[3](u64: 4)
9Abort
B3:
10ImmBorrowLoc[0](Arg0: Image)
11ImmBorrowField[2](Image.chunks: VecMap<String, Option<ID>>)
12Call vec_map::is_empty<String, Option<ID>>(&VecMap<String, Option<ID>>): bool
13BrFalse(15)
B4:
14Branch(17)
B5:
15LdConst[2](u64: 3)
16Abort
B6:
17MoveLoc[0](Arg0: Image)
18Unpack[4](Image)
19StLoc[2](loc0: VecMap<String, Option<ID>>)
20Pop
21Pop
22Pop
23Pop
24Pop
25Pop
26StLoc[3](loc1: UID)
27MoveLoc[2](loc0: VecMap<String, Option<ID>>)
28Call vec_map::destroy_empty<String, Option<ID>>(VecMap<String, Option<ID>>)
29MoveLoc[3](loc1: UID)
30Call object::delete(UID)
31MoveLoc[1](Arg1: DeleteImagePromise)
32Unpack[3](DeleteImagePromise)
33Pop
34Ret
}
 
public receive_and_register_image_chunk(Arg0: &mut Image, Arg1: Receiving<RegisterImageChunkCap>) {
L2: loc0: RegisterImageChunkCap
L3: loc1: &mut VecSet<ID>
B0:
0CopyLoc[0](Arg0: &mut Image)
1MutBorrowField[3](Image.id: UID)
2MoveLoc[1](Arg1: Receiving<RegisterImageChunkCap>)
3Call transfer::receive<RegisterImageChunkCap>(&mut UID, Receiving<RegisterImageChunkCap>): RegisterImageChunkCap
4StLoc[2](loc0: RegisterImageChunkCap)
5ImmBorrowLoc[2](loc0: RegisterImageChunkCap)
6ImmBorrowField[9](RegisterImageChunkCap.image_id: ID)
7ReadRef
8CopyLoc[0](Arg0: &mut Image)
9FreezeRef
10Call object::id<Image>(&Image): ID
11Eq
12BrFalse(14)
B1:
13Branch(18)
B2:
14MoveLoc[0](Arg0: &mut Image)
15Pop
16LdConst[4](u64: 5)
17Abort
B3:
18CopyLoc[0](Arg0: &mut Image)
19MutBorrowField[2](Image.chunks: VecMap<String, Option<ID>>)
20ImmBorrowLoc[2](loc0: RegisterImageChunkCap)
21ImmBorrowField[10](RegisterImageChunkCap.chunk_hash: String)
22Call vec_map::get_mut<String, Option<ID>>(&mut VecMap<String, Option<ID>>, &String): &mut Option<ID>
23ImmBorrowLoc[2](loc0: RegisterImageChunkCap)
24ImmBorrowField[11](RegisterImageChunkCap.chunk_id: ID)
25ReadRef
26Call option::fill<ID>(&mut Option<ID>, ID)
27CopyLoc[0](Arg0: &mut Image)
28MutBorrowField[3](Image.id: UID)
29LdConst[26](vector<u8>: "cre..)
30Call string::utf8(vector<u8>): String
31Call dynamic_field::borrow_mut<String, VecSet<ID>>(&mut UID, String): &mut VecSet<ID>
32StLoc[3](loc1: &mut VecSet<ID>)
33CopyLoc[3](loc1: &mut VecSet<ID>)
34ImmBorrowLoc[2](loc0: RegisterImageChunkCap)
35ImmBorrowField[12](RegisterImageChunkCap.created_with: ID)
36Call vec_set::remove<ID>(&mut VecSet<ID>, &ID)
37MoveLoc[3](loc1: &mut VecSet<ID>)
38FreezeRef
39Call vec_set::is_empty<ID>(&VecSet<ID>): bool
40BrFalse(49)
B4:
41MoveLoc[0](Arg0: &mut Image)
42MutBorrowField[3](Image.id: UID)
43LdConst[26](vector<u8>: "cre..)
44Call string::utf8(vector<u8>): String
45Call dynamic_field::remove<String, VecSet<ID>>(&mut UID, String): VecSet<ID>
46Call vec_set::into_keys<ID>(VecSet<ID>): vector<ID>
47VecUnpack(11, 0)
48Branch(51)
B5:
49MoveLoc[0](Arg0: &mut Image)
50Pop
B6:
51MoveLoc[2](loc0: RegisterImageChunkCap)
52Unpack[6](RegisterImageChunkCap)
53Pop
54Pop
55Pop
56Pop
57Call object::delete(UID)
58Ret
}
 
public receive_and_destroy_image_chunk(Arg0: &mut Image, Arg1: Receiving<ImageChunk>) {
L2: loc0: ImageChunk
L3: loc1: Option<ID>
B0:
0CopyLoc[0](Arg0: &mut Image)
1MutBorrowField[3](Image.id: UID)
2MoveLoc[1](Arg1: Receiving<ImageChunk>)
3Call transfer::receive<ImageChunk>(&mut UID, Receiving<ImageChunk>): ImageChunk
4StLoc[2](loc0: ImageChunk)
5MoveLoc[0](Arg0: &mut Image)
6MutBorrowField[2](Image.chunks: VecMap<String, Option<ID>>)
7ImmBorrowLoc[2](loc0: ImageChunk)
8ImmBorrowField[13](ImageChunk.hash: String)
9Call vec_map::remove<String, Option<ID>>(&mut VecMap<String, Option<ID>>, &String): String * Option<ID>
10StLoc[3](loc1: Option<ID>)
11Pop
12MoveLoc[3](loc1: Option<ID>)
13Call option::destroy_some<ID>(Option<ID>): ID
14Pop
15MoveLoc[2](loc0: ImageChunk)
16Unpack[5](ImageChunk)
17Pop
18Pop
19Pop
20Pop
21Pop
22Call object::delete(UID)
23Ret
}
 
public(friend) issue_delete_image_promise(Arg0: &Image): DeleteImagePromise {
B0:
0MoveLoc[0](Arg0: &Image)
1Call object::id<Image>(&Image): ID
2Pack[3](DeleteImagePromise)
3Ret
}
 
public(friend) verify_image_chunks_registered(Arg0: &Image) {
L1: loc0: String
L2: loc1: vector<String>
B0:
0CopyLoc[0](Arg0: &Image)
1ImmBorrowField[2](Image.chunks: VecMap<String, Option<ID>>)
2Call vec_map::keys<String, Option<ID>>(&VecMap<String, Option<ID>>): vector<String>
3StLoc[2](loc1: vector<String>)
B1:
4ImmBorrowLoc[2](loc1: vector<String>)
5Call vector::is_empty<String>(&vector<String>): bool
6Not
7BrFalse(24)
B2:
8Branch(9)
B3:
9MutBorrowLoc[2](loc1: vector<String>)
10VecPopBack(23)
11StLoc[1](loc0: String)
12CopyLoc[0](Arg0: &Image)
13ImmBorrowField[2](Image.chunks: VecMap<String, Option<ID>>)
14ImmBorrowLoc[1](loc0: String)
15Call vec_map::get<String, Option<ID>>(&VecMap<String, Option<ID>>, &String): &Option<ID>
16Call option::is_some<ID>(&Option<ID>): bool
17BrFalse(19)
B4:
18Branch(23)
B5:
19MoveLoc[0](Arg0: &Image)
20Pop
21LdConst[1](u64: 2)
22Abort
B6:
23Branch(4)
B7:
24MoveLoc[0](Arg0: &Image)
25Pop
26MoveLoc[2](loc1: vector<String>)
27VecUnpack(23, 0)
28Ret
}
 
public(friend) id(Arg0: &Image): ID {
B0:
0MoveLoc[0](Arg0: &Image)
1Call object::id<Image>(&Image): ID
2Ret
}
 
public(friend) number(Arg0: &Image): u16 {
B0:
0MoveLoc[0](Arg0: &Image)
1ImmBorrowField[14](Image.number: u16)
2ReadRef
3Ret
}
 
public(friend) level(Arg0: &Image): u8 {
B0:
0MoveLoc[0](Arg0: &Image)
1ImmBorrowField[15](Image.level: u8)
2ReadRef
3Ret
}
 
public(friend) create_image_cap_id(Arg0: &CreateImageCap): ID {
B0:
0MoveLoc[0](Arg0: &CreateImageCap)
1Call object::id<CreateImageCap>(&CreateImageCap): ID
2Ret
}
 
Constants [
0 => u64: 1
1 => u64: 2
2 => u64: 3
3 => u64: 4
4 => u64: 5
5 => vector<u8>: "name" // interpreted as UTF8 string
6 => vector<u8>: "Prime Machin #{number} Image Chunk" // interpreted as UTF8 string
7 => vector<u8>: "description" // interpreted as UTF8 string
8 => vector<u8>: "An image chunk for Prime Machin #{number}." // interpreted as UTF8 string
9 => vector<u8>: "image_url" // interpreted as UTF8 string
10 => vector<u8>: "https://prime.nozomi.world/images/image_chunk_{level}_{number}_{index}.webp" // interpreted as UTF8 string
11 => vector<u8>: "image_id" // interpreted as UTF8 string
12 => vector<u8>: "{image_id}" // interpreted as UTF8 string
13 => vector<u8>: "number" // interpreted as UTF8 string
14 => vector<u8>: "{number}" // interpreted as UTF8 string
15 => vector<u8>: "hash" // interpreted as UTF8 string
16 => vector<u8>: "{hash}" // interpreted as UTF8 string
17 => vector<u8>: "index" // interpreted as UTF8 string
18 => vector<u8>: "{index}" // interpreted as UTF8 string
19 => vector<u8>: "data" // interpreted as UTF8 string
20 => vector<u8>: "{data}" // interpreted as UTF8 string
21 => address: 0xde0053243f3226649701a7fe2c3988be11941bf3ff3535f3c8c5bf32fc600220
22 => vector<u8>: "base85" // interpreted as UTF8 string
23 => vector<u8>: "image/avif" // interpreted as UTF8 string
24 => vector<u8>: "avif" // interpreted as UTF8 string
25 => address: 0x597996d64570b1ba7ec02376995fe126d4430d385a62970f33266d7eb711172f
26 => vector<u8>: "create_image_chunk_cap_ids" // interpreted as UTF8 string
27 => vector<u8>: "" // interpreted as UTF8 string
]
}