Program secret_custody_protocol.aleo
Program ID
secret_custody_protocol.aleo
Deployment transaction
Owner signature
sign1f6w8s7jvaere4hpqwwk6qmkymeuqpytzcatqclgvzv6qdt7rucq5djvwxx2sp7qkf7dd4zhxdnknvdr8787q3q6ntf72q7ld3xxcuqqh7y00jwagn9ae9ytnk5qj7za66k5nruz2ex0y87flnlkctk2eqq62xlryqk35v7q8k82fxepzes2rqz8rhsaz07yqr0p85g3mhrpssxzef5m
Times called
0
Similar programs
Mappings
-
Structs
Proposal
CustodyState
Share
Custody
ValidatorShareData
CustodyState
Share
Custody
ValidatorShareData
Records
-
Functions
-
Transitions
custody_data_as_program(scalar, [field; 15u32], public [address; 16u32], u8) -> ()
request_data_as_program(address, address, u8, public [address; 16u32], public u64, credits.aleo/credits) -> credits.aleo/credits
assert_completed_as_program(address, public u8) -> () finalize(field, u8)
request_data_as_program(address, address, u8, public [address; 16u32], public u64, credits.aleo/credits) -> credits.aleo/credits
assert_completed_as_program(address, public u8) -> () finalize(field, u8)
Program Source Code (Aleo Instruction) Upload Leo source
import credits.aleo; import protocol_core.aleo; import protocol_transfers.aleo; program secret_custody_protocol.aleo; struct Proposal: validators as [address; 16u32]; threshold as u8; current_validator_set_index as u64; struct CustodyState: validator_set_index as u64; validator_fee as u64; requested as boolean; submitted_shares as u8; struct Share: share_val as field; index as field; struct Custody: initiator as address; data_address as address; threshold as u8; struct ValidatorShareData: validator as address; share as Share; function custody_data_as_program: input r0 as scalar.private; input r1 as [field; 15u32].private; input r2 as [address; 16u32].public; input r3 as u8.private; assert.neq self.caller self.signer; is.neq r1[0] 0field into r4; is.neq r1[1] 0field into r5; and r4 r5 into r6; is.neq r1[2] 0field into r7; and r6 r7 into r8; is.neq r1[3] 0field into r9; and r8 r9 into r10; is.neq r1[4] 0field into r11; and r10 r11 into r12; is.neq r1[5] 0field into r13; and r12 r13 into r14; is.neq r1[6] 0field into r15; and r14 r15 into r16; is.neq r1[7] 0field into r17; and r16 r17 into r18; is.neq r1[8] 0field into r19; and r18 r19 into r20; is.neq r1[9] 0field into r21; and r20 r21 into r22; is.neq r1[10] 0field into r23; and r22 r23 into r24; is.neq r1[11] 0field into r25; and r24 r25 into r26; is.neq r1[12] 0field into r27; and r26 r27 into r28; is.neq r1[13] 0field into r29; and r28 r29 into r30; is.neq r1[14] 0field into r31; and r30 r31 into r32; assert.eq r32 true; cast r0 into r33 as field; mul r0 1540945439182663264862696551825005342995406165131907382295858612069623286213group into r34; cast r34 into r35 as address; cast self.caller r35 r3 into r36 as Custody; hash.bhp256 r36 into r37 as field; mul 1field 1field into r38; sub r3 1u8 into r39; lt 0u8 r39 into r40; mul r1[0] r38 into r41; ternary r40 r41 0field into r42; add r33 r42 into r43; mul r38 1field into r44; sub r3 1u8 into r45; lt 1u8 r45 into r46; mul r1[1] r44 into r47; ternary r46 r47 0field into r48; add r43 r48 into r49; mul r44 1field into r50; sub r3 1u8 into r51; lt 2u8 r51 into r52; mul r1[2] r50 into r53; ternary r52 r53 0field into r54; add r49 r54 into r55; mul r50 1field into r56; sub r3 1u8 into r57; lt 3u8 r57 into r58; mul r1[3] r56 into r59; ternary r58 r59 0field into r60; add r55 r60 into r61; mul r56 1field into r62; sub r3 1u8 into r63; lt 4u8 r63 into r64; mul r1[4] r62 into r65; ternary r64 r65 0field into r66; add r61 r66 into r67; mul r62 1field into r68; sub r3 1u8 into r69; lt 5u8 r69 into r70; mul r1[5] r68 into r71; ternary r70 r71 0field into r72; add r67 r72 into r73; mul r68 1field into r74; sub r3 1u8 into r75; lt 6u8 r75 into r76; mul r1[6] r74 into r77; ternary r76 r77 0field into r78; add r73 r78 into r79; mul r74 1field into r80; sub r3 1u8 into r81; lt 7u8 r81 into r82; mul r1[7] r80 into r83; ternary r82 r83 0field into r84; add r79 r84 into r85; mul r80 1field into r86; sub r3 1u8 into r87; lt 8u8 r87 into r88; mul r1[8] r86 into r89; ternary r88 r89 0field into r90; add r85 r90 into r91; mul r86 1field into r92; sub r3 1u8 into r93; lt 9u8 r93 into r94; mul r1[9] r92 into r95; ternary r94 r95 0field into r96; add r91 r96 into r97; mul r92 1field into r98; sub r3 1u8 into r99; lt 10u8 r99 into r100; mul r1[10] r98 into r101; ternary r100 r101 0field into r102; add r97 r102 into r103; mul r98 1field into r104; sub r3 1u8 into r105; lt 11u8 r105 into r106; mul r1[11] r104 into r107; ternary r106 r107 0field into r108; add r103 r108 into r109; mul r104 1field into r110; sub r3 1u8 into r111; lt 12u8 r111 into r112; mul r1[12] r110 into r113; ternary r112 r113 0field into r114; add r109 r114 into r115; mul r110 1field into r116; sub r3 1u8 into r117; lt 13u8 r117 into r118; mul r1[13] r116 into r119; ternary r118 r119 0field into r120; add r115 r120 into r121; cast r121 1field into r122 as Share; cast r2[0] r122 into r123 as ValidatorShareData; mul 1field 2field into r124; sub r3 1u8 into r125; lt 0u8 r125 into r126; mul r1[0] r124 into r127; ternary r126 r127 0field into r128; add r33 r128 into r129; mul r124 2field into r130; sub r3 1u8 into r131; lt 1u8 r131 into r132; mul r1[1] r130 into r133; ternary r132 r133 0field into r134; add r129 r134 into r135; mul r130 2field into r136; sub r3 1u8 into r137; lt 2u8 r137 into r138; mul r1[2] r136 into r139; ternary r138 r139 0field into r140; add r135 r140 into r141; mul r136 2field into r142; sub r3 1u8 into r143; lt 3u8 r143 into r144; mul r1[3] r142 into r145; ternary r144 r145 0field into r146; add r141 r146 into r147; mul r142 2field into r148; sub r3 1u8 into r149; lt 4u8 r149 into r150; mul r1[4] r148 into r151; ternary r150 r151 0field into r152; add r147 r152 into r153; mul r148 2field into r154; sub r3 1u8 into r155; lt 5u8 r155 into r156; mul r1[5] r154 into r157; ternary r156 r157 0field into r158; add r153 r158 into r159; mul r154 2field into r160; sub r3 1u8 into r161; lt 6u8 r161 into r162; mul r1[6] r160 into r163; ternary r162 r163 0field into r164; add r159 r164 into r165; mul r160 2field into r166; sub r3 1u8 into r167; lt 7u8 r167 into r168; mul r1[7] r166 into r169; ternary r168 r169 0field into r170; add r165 r170 into r171; mul r166 2field into r172; sub r3 1u8 into r173; lt 8u8 r173 into r174; mul r1[8] r172 into r175; ternary r174 r175 0field into r176; add r171 r176 into r177; mul r172 2field into r178; sub r3 1u8 into r179; lt 9u8 r179 into r180; mul r1[9] r178 into r181; ternary r180 r181 0field into r182; add r177 r182 into r183; mul r178 2field into r184; sub r3 1u8 into r185; lt 10u8 r185 into r186; mul r1[10] r184 into r187; ternary r186 r187 0field into r188; add r183 r188 into r189; mul r184 2field into r190; sub r3 1u8 into r191; lt 11u8 r191 into r192; mul r1[11] r190 into r193; ternary r192 r193 0field into r194; add r189 r194 into r195; mul r190 2field into r196; sub r3 1u8 into r197; lt 12u8 r197 into r198; mul r1[12] r196 into r199; ternary r198 r199 0field into r200; add r195 r200 into r201; mul r196 2field into r202; sub r3 1u8 into r203; lt 13u8 r203 into r204; mul r1[13] r202 into r205; ternary r204 r205 0field into r206; add r201 r206 into r207; cast r207 2field into r208 as Share; cast r2[1] r208 into r209 as ValidatorShareData; mul 1field 3field into r210; sub r3 1u8 into r211; lt 0u8 r211 into r212; mul r1[0] r210 into r213; ternary r212 r213 0field into r214; add r33 r214 into r215; mul r210 3field into r216; sub r3 1u8 into r217; lt 1u8 r217 into r218; mul r1[1] r216 into r219; ternary r218 r219 0field into r220; add r215 r220 into r221; mul r216 3field into r222; sub r3 1u8 into r223; lt 2u8 r223 into r224; mul r1[2] r222 into r225; ternary r224 r225 0field into r226; add r221 r226 into r227; mul r222 3field into r228; sub r3 1u8 into r229; lt 3u8 r229 into r230; mul r1[3] r228 into r231; ternary r230 r231 0field into r232; add r227 r232 into r233; mul r228 3field into r234; sub r3 1u8 into r235; lt 4u8 r235 into r236; mul r1[4] r234 into r237; ternary r236 r237 0field into r238; add r233 r238 into r239; mul r234 3field into r240; sub r3 1u8 into r241; lt 5u8 r241 into r242; mul r1[5] r240 into r243; ternary r242 r243 0field into r244; add r239 r244 into r245; mul r240 3field into r246; sub r3 1u8 into r247; lt 6u8 r247 into r248; mul r1[6] r246 into r249; ternary r248 r249 0field into r250; add r245 r250 into r251; mul r246 3field into r252; sub r3 1u8 into r253; lt 7u8 r253 into r254; mul r1[7] r252 into r255; ternary r254 r255 0field into r256; add r251 r256 into r257; mul r252 3field into r258; sub r3 1u8 into r259; lt 8u8 r259 into r260; mul r1[8] r258 into r261; ternary r260 r261 0field into r262; add r257 r262 into r263; mul r258 3field into r264; sub r3 1u8 into r265; lt 9u8 r265 into r266; mul r1[9] r264 into r267; ternary r266 r267 0field into r268; add r263 r268 into r269; mul r264 3field into r270; sub r3 1u8 into r271; lt 10u8 r271 into r272; mul r1[10] r270 into r273; ternary r272 r273 0field into r274; add r269 r274 into r275; mul r270 3field into r276; sub r3 1u8 into r277; lt 11u8 r277 into r278; mul r1[11] r276 into r279; ternary r278 r279 0field into r280; add r275 r280 into r281; mul r276 3field into r282; sub r3 1u8 into r283; lt 12u8 r283 into r284; mul r1[12] r282 into r285; ternary r284 r285 0field into r286; add r281 r286 into r287; mul r282 3field into r288; sub r3 1u8 into r289; lt 13u8 r289 into r290; mul r1[13] r288 into r291; ternary r290 r291 0field into r292; add r287 r292 into r293; cast r293 3field into r294 as Share; cast r2[2] r294 into r295 as ValidatorShareData; mul 1field 4field into r296; sub r3 1u8 into r297; lt 0u8 r297 into r298; mul r1[0] r296 into r299; ternary r298 r299 0field into r300; add r33 r300 into r301; mul r296 4field into r302; sub r3 1u8 into r303; lt 1u8 r303 into r304; mul r1[1] r302 into r305; ternary r304 r305 0field into r306; add r301 r306 into r307; mul r302 4field into r308; sub r3 1u8 into r309; lt 2u8 r309 into r310; mul r1[2] r308 into r311; ternary r310 r311 0field into r312; add r307 r312 into r313; mul r308 4field into r314; sub r3 1u8 into r315; lt 3u8 r315 into r316; mul r1[3] r314 into r317; ternary r316 r317 0field into r318; add r313 r318 into r319; mul r314 4field into r320; sub r3 1u8 into r321; lt 4u8 r321 into r322; mul r1[4] r320 into r323; ternary r322 r323 0field into r324; add r319 r324 into r325; mul r320 4field into r326; sub r3 1u8 into r327; lt 5u8 r327 into r328; mul r1[5] r326 into r329; ternary r328 r329 0field into r330; add r325 r330 into r331; mul r326 4field into r332; sub r3 1u8 into r333; lt 6u8 r333 into r334; mul r1[6] r332 into r335; ternary r334 r335 0field into r336; add r331 r336 into r337; mul r332 4field into r338; sub r3 1u8 into r339; lt 7u8 r339 into r340; mul r1[7] r338 into r341; ternary r340 r341 0field into r342; add r337 r342 into r343; mul r338 4field into r344; sub r3 1u8 into r345; lt 8u8 r345 into r346; mul r1[8] r344 into r347; ternary r346 r347 0field into r348; add r343 r348 into r349; mul r344 4field into r350; sub r3 1u8 into r351; lt 9u8 r351 into r352; mul r1[9] r350 into r353; ternary r352 r353 0field into r354; add r349 r354 into r355; mul r350 4field into r356; sub r3 1u8 into r357; lt 10u8 r357 into r358; mul r1[10] r356 into r359; ternary r358 r359 0field into r360; add r355 r360 into r361; mul r356 4field into r362; sub r3 1u8 into r363; lt 11u8 r363 into r364; mul r1[11] r362 into r365; ternary r364 r365 0field into r366; add r361 r366 into r367; mul r362 4field into r368; sub r3 1u8 into r369; lt 12u8 r369 into r370; mul r1[12] r368 into r371; ternary r370 r371 0field into r372; add r367 r372 into r373; mul r368 4field into r374; sub r3 1u8 into r375; lt 13u8 r375 into r376; mul r1[13] r374 into r377; ternary r376 r377 0field into r378; add r373 r378 into r379; cast r379 4field into r380 as Share; cast r2[3] r380 into r381 as ValidatorShareData; mul 1field 5field into r382; sub r3 1u8 into r383; lt 0u8 r383 into r384; mul r1[0] r382 into r385; ternary r384 r385 0field into r386; add r33 r386 into r387; mul r382 5field into r388; sub r3 1u8 into r389; lt 1u8 r389 into r390; mul r1[1] r388 into r391; ternary r390 r391 0field into r392; add r387 r392 into r393; mul r388 5field into r394; sub r3 1u8 into r395; lt 2u8 r395 into r396; mul r1[2] r394 into r397; ternary r396 r397 0field into r398; add r393 r398 into r399; mul r394 5field into r400; sub r3 1u8 into r401; lt 3u8 r401 into r402; mul r1[3] r400 into r403; ternary r402 r403 0field into r404; add r399 r404 into r405; mul r400 5field into r406; sub r3 1u8 into r407; lt 4u8 r407 into r408; mul r1[4] r406 into r409; ternary r408 r409 0field into r410; add r405 r410 into r411; mul r406 5field into r412; sub r3 1u8 into r413; lt 5u8 r413 into r414; mul r1[5] r412 into r415; ternary r414 r415 0field into r416; add r411 r416 into r417; mul r412 5field into r418; sub r3 1u8 into r419; lt 6u8 r419 into r420; mul r1[6] r418 into r421; ternary r420 r421 0field into r422; add r417 r422 into r423; mul r418 5field into r424; sub r3 1u8 into r425; lt 7u8 r425 into r426; mul r1[7] r424 into r427; ternary r426 r427 0field into r428; add r423 r428 into r429; mul r424 5field into r430; sub r3 1u8 into r431; lt 8u8 r431 into r432; mul r1[8] r430 into r433; ternary r432 r433 0field into r434; add r429 r434 into r435; mul r430 5field into r436; sub r3 1u8 into r437; lt 9u8 r437 into r438; mul r1[9] r436 into r439; ternary r438 r439 0field into r440; add r435 r440 into r441; mul r436 5field into r442; sub r3 1u8 into r443; lt 10u8 r443 into r444; mul r1[10] r442 into r445; ternary r444 r445 0field into r446; add r441 r446 into r447; mul r442 5field into r448; sub r3 1u8 into r449; lt 11u8 r449 into r450; mul r1[11] r448 into r451; ternary r450 r451 0field into r452; add r447 r452 into r453; mul r448 5field into r454; sub r3 1u8 into r455; lt 12u8 r455 into r456; mul r1[12] r454 into r457; ternary r456 r457 0field into r458; add r453 r458 into r459; mul r454 5field into r460; sub r3 1u8 into r461; lt 13u8 r461 into r462; mul r1[13] r460 into r463; ternary r462 r463 0field into r464; add r459 r464 into r465; cast r465 5field into r466 as Share; cast r2[4] r466 into r467 as ValidatorShareData; mul 1field 6field into r468; sub r3 1u8 into r469; lt 0u8 r469 into r470; mul r1[0] r468 into r471; ternary r470 r471 0field into r472; add r33 r472 into r473; mul r468 6field into r474; sub r3 1u8 into r475; lt 1u8 r475 into r476; mul r1[1] r474 into r477; ternary r476 r477 0field into r478; add r473 r478 into r479; mul r474 6field into r480; sub r3 1u8 into r481; lt 2u8 r481 into r482; mul r1[2] r480 into r483; ternary r482 r483 0field into r484; add r479 r484 into r485; mul r480 6field into r486; sub r3 1u8 into r487; lt 3u8 r487 into r488; mul r1[3] r486 into r489; ternary r488 r489 0field into r490; add r485 r490 into r491; mul r486 6field into r492; sub r3 1u8 into r493; lt 4u8 r493 into r494; mul r1[4] r492 into r495; ternary r494 r495 0field into r496; add r491 r496 into r497; mul r492 6field into r498; sub r3 1u8 into r499; lt 5u8 r499 into r500; mul r1[5] r498 into r501; ternary r500 r501 0field into r502; add r497 r502 into r503; mul r498 6field into r504; sub r3 1u8 into r505; lt 6u8 r505 into r506; mul r1[6] r504 into r507; ternary r506 r507 0field into r508; add r503 r508 into r509; mul r504 6field into r510; sub r3 1u8 into r511; lt 7u8 r511 into r512; mul r1[7] r510 into r513; ternary r512 r513 0field into r514; add r509 r514 into r515; mul r510 6field into r516; sub r3 1u8 into r517; lt 8u8 r517 into r518; mul r1[8] r516 into r519; ternary r518 r519 0field into r520; add r515 r520 into r521; mul r516 6field into r522; sub r3 1u8 into r523; lt 9u8 r523 into r524; mul r1[9] r522 into r525; ternary r524 r525 0field into r526; add r521 r526 into r527; mul r522 6field into r528; sub r3 1u8 into r529; lt 10u8 r529 into r530; mul r1[10] r528 into r531; ternary r530 r531 0field into r532; add r527 r532 into r533; mul r528 6field into r534; sub r3 1u8 into r535; lt 11u8 r535 into r536; mul r1[11] r534 into r537; ternary r536 r537 0field into r538; add r533 r538 into r539; mul r534 6field into r540; sub r3 1u8 into r541; lt 12u8 r541 into r542; mul r1[12] r540 into r543; ternary r542 r543 0field into r544; add r539 r544 into r545; mul r540 6field into r546; sub r3 1u8 into r547; lt 13u8 r547 into r548; mul r1[13] r546 into r549; ternary r548 r549 0field into r550; add r545 r550 into r551; cast r551 6field into r552 as Share; cast r2[5] r552 into r553 as ValidatorShareData; mul 1field 7field into r554; sub r3 1u8 into r555; lt 0u8 r555 into r556; mul r1[0] r554 into r557; ternary r556 r557 0field into r558; add r33 r558 into r559; mul r554 7field into r560; sub r3 1u8 into r561; lt 1u8 r561 into r562; mul r1[1] r560 into r563; ternary r562 r563 0field into r564; add r559 r564 into r565; mul r560 7field into r566; sub r3 1u8 into r567; lt 2u8 r567 into r568; mul r1[2] r566 into r569; ternary r568 r569 0field into r570; add r565 r570 into r571; mul r566 7field into r572; sub r3 1u8 into r573; lt 3u8 r573 into r574; mul r1[3] r572 into r575; ternary r574 r575 0field into r576; add r571 r576 into r577; mul r572 7field into r578; sub r3 1u8 into r579; lt 4u8 r579 into r580; mul r1[4] r578 into r581; ternary r580 r581 0field into r582; add r577 r582 into r583; mul r578 7field into r584; sub r3 1u8 into r585; lt 5u8 r585 into r586; mul r1[5] r584 into r587; ternary r586 r587 0field into r588; add r583 r588 into r589; mul r584 7field into r590; sub r3 1u8 into r591; lt 6u8 r591 into r592; mul r1[6] r590 into r593; ternary r592 r593 0field into r594; add r589 r594 into r595; mul r590 7field into r596; sub r3 1u8 into r597; lt 7u8 r597 into r598; mul r1[7] r596 into r599; ternary r598 r599 0field into r600; add r595 r600 into r601; mul r596 7field into r602; sub r3 1u8 into r603; lt 8u8 r603 into r604; mul r1[8] r602 into r605; ternary r604 r605 0field into r606; add r601 r606 into r607; mul r602 7field into r608; sub r3 1u8 into r609; lt 9u8 r609 into r610; mul r1[9] r608 into r611; ternary r610 r611 0field into r612; add r607 r612 into r613; mul r608 7field into r614; sub r3 1u8 into r615; lt 10u8 r615 into r616; mul r1[10] r614 into r617; ternary r616 r617 0field into r618; add r613 r618 into r619; mul r614 7field into r620; sub r3 1u8 into r621; lt 11u8 r621 into r622; mul r1[11] r620 into r623; ternary r622 r623 0field into r624; add r619 r624 into r625; mul r620 7field into r626; sub r3 1u8 into r627; lt 12u8 r627 into r628; mul r1[12] r626 into r629; ternary r628 r629 0field into r630; add r625 r630 into r631; mul r626 7field into r632; sub r3 1u8 into r633; lt 13u8 r633 into r634; mul r1[13] r632 into r635; ternary r634 r635 0field into r636; add r631 r636 into r637; cast r637 7field into r638 as Share; cast r2[6] r638 into r639 as ValidatorShareData; mul 1field 8field into r640; sub r3 1u8 into r641; lt 0u8 r641 into r642; mul r1[0] r640 into r643; ternary r642 r643 0field into r644; add r33 r644 into r645; mul r640 8field into r646; sub r3 1u8 into r647; lt 1u8 r647 into r648; mul r1[1] r646 into r649; ternary r648 r649 0field into r650; add r645 r650 into r651; mul r646 8field into r652; sub r3 1u8 into r653; lt 2u8 r653 into r654; mul r1[2] r652 into r655; ternary r654 r655 0field into r656; add r651 r656 into r657; mul r652 8field into r658; sub r3 1u8 into r659; lt 3u8 r659 into r660; mul r1[3] r658 into r661; ternary r660 r661 0field into r662; add r657 r662 into r663; mul r658 8field into r664; sub r3 1u8 into r665; lt 4u8 r665 into r666; mul r1[4] r664 into r667; ternary r666 r667 0field into r668; add r663 r668 into r669; mul r664 8field into r670; sub r3 1u8 into r671; lt 5u8 r671 into r672; mul r1[5] r670 into r673; ternary r672 r673 0field into r674; add r669 r674 into r675; mul r670 8field into r676; sub r3 1u8 into r677; lt 6u8 r677 into r678; mul r1[6] r676 into r679; ternary r678 r679 0field into r680; add r675 r680 into r681; mul r676 8field into r682; sub r3 1u8 into r683; lt 7u8 r683 into r684; mul r1[7] r682 into r685; ternary r684 r685 0field into r686; add r681 r686 into r687; mul r682 8field into r688; sub r3 1u8 into r689; lt 8u8 r689 into r690; mul r1[8] r688 into r691; ternary r690 r691 0field into r692; add r687 r692 into r693; mul r688 8field into r694; sub r3 1u8 into r695; lt 9u8 r695 into r696; mul r1[9] r694 into r697; ternary r696 r697 0field into r698; add r693 r698 into r699; mul r694 8field into r700; sub r3 1u8 into r701; lt 10u8 r701 into r702; mul r1[10] r700 into r703; ternary r702 r703 0field into r704; add r699 r704 into r705; mul r700 8field into r706; sub r3 1u8 into r707; lt 11u8 r707 into r708; mul r1[11] r706 into r709; ternary r708 r709 0field into r710; add r705 r710 into r711; mul r706 8field into r712; sub r3 1u8 into r713; lt 12u8 r713 into r714; mul r1[12] r712 into r715; ternary r714 r715 0field into r716; add r711 r716 into r717; mul r712 8field into r718; sub r3 1u8 into r719; lt 13u8 r719 into r720; mul r1[13] r718 into r721; ternary r720 r721 0field into r722; add r717 r722 into r723; cast r723 8field into r724 as Share; cast r2[7] r724 into r725 as ValidatorShareData; mul 1field 9field into r726; sub r3 1u8 into r727; lt 0u8 r727 into r728; mul r1[0] r726 into r729; ternary r728 r729 0field into r730; add r33 r730 into r731; mul r726 9field into r732; sub r3 1u8 into r733; lt 1u8 r733 into r734; mul r1[1] r732 into r735; ternary r734 r735 0field into r736; add r731 r736 into r737; mul r732 9field into r738; sub r3 1u8 into r739; lt 2u8 r739 into r740; mul r1[2] r738 into r741; ternary r740 r741 0field into r742; add r737 r742 into r743; mul r738 9field into r744; sub r3 1u8 into r745; lt 3u8 r745 into r746; mul r1[3] r744 into r747; ternary r746 r747 0field into r748; add r743 r748 into r749; mul r744 9field into r750; sub r3 1u8 into r751; lt 4u8 r751 into r752; mul r1[4] r750 into r753; ternary r752 r753 0field into r754; add r749 r754 into r755; mul r750 9field into r756; sub r3 1u8 into r757; lt 5u8 r757 into r758; mul r1[5] r756 into r759; ternary r758 r759 0field into r760; add r755 r760 into r761; mul r756 9field into r762; sub r3 1u8 into r763; lt 6u8 r763 into r764; mul r1[6] r762 into r765; ternary r764 r765 0field into r766; add r761 r766 into r767; mul r762 9field into r768; sub r3 1u8 into r769; lt 7u8 r769 into r770; mul r1[7] r768 into r771; ternary r770 r771 0field into r772; add r767 r772 into r773; mul r768 9field into r774; sub r3 1u8 into r775; lt 8u8 r775 into r776; mul r1[8] r774 into r777; ternary r776 r777 0field into r778; add r773 r778 into r779; mul r774 9field into r780; sub r3 1u8 into r781; lt 9u8 r781 into r782; mul r1[9] r780 into r783; ternary r782 r783 0field into r784; add r779 r784 into r785; mul r780 9field into r786; sub r3 1u8 into r787; lt 10u8 r787 into r788; mul r1[10] r786 into r789; ternary r788 r789 0field into r790; add r785 r790 into r791; mul r786 9field into r792; sub r3 1u8 into r793; lt 11u8 r793 into r794; mul r1[11] r792 into r795; ternary r794 r795 0field into r796; add r791 r796 into r797; mul r792 9field into r798; sub r3 1u8 into r799; lt 12u8 r799 into r800; mul r1[12] r798 into r801; ternary r800 r801 0field into r802; add r797 r802 into r803; mul r798 9field into r804; sub r3 1u8 into r805; lt 13u8 r805 into r806; mul r1[13] r804 into r807; ternary r806 r807 0field into r808; add r803 r808 into r809; cast r809 9field into r810 as Share; cast r2[8] r810 into r811 as ValidatorShareData; mul 1field 10field into r812; sub r3 1u8 into r813; lt 0u8 r813 into r814; mul r1[0] r812 into r815; ternary r814 r815 0field into r816; add r33 r816 into r817; mul r812 10field into r818; sub r3 1u8 into r819; lt 1u8 r819 into r820; mul r1[1] r818 into r821; ternary r820 r821 0field into r822; add r817 r822 into r823; mul r818 10field into r824; sub r3 1u8 into r825; lt 2u8 r825 into r826; mul r1[2] r824 into r827; ternary r826 r827 0field into r828; add r823 r828 into r829; mul r824 10field into r830; sub r3 1u8 into r831; lt 3u8 r831 into r832; mul r1[3] r830 into r833; ternary r832 r833 0field into r834; add r829 r834 into r835; mul r830 10field into r836; sub r3 1u8 into r837; lt 4u8 r837 into r838; mul r1[4] r836 into r839; ternary r838 r839 0field into r840; add r835 r840 into r841; mul r836 10field into r842; sub r3 1u8 into r843; lt 5u8 r843 into r844; mul r1[5] r842 into r845; ternary r844 r845 0field into r846; add r841 r846 into r847; mul r842 10field into r848; sub r3 1u8 into r849; lt 6u8 r849 into r850; mul r1[6] r848 into r851; ternary r850 r851 0field into r852; add r847 r852 into r853; mul r848 10field into r854; sub r3 1u8 into r855; lt 7u8 r855 into r856; mul r1[7] r854 into r857; ternary r856 r857 0field into r858; add r853 r858 into r859; mul r854 10field into r860; sub r3 1u8 into r861; lt 8u8 r861 into r862; mul r1[8] r860 into r863; ternary r862 r863 0field into r864; add r859 r864 into r865; mul r860 10field into r866; sub r3 1u8 into r867; lt 9u8 r867 into r868; mul r1[9] r866 into r869; ternary r868 r869 0field into r870; add r865 r870 into r871; mul r866 10field into r872; sub r3 1u8 into r873; lt 10u8 r873 into r874; mul r1[10] r872 into r875; ternary r874 r875 0field into r876; add r871 r876 into r877; mul r872 10field into r878; sub r3 1u8 into r879; lt 11u8 r879 into r880; mul r1[11] r878 into r881; ternary r880 r881 0field into r882; add r877 r882 into r883; mul r878 10field into r884; sub r3 1u8 into r885; lt 12u8 r885 into r886; mul r1[12] r884 into r887; ternary r886 r887 0field into r888; add r883 r888 into r889; mul r884 10field into r890; sub r3 1u8 into r891; lt 13u8 r891 into r892; mul r1[13] r890 into r893; ternary r892 r893 0field into r894; add r889 r894 into r895; cast r895 10field into r896 as Share; cast r2[9] r896 into r897 as ValidatorShareData; mul 1field 11field into r898; sub r3 1u8 into r899; lt 0u8 r899 into r900; mul r1[0] r898 into r901; ternary r900 r901 0field into r902; add r33 r902 into r903; mul r898 11field into r904; sub r3 1u8 into r905; lt 1u8 r905 into r906; mul r1[1] r904 into r907; ternary r906 r907 0field into r908; add r903 r908 into r909; mul r904 11field into r910; sub r3 1u8 into r911; lt 2u8 r911 into r912; mul r1[2] r910 into r913; ternary r912 r913 0field into r914; add r909 r914 into r915; mul r910 11field into r916; sub r3 1u8 into r917; lt 3u8 r917 into r918; mul r1[3] r916 into r919; ternary r918 r919 0field into r920; add r915 r920 into r921; mul r916 11field into r922; sub r3 1u8 into r923; lt 4u8 r923 into r924; mul r1[4] r922 into r925; ternary r924 r925 0field into r926; add r921 r926 into r927; mul r922 11field into r928; sub r3 1u8 into r929; lt 5u8 r929 into r930; mul r1[5] r928 into r931; ternary r930 r931 0field into r932; add r927 r932 into r933; mul r928 11field into r934; sub r3 1u8 into r935; lt 6u8 r935 into r936; mul r1[6] r934 into r937; ternary r936 r937 0field into r938; add r933 r938 into r939; mul r934 11field into r940; sub r3 1u8 into r941; lt 7u8 r941 into r942; mul r1[7] r940 into r943; ternary r942 r943 0field into r944; add r939 r944 into r945; mul r940 11field into r946; sub r3 1u8 into r947; lt 8u8 r947 into r948; mul r1[8] r946 into r949; ternary r948 r949 0field into r950; add r945 r950 into r951; mul r946 11field into r952; sub r3 1u8 into r953; lt 9u8 r953 into r954; mul r1[9] r952 into r955; ternary r954 r955 0field into r956; add r951 r956 into r957; mul r952 11field into r958; sub r3 1u8 into r959; lt 10u8 r959 into r960; mul r1[10] r958 into r961; ternary r960 r961 0field into r962; add r957 r962 into r963; mul r958 11field into r964; sub r3 1u8 into r965; lt 11u8 r965 into r966; mul r1[11] r964 into r967; ternary r966 r967 0field into r968; add r963 r968 into r969; mul r964 11field into r970; sub r3 1u8 into r971; lt 12u8 r971 into r972; mul r1[12] r970 into r973; ternary r972 r973 0field into r974; add r969 r974 into r975; mul r970 11field into r976; sub r3 1u8 into r977; lt 13u8 r977 into r978; mul r1[13] r976 into r979; ternary r978 r979 0field into r980; add r975 r980 into r981; cast r981 11field into r982 as Share; cast r2[10] r982 into r983 as ValidatorShareData; mul 1field 12field into r984; sub r3 1u8 into r985; lt 0u8 r985 into r986; mul r1[0] r984 into r987; ternary r986 r987 0field into r988; add r33 r988 into r989; mul r984 12field into r990; sub r3 1u8 into r991; lt 1u8 r991 into r992; mul r1[1] r990 into r993; ternary r992 r993 0field into r994; add r989 r994 into r995; mul r990 12field into r996; sub r3 1u8 into r997; lt 2u8 r997 into r998; mul r1[2] r996 into r999; ternary r998 r999 0field into r1000; add r995 r1000 into r1001; mul r996 12field into r1002; sub r3 1u8 into r1003; lt 3u8 r1003 into r1004; mul r1[3] r1002 into r1005; ternary r1004 r1005 0field into r1006; add r1001 r1006 into r1007; mul r1002 12field into r1008; sub r3 1u8 into r1009; lt 4u8 r1009 into r1010; mul r1[4] r1008 into r1011; ternary r1010 r1011 0field into r1012; add r1007 r1012 into r1013; mul r1008 12field into r1014; sub r3 1u8 into r1015; lt 5u8 r1015 into r1016; mul r1[5] r1014 into r1017; ternary r1016 r1017 0field into r1018; add r1013 r1018 into r1019; mul r1014 12field into r1020; sub r3 1u8 into r1021; lt 6u8 r1021 into r1022; mul r1[6] r1020 into r1023; ternary r1022 r1023 0field into r1024; add r1019 r1024 into r1025; mul r1020 12field into r1026; sub r3 1u8 into r1027; lt 7u8 r1027 into r1028; mul r1[7] r1026 into r1029; ternary r1028 r1029 0field into r1030; add r1025 r1030 into r1031; mul r1026 12field into r1032; sub r3 1u8 into r1033; lt 8u8 r1033 into r1034; mul r1[8] r1032 into r1035; ternary r1034 r1035 0field into r1036; add r1031 r1036 into r1037; mul r1032 12field into r1038; sub r3 1u8 into r1039; lt 9u8 r1039 into r1040; mul r1[9] r1038 into r1041; ternary r1040 r1041 0field into r1042; add r1037 r1042 into r1043; mul r1038 12field into r1044; sub r3 1u8 into r1045; lt 10u8 r1045 into r1046; mul r1[10] r1044 into r1047; ternary r1046 r1047 0field into r1048; add r1043 r1048 into r1049; mul r1044 12field into r1050; sub r3 1u8 into r1051; lt 11u8 r1051 into r1052; mul r1[11] r1050 into r1053; ternary r1052 r1053 0field into r1054; add r1049 r1054 into r1055; mul r1050 12field into r1056; sub r3 1u8 into r1057; lt 12u8 r1057 into r1058; mul r1[12] r1056 into r1059; ternary r1058 r1059 0field into r1060; add r1055 r1060 into r1061; mul r1056 12field into r1062; sub r3 1u8 into r1063; lt 13u8 r1063 into r1064; mul r1[13] r1062 into r1065; ternary r1064 r1065 0field into r1066; add r1061 r1066 into r1067; cast r1067 12field into r1068 as Share; cast r2[11] r1068 into r1069 as ValidatorShareData; mul 1field 13field into r1070; sub r3 1u8 into r1071; lt 0u8 r1071 into r1072; mul r1[0] r1070 into r1073; ternary r1072 r1073 0field into r1074; add r33 r1074 into r1075; mul r1070 13field into r1076; sub r3 1u8 into r1077; lt 1u8 r1077 into r1078; mul r1[1] r1076 into r1079; ternary r1078 r1079 0field into r1080; add r1075 r1080 into r1081; mul r1076 13field into r1082; sub r3 1u8 into r1083; lt 2u8 r1083 into r1084; mul r1[2] r1082 into r1085; ternary r1084 r1085 0field into r1086; add r1081 r1086 into r1087; mul r1082 13field into r1088; sub r3 1u8 into r1089; lt 3u8 r1089 into r1090; mul r1[3] r1088 into r1091; ternary r1090 r1091 0field into r1092; add r1087 r1092 into r1093; mul r1088 13field into r1094; sub r3 1u8 into r1095; lt 4u8 r1095 into r1096; mul r1[4] r1094 into r1097; ternary r1096 r1097 0field into r1098; add r1093 r1098 into r1099; mul r1094 13field into r1100; sub r3 1u8 into r1101; lt 5u8 r1101 into r1102; mul r1[5] r1100 into r1103; ternary r1102 r1103 0field into r1104; add r1099 r1104 into r1105; mul r1100 13field into r1106; sub r3 1u8 into r1107; lt 6u8 r1107 into r1108; mul r1[6] r1106 into r1109; ternary r1108 r1109 0field into r1110; add r1105 r1110 into r1111; mul r1106 13field into r1112; sub r3 1u8 into r1113; lt 7u8 r1113 into r1114; mul r1[7] r1112 into r1115; ternary r1114 r1115 0field into r1116; add r1111 r1116 into r1117; mul r1112 13field into r1118; sub r3 1u8 into r1119; lt 8u8 r1119 into r1120; mul r1[8] r1118 into r1121; ternary r1120 r1121 0field into r1122; add r1117 r1122 into r1123; mul r1118 13field into r1124; sub r3 1u8 into r1125; lt 9u8 r1125 into r1126; mul r1[9] r1124 into r1127; ternary r1126 r1127 0field into r1128; add r1123 r1128 into r1129; mul r1124 13field into r1130; sub r3 1u8 into r1131; lt 10u8 r1131 into r1132; mul r1[10] r1130 into r1133; ternary r1132 r1133 0field into r1134; add r1129 r1134 into r1135; mul r1130 13field into r1136; sub r3 1u8 into r1137; lt 11u8 r1137 into r1138; mul r1[11] r1136 into r1139; ternary r1138 r1139 0field into r1140; add r1135 r1140 into r1141; mul r1136 13field into r1142; sub r3 1u8 into r1143; lt 12u8 r1143 into r1144; mul r1[12] r1142 into r1145; ternary r1144 r1145 0field into r1146; add r1141 r1146 into r1147; mul r1142 13field into r1148; sub r3 1u8 into r1149; lt 13u8 r1149 into r1150; mul r1[13] r1148 into r1151; ternary r1150 r1151 0field into r1152; add r1147 r1152 into r1153; cast r1153 13field into r1154 as Share; cast r2[12] r1154 into r1155 as ValidatorShareData; mul 1field 14field into r1156; sub r3 1u8 into r1157; lt 0u8 r1157 into r1158; mul r1[0] r1156 into r1159; ternary r1158 r1159 0field into r1160; add r33 r1160 into r1161; mul r1156 14field into r1162; sub r3 1u8 into r1163; lt 1u8 r1163 into r1164; mul r1[1] r1162 into r1165; ternary r1164 r1165 0field into r1166; add r1161 r1166 into r1167; mul r1162 14field into r1168; sub r3 1u8 into r1169; lt 2u8 r1169 into r1170; mul r1[2] r1168 into r1171; ternary r1170 r1171 0field into r1172; add r1167 r1172 into r1173; mul r1168 14field into r1174; sub r3 1u8 into r1175; lt 3u8 r1175 into r1176; mul r1[3] r1174 into r1177; ternary r1176 r1177 0field into r1178; add r1173 r1178 into r1179; mul r1174 14field into r1180; sub r3 1u8 into r1181; lt 4u8 r1181 into r1182; mul r1[4] r1180 into r1183; ternary r1182 r1183 0field into r1184; add r1179 r1184 into r1185; mul r1180 14field into r1186; sub r3 1u8 into r1187; lt 5u8 r1187 into r1188; mul r1[5] r1186 into r1189; ternary r1188 r1189 0field into r1190; add r1185 r1190 into r1191; mul r1186 14field into r1192; sub r3 1u8 into r1193; lt 6u8 r1193 into r1194; mul r1[6] r1192 into r1195; ternary r1194 r1195 0field into r1196; add r1191 r1196 into r1197; mul r1192 14field into r1198; sub r3 1u8 into r1199; lt 7u8 r1199 into r1200; mul r1[7] r1198 into r1201; ternary r1200 r1201 0field into r1202; add r1197 r1202 into r1203; mul r1198 14field into r1204; sub r3 1u8 into r1205; lt 8u8 r1205 into r1206; mul r1[8] r1204 into r1207; ternary r1206 r1207 0field into r1208; add r1203 r1208 into r1209; mul r1204 14field into r1210; sub r3 1u8 into r1211; lt 9u8 r1211 into r1212; mul r1[9] r1210 into r1213; ternary r1212 r1213 0field into r1214; add r1209 r1214 into r1215; mul r1210 14field into r1216; sub r3 1u8 into r1217; lt 10u8 r1217 into r1218; mul r1[10] r1216 into r1219; ternary r1218 r1219 0field into r1220; add r1215 r1220 into r1221; mul r1216 14field into r1222; sub r3 1u8 into r1223; lt 11u8 r1223 into r1224; mul r1[11] r1222 into r1225; ternary r1224 r1225 0field into r1226; add r1221 r1226 into r1227; mul r1222 14field into r1228; sub r3 1u8 into r1229; lt 12u8 r1229 into r1230; mul r1[12] r1228 into r1231; ternary r1230 r1231 0field into r1232; add r1227 r1232 into r1233; mul r1228 14field into r1234; sub r3 1u8 into r1235; lt 13u8 r1235 into r1236; mul r1[13] r1234 into r1237; ternary r1236 r1237 0field into r1238; add r1233 r1238 into r1239; cast r1239 14field into r1240 as Share; cast r2[13] r1240 into r1241 as ValidatorShareData; mul 1field 15field into r1242; sub r3 1u8 into r1243; lt 0u8 r1243 into r1244; mul r1[0] r1242 into r1245; ternary r1244 r1245 0field into r1246; add r33 r1246 into r1247; mul r1242 15field into r1248; sub r3 1u8 into r1249; lt 1u8 r1249 into r1250; mul r1[1] r1248 into r1251; ternary r1250 r1251 0field into r1252; add r1247 r1252 into r1253; mul r1248 15field into r1254; sub r3 1u8 into r1255; lt 2u8 r1255 into r1256; mul r1[2] r1254 into r1257; ternary r1256 r1257 0field into r1258; add r1253 r1258 into r1259; mul r1254 15field into r1260; sub r3 1u8 into r1261; lt 3u8 r1261 into r1262; mul r1[3] r1260 into r1263; ternary r1262 r1263 0field into r1264; add r1259 r1264 into r1265; mul r1260 15field into r1266; sub r3 1u8 into r1267; lt 4u8 r1267 into r1268; mul r1[4] r1266 into r1269; ternary r1268 r1269 0field into r1270; add r1265 r1270 into r1271; mul r1266 15field into r1272; sub r3 1u8 into r1273; lt 5u8 r1273 into r1274; mul r1[5] r1272 into r1275; ternary r1274 r1275 0field into r1276; add r1271 r1276 into r1277; mul r1272 15field into r1278; sub r3 1u8 into r1279; lt 6u8 r1279 into r1280; mul r1[6] r1278 into r1281; ternary r1280 r1281 0field into r1282; add r1277 r1282 into r1283; mul r1278 15field into r1284; sub r3 1u8 into r1285; lt 7u8 r1285 into r1286; mul r1[7] r1284 into r1287; ternary r1286 r1287 0field into r1288; add r1283 r1288 into r1289; mul r1284 15field into r1290; sub r3 1u8 into r1291; lt 8u8 r1291 into r1292; mul r1[8] r1290 into r1293; ternary r1292 r1293 0field into r1294; add r1289 r1294 into r1295; mul r1290 15field into r1296; sub r3 1u8 into r1297; lt 9u8 r1297 into r1298; mul r1[9] r1296 into r1299; ternary r1298 r1299 0field into r1300; add r1295 r1300 into r1301; mul r1296 15field into r1302; sub r3 1u8 into r1303; lt 10u8 r1303 into r1304; mul r1[10] r1302 into r1305; ternary r1304 r1305 0field into r1306; add r1301 r1306 into r1307; mul r1302 15field into r1308; sub r3 1u8 into r1309; lt 11u8 r1309 into r1310; mul r1[11] r1308 into r1311; ternary r1310 r1311 0field into r1312; add r1307 r1312 into r1313; mul r1308 15field into r1314; sub r3 1u8 into r1315; lt 12u8 r1315 into r1316; mul r1[12] r1314 into r1317; ternary r1316 r1317 0field into r1318; add r1313 r1318 into r1319; mul r1314 15field into r1320; sub r3 1u8 into r1321; lt 13u8 r1321 into r1322; mul r1[13] r1320 into r1323; ternary r1322 r1323 0field into r1324; add r1319 r1324 into r1325; cast r1325 15field into r1326 as Share; cast r2[14] r1326 into r1327 as ValidatorShareData; mul 1field 16field into r1328; sub r3 1u8 into r1329; lt 0u8 r1329 into r1330; mul r1[0] r1328 into r1331; ternary r1330 r1331 0field into r1332; add r33 r1332 into r1333; mul r1328 16field into r1334; sub r3 1u8 into r1335; lt 1u8 r1335 into r1336; mul r1[1] r1334 into r1337; ternary r1336 r1337 0field into r1338; add r1333 r1338 into r1339; mul r1334 16field into r1340; sub r3 1u8 into r1341; lt 2u8 r1341 into r1342; mul r1[2] r1340 into r1343; ternary r1342 r1343 0field into r1344; add r1339 r1344 into r1345; mul r1340 16field into r1346; sub r3 1u8 into r1347; lt 3u8 r1347 into r1348; mul r1[3] r1346 into r1349; ternary r1348 r1349 0field into r1350; add r1345 r1350 into r1351; mul r1346 16field into r1352; sub r3 1u8 into r1353; lt 4u8 r1353 into r1354; mul r1[4] r1352 into r1355; ternary r1354 r1355 0field into r1356; add r1351 r1356 into r1357; mul r1352 16field into r1358; sub r3 1u8 into r1359; lt 5u8 r1359 into r1360; mul r1[5] r1358 into r1361; ternary r1360 r1361 0field into r1362; add r1357 r1362 into r1363; mul r1358 16field into r1364; sub r3 1u8 into r1365; lt 6u8 r1365 into r1366; mul r1[6] r1364 into r1367; ternary r1366 r1367 0field into r1368; add r1363 r1368 into r1369; mul r1364 16field into r1370; sub r3 1u8 into r1371; lt 7u8 r1371 into r1372; mul r1[7] r1370 into r1373; ternary r1372 r1373 0field into r1374; add r1369 r1374 into r1375; mul r1370 16field into r1376; sub r3 1u8 into r1377; lt 8u8 r1377 into r1378; mul r1[8] r1376 into r1379; ternary r1378 r1379 0field into r1380; add r1375 r1380 into r1381; mul r1376 16field into r1382; sub r3 1u8 into r1383; lt 9u8 r1383 into r1384; mul r1[9] r1382 into r1385; ternary r1384 r1385 0field into r1386; add r1381 r1386 into r1387; mul r1382 16field into r1388; sub r3 1u8 into r1389; lt 10u8 r1389 into r1390; mul r1[10] r1388 into r1391; ternary r1390 r1391 0field into r1392; add r1387 r1392 into r1393; mul r1388 16field into r1394; sub r3 1u8 into r1395; lt 11u8 r1395 into r1396; mul r1[11] r1394 into r1397; ternary r1396 r1397 0field into r1398; add r1393 r1398 into r1399; mul r1394 16field into r1400; sub r3 1u8 into r1401; lt 12u8 r1401 into r1402; mul r1[12] r1400 into r1403; ternary r1402 r1403 0field into r1404; add r1399 r1404 into r1405; mul r1400 16field into r1406; sub r3 1u8 into r1407; lt 13u8 r1407 into r1408; mul r1[13] r1406 into r1409; ternary r1408 r1409 0field into r1410; add r1405 r1410 into r1411; cast r1411 16field into r1412 as Share; cast r2[15] r1412 into r1413 as ValidatorShareData; cast r123 r209 r295 r381 r467 r553 r639 r725 r811 r897 r983 r1069 r1155 r1241 r1327 r1413 into r1414 as [ValidatorShareData; 16u32]; call protocol_transfers.aleo/submit_shares_to_validators r1414 r36 into r1415 r1416 r1417 r1418 r1419 r1420 r1421 r1422 r1423 r1424 r1425 r1426 r1427 r1428 r1429 r1430; call protocol_core.aleo/custody_data_as_program r37 r2 into r1431; async custody_data_as_program r1431 into r1432; output r1432 as secret_custody_protocol.aleo/custody_data_as_program.future; finalize custody_data_as_program: input r0 as protocol_core.aleo/custody_data_as_program.future; await r0; function request_data_as_program: input r0 as address.private; input r1 as address.private; input r2 as u8.private; input r3 as [address; 16u32].public; input r4 as u64.public; input r5 as credits.aleo/credits.record; assert.neq self.caller self.signer; cast self.caller r0 r2 into r6 as Custody; hash.bhp256 r6 into r7 as field; cast r3[0] r3[1] r3[2] r3[3] r3[4] r3[5] r3[6] r3[7] r3[8] r3[9] r3[10] r3[11] r3[12] r3[13] r3[14] r3[15] into r8 as [address; 16u32]; call protocol_transfers.aleo/submit_requests_to_validators r8 r7 r1 into r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24; cast r2 into r25 as u64; mul r25 r4 into r26; call credits.aleo/transfer_private_to_public r5 secret_custody_protocol.aleo r26 into r27 r28; call protocol_core.aleo/request_data_as_program r7 r3 r4 into r29; async request_data_as_program r29 r28 into r30; output r27 as credits.aleo/credits.record; output r30 as secret_custody_protocol.aleo/request_data_as_program.future; finalize request_data_as_program: input r0 as protocol_core.aleo/request_data_as_program.future; input r1 as credits.aleo/transfer_private_to_public.future; await r0; await r1; function assert_completed_as_program: input r0 as address.private; input r1 as u8.public; assert.neq self.caller self.signer; cast self.caller r0 r1 into r2 as Custody; hash.bhp256 r2 into r3 as field; async assert_completed_as_program r3 r1 into r4; output r4 as secret_custody_protocol.aleo/assert_completed_as_program.future; finalize assert_completed_as_program: input r0 as field.public; input r1 as u8.public; get protocol_core.aleo/custodies[r0] into r2; gte r2.submitted_shares r1 into r3; assert.eq r3 true;
Block height | Timestamp | Transition ID | Function call | State |
Program has no mappings.