DoubleUp package::blackjack bytecode | tide- Move path
- 0x5e2f…06ff::blackjack
- Functions
- 4321 public, 2 entry
- Structs
- 10
- Friend modules
- None
blackjack
The on-chain disassembly. Offsets are bytecode positions within each function.
1// Move bytecode v6
2module 5e2f4359b5c0311954f502c4e1e12a845e85152b67e033ca6f8590b5781606ff.blackjack {
3use 0000000000000000000000000000000000000000000000000000000000000001::bcs;
4use 0000000000000000000000000000000000000000000000000000000000000001::option;
5use 0000000000000000000000000000000000000000000000000000000000000001::string;
6use 0000000000000000000000000000000000000000000000000000000000000001::vector;
7use 0000000000000000000000000000000000000000000000000000000000000002::balance;
8use 0000000000000000000000000000000000000000000000000000000000000002::coin;
9use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_object_field;
10use 0000000000000000000000000000000000000000000000000000000000000002::event;
11use 0000000000000000000000000000000000000000000000000000000000000002::object;
12
use 0000000000000000000000000000000000000000000000000000000000000002::random;
13use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
14use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
15use 0000000000000000000000000000000000000000000000000000000000000002::vec_set;
16use 2f2226a22ebeb7a0e63ea39551829b238589d981d1c6dd454f01fcc513035593::game_structs;
17use 2f2226a22ebeb7a0e63ea39551829b238589d981d1c6dd454f01fcc513035593::unihouse;
19struct NewGame<phantom Ty0> has copy, drop {
26struct MoveRequested has copy, drop {
29 current_player_hand_sum: u8,
33struct MoveCompleted has copy, drop {
36 player_hands: vector<Hand>,
37 dealer_cards: vector<u8>
40struct Blackjack has copy, drop {
44struct AdminCap has key {
48struct BlackjackConfig has key {
50 version_set: VecSet<u64>
53struct Hand has copy, drop, store {
58 is_natural_blackjack: bool,
64struct Game<phantom Ty0> has drop, store {
67 current_deck: vector<u8>,
68 dealer_cards: vector<u8>,
75struct BlackjackTable<phantom Ty0> has store, key {
78 balance: Balance<Ty0>,
79 current_game: Option<Game<Ty0>>,
83struct BlackjackTag<phantom Ty0> has copy, drop, store {
87public admin_claim_funds<Ty0>(Arg0: &mut BlackjackConfig, Arg1: &AdminCap, Arg2: address, Arg3: &mut TxContext) {
88L4: loc0: &mut BlackjackTable<Ty0>
910MoveLoc[0](Arg0: &mut BlackjackConfig)
921MoveLoc[2](Arg2: address)
932Call borrow_mut_blackjack_table<Ty0>(&mut BlackjackConfig, address): &mut BlackjackTable<Ty0>
943StLoc[4](loc0: &mut BlackjackTable<Ty0>)
954CopyLoc[4](loc0: &mut BlackjackTable<Ty0>)
965ImmBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
976Call balance::value<Ty0>(&Balance<Ty0>): u64
998MoveLoc[4](loc0: &mut BlackjackTable<Ty0>)
1009MutBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
10110MoveLoc[5](loc1: u64)
10211Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
10312CopyLoc[3](Arg3: &mut TxContext)
10413Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
10514MoveLoc[3](Arg3: &mut TxContext)
10716Call tx_context::sender(&TxContext): address
10817Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
112public dealer_cards<Ty0>(Arg0: &Game<Ty0>): vector<u8> {
1140MoveLoc[0](Arg0: &Game<Ty0>)
1151ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
120public bet_size<Ty0>(Arg0: &Game<Ty0>): u64 {
1220MoveLoc[0](Arg0: &Game<Ty0>)
1231ImmBorrowFieldGeneric[2](Game.bet_size: u64)
128public player_hands<Ty0>(Arg0: &Game<Ty0>): vector<Hand> {
1300MoveLoc[0](Arg0: &Game<Ty0>)
1311ImmBorrowFieldGeneric[3](Game.hands: vector<Hand>)
136public player_hands_mut<Ty0>(Arg0: &mut Game<Ty0>): &mut vector<Hand> {
1380MoveLoc[0](Arg0: &mut Game<Ty0>)
1391MutBorrowFieldGeneric[3](Game.hands: vector<Hand>)
143public current_deck<Ty0>(Arg0: &Game<Ty0>): vector<u8> {
1450MoveLoc[0](Arg0: &Game<Ty0>)
1461ImmBorrowFieldGeneric[4](Game.current_deck: vector<u8>)
151public hand_status(Arg0: &Hand): u64 {
1530MoveLoc[0](Arg0: &Hand)
1541ImmBorrowField[5](Hand.status: u64)
159public hand_bet_size(Arg0: &Hand): u64 {
1610MoveLoc[0](Arg0: &Hand)
1621ImmBorrowField[6](Hand.bet_size: u64)
167public hand_bet_returned(Arg0: &Hand): u64 {
1690MoveLoc[0](Arg0: &Hand)
1701ImmBorrowField[7](Hand.bet_returned: u64)
175public player_cards(Arg0: &Hand): vector<u8> {
1770MoveLoc[0](Arg0: &Hand)
1781ImmBorrowField[8](Hand.cards: vector<u8>)
183public add_version(Arg0: &mut BlackjackConfig, Arg1: &AdminCap, Arg2: u64) {
1850MoveLoc[0](Arg0: &mut BlackjackConfig)
1861MutBorrowField[9](BlackjackConfig.version_set: VecSet<u64>)
1872MoveLoc[2](Arg2: u64)
1883Call vec_set::insert<u64>(&mut VecSet<u64>, u64)
192public remove_version(Arg0: &mut BlackjackConfig, Arg1: &AdminCap, Arg2: u64) {
1940MoveLoc[0](Arg0: &mut BlackjackConfig)
1951MutBorrowField[9](BlackjackConfig.version_set: VecSet<u64>)
1962ImmBorrowLoc[2](Arg2: u64)
1973Call vec_set::remove<u64>(&mut VecSet<u64>, &u64)
201init(Arg0: &mut TxContext) {
2040CopyLoc[0](Arg0: &mut TxContext)
2062Call tx_context::sender(&TxContext): address
2073StLoc[1](loc0: address)
2084CopyLoc[0](Arg0: &mut TxContext)
2095Call object::new(&mut TxContext): UID
2117MoveLoc[1](loc0: address)
2128Call transfer::transfer<AdminCap>(AdminCap, address)
2139MoveLoc[0](Arg0: &mut TxContext)
21410Call object::new(&mut TxContext): UID
21612Call vec_set::singleton<u64>(u64): VecSet<u64>
21713Pack[5](BlackjackConfig)
21814Call transfer::share_object<BlackjackConfig>(BlackjackConfig)
222entry init_game<Ty0>(Arg0: &mut Unihouse, Arg1: &mut BlackjackConfig, Arg2: &Random, Arg3: Coin<Ty0>, Arg4: String, Arg5: &mut TxContext) {
224L7: loc1: &mut BlackjackTable<Ty0>
227L10: loc4: RandomGenerator
228L11: loc5: Balance<Ty0>
2310CopyLoc[0](Arg0: &mut Unihouse)
2332Call unihouse::house_exists<Ty0>(&Unihouse): bool
2385MoveLoc[0](Arg0: &mut Unihouse)
2407MoveLoc[2](Arg2: &Random)
2429MoveLoc[5](Arg5: &mut TxContext)
24411MoveLoc[1](Arg1: &mut BlackjackConfig)
24915CopyLoc[1](Arg1: &mut BlackjackConfig)
25117Call assert_valid_version(&BlackjackConfig)
25218CopyLoc[2](Arg2: &Random)
25319CopyLoc[5](Arg5: &mut TxContext)
25420Call unihouse::random_compute(&Random, &mut TxContext)
25521ImmBorrowLoc[3](Arg3: Coin<Ty0>)
25622Call coin::value<Ty0>(&Coin<Ty0>): u64
25824CopyLoc[6](loc0: u64)
26329StLoc[12](loc6: u64)
26430MoveLoc[0](Arg0: &mut Unihouse)
26733CopyLoc[12](loc6: u64)
26834CopyLoc[5](Arg5: &mut TxContext)
27036Call unihouse::assert_within_risk<Ty0, Blackjack>(&mut Unihouse, Blackjack, u64, &TxContext)
27137CopyLoc[5](Arg5: &mut TxContext)
27339Call tx_context::sender(&TxContext): address
27440StLoc[8](loc2: address)
27541CopyLoc[1](Arg1: &mut BlackjackConfig)
27743CopyLoc[8](loc2: address)
27844Call table_exists<Ty0>(&BlackjackConfig, address): bool
28247CopyLoc[1](Arg1: &mut BlackjackConfig)
28348CopyLoc[5](Arg5: &mut TxContext)
28449Call create_blackjack_table<Ty0>(&mut BlackjackConfig, &mut TxContext): ID
28751MoveLoc[1](Arg1: &mut BlackjackConfig)
28852CopyLoc[8](loc2: address)
28953Call borrow_mut_blackjack_table<Ty0>(&mut BlackjackConfig, address): &mut BlackjackTable<Ty0>
29054StLoc[7](loc1: &mut BlackjackTable<Ty0>)
29155CopyLoc[7](loc1: &mut BlackjackTable<Ty0>)
29256ImmBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
29357Call option::is_none<Game<Ty0>>(&Option<Game<Ty0>>): bool
29860MoveLoc[2](Arg2: &Random)
30062MoveLoc[5](Arg5: &mut TxContext)
30264MoveLoc[7](loc1: &mut BlackjackTable<Ty0>)
30768CopyLoc[7](loc1: &mut BlackjackTable<Ty0>)
30869ImmBorrowFieldGeneric[6](BlackjackTable.round_number: u64)
31273CopyLoc[7](loc1: &mut BlackjackTable<Ty0>)
31374MutBorrowFieldGeneric[6](BlackjackTable.round_number: u64)
31576MoveLoc[3](Arg3: Coin<Ty0>)
31677Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
31778StLoc[11](loc5: Balance<Ty0>)
31879CopyLoc[7](loc1: &mut BlackjackTable<Ty0>)
31980MutBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
32081MoveLoc[11](loc5: Balance<Ty0>)
32182Call balance::join<Ty0>(&mut Balance<Ty0>, Balance<Ty0>): u64
32384CopyLoc[6](loc0: u64)
32485MoveLoc[12](loc6: u64)
32586MoveLoc[4](Arg4: String)
32687CopyLoc[5](Arg5: &mut TxContext)
32889Call setup_game<Ty0>(u64, u64, String, &TxContext): Game<Ty0>
32990StLoc[9](loc3: Game<Ty0>)
33091CopyLoc[7](loc1: &mut BlackjackTable<Ty0>)
33293Call object::id<BlackjackTable<Ty0>>(&BlackjackTable<Ty0>): ID
33394CopyLoc[7](loc1: &mut BlackjackTable<Ty0>)
33495ImmBorrowFieldGeneric[6](BlackjackTable.round_number: u64)
33697MoveLoc[8](loc2: address)
33798MoveLoc[6](loc0: u64)
33899PackGeneric[0](NewGame<Ty0>)
339100Call event::emit<NewGame<Ty0>>(NewGame<Ty0>)
340101MoveLoc[2](Arg2: &Random)
341102MoveLoc[5](Arg5: &mut TxContext)
342103Call random::new_generator(&Random, &mut TxContext): RandomGenerator
343104StLoc[10](loc4: RandomGenerator)
344105MutBorrowLoc[10](loc4: RandomGenerator)
345106MutBorrowLoc[9](loc3: Game<Ty0>)
346107MutBorrowFieldGeneric[4](Game.current_deck: vector<u8>)
347108Call random::shuffle<u8>(&mut RandomGenerator, &mut vector<u8>)
348109MoveLoc[9](loc3: Game<Ty0>)
349110Call option::some<Game<Ty0>>(Game<Ty0>): Option<Game<Ty0>>
350111MoveLoc[7](loc1: &mut BlackjackTable<Ty0>)
351112MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
356setup_game<Ty0>(Arg0: u64, Arg1: u64, Arg2: String, Arg3: &TxContext): Game<Ty0> {
3610LdConst[28](vector<u8>: "" /..)
3621StLoc[5](loc1: vector<u8>)
37611CopyLoc[4](loc0: u8)
38316MutBorrowLoc[5](loc1: vector<u8>)
38417CopyLoc[4](loc0: u8)
38619MoveLoc[4](loc0: u8)
39224MoveLoc[6](loc2: u8)
39829MoveLoc[0](Arg0: u64)
39930MoveLoc[1](Arg1: u64)
40031MoveLoc[5](loc1: vector<u8>)
40132LdConst[28](vector<u8>: "" /..)
40233MoveLoc[3](Arg3: &TxContext)
40334Call tx_context::epoch(&TxContext): u64
40637MoveLoc[2](Arg2: String)
40738PackGeneric[1](Game<Ty0>)
411first_deal<Ty0>(Arg0: &mut BlackjackTable<Ty0>, Arg1: &mut TxContext) {
415L5: loc3: &mut Game<Ty0>
418L8: loc6: &mut Game<Ty0>
4200CopyLoc[0](Arg0: &mut BlackjackTable<Ty0>)
4211MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
4222Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
4233StLoc[5](loc3: &mut Game<Ty0>)
4244CopyLoc[5](loc3: &mut Game<Ty0>)
4255MutBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
4266CopyLoc[5](loc3: &mut Game<Ty0>)
4277MutBorrowFieldGeneric[4](Game.current_deck: vector<u8>)
4299Call deal_cards(&mut vector<u8>, &mut vector<u8>, u8)
43010LdConst[28](vector<u8>: "" /..)
43111LdConst[5](u64: 100)
43313CopyLoc[5](loc3: &mut Game<Ty0>)
43414ImmBorrowFieldGeneric[2](Game.bet_size: u64)
44121StLoc[7](loc5: Hand)
44222CopyLoc[5](loc3: &mut Game<Ty0>)
44323Call player_hands_mut<Ty0>(&mut Game<Ty0>): &mut vector<Hand>
44424MoveLoc[7](loc5: Hand)
44626CopyLoc[5](loc3: &mut Game<Ty0>)
44828LdConst[5](u64: 100)
44929CopyLoc[1](Arg1: &mut TxContext)
45030Call hit<Ty0>(&mut Game<Ty0>, u64, u64, &mut TxContext)
45131MoveLoc[5](loc3: &mut Game<Ty0>)
45333LdConst[5](u64: 100)
45434CopyLoc[1](Arg1: &mut TxContext)
45535Call hit<Ty0>(&mut Game<Ty0>, u64, u64, &mut TxContext)
45636MoveLoc[0](Arg0: &mut BlackjackTable<Ty0>)
45737MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
45838Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
45939StLoc[8](loc6: &mut Game<Ty0>)
46040CopyLoc[8](loc6: &mut Game<Ty0>)
46141MutBorrowFieldGeneric[3](Game.hands: vector<Hand>)
46444StLoc[6](loc4: &mut Hand)
46545CopyLoc[6](loc4: &mut Hand)
46747Call player_cards(&Hand): vector<u8>
46848StLoc[2](loc0: vector<u8>)
46949ImmBorrowLoc[2](loc0: vector<u8>)
47050Call get_card_sum(&vector<u8>): u8
47554CopyLoc[6](loc4: &mut Hand)
47756Call bcs::to_bytes<Hand>(&Hand): vector<u8>
47857CopyLoc[1](Arg1: &mut TxContext)
47958Call unihouse::create_and_transfer_gas_obj(vector<u8>, &mut TxContext)
48160CopyLoc[6](loc4: &mut Hand)
48261MutBorrowField[12](Hand.is_natural_blackjack: bool)
48463CopyLoc[8](loc6: &mut Game<Ty0>)
48564ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
48766StLoc[4](loc2: vector<u8>)
48867ImmBorrowLoc[4](loc2: vector<u8>)
48968Call contains_aces(&vector<u8>): bool
49371StLoc[3](loc1: bool)
49673ImmBorrowLoc[4](loc2: vector<u8>)
49774Call contains_tens(&vector<u8>): bool
49875StLoc[3](loc1: bool)
50076MoveLoc[3](loc1: bool)
50378MoveLoc[1](Arg1: &mut TxContext)
50580CopyLoc[8](loc6: &mut Game<Ty0>)
50681MutBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
50782CopyLoc[8](loc6: &mut Game<Ty0>)
50883MutBorrowFieldGeneric[4](Game.current_deck: vector<u8>)
51085Call deal_cards(&mut vector<u8>, &mut vector<u8>, u8)
51387CopyLoc[6](loc4: &mut Hand)
51589Call bcs::to_bytes<Hand>(&Hand): vector<u8>
51690MoveLoc[1](Arg1: &mut TxContext)
51791Call unihouse::create_and_transfer_gas_obj(vector<u8>, &mut TxContext)
51992MoveLoc[6](loc4: &mut Hand)
52093MoveLoc[8](loc6: &mut Game<Ty0>)
52194ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
52295Call tally_hand(&mut Hand, &vector<u8>)
52597MoveLoc[6](loc4: &mut Hand)
52799MoveLoc[1](Arg1: &mut TxContext)
529101CopyLoc[8](loc6: &mut Game<Ty0>)
530102ImmBorrowFieldGeneric[2](Game.bet_size: u64)
532104MoveLoc[8](loc6: &mut Game<Ty0>)
533105MutBorrowFieldGeneric[7](Game.risk: u64)
539public create_blackjack_table<Ty0>(Arg0: &mut BlackjackConfig, Arg1: &mut TxContext): ID {
540L2: loc0: BlackjackTable<Ty0>
542L4: loc2: BlackjackTag<Ty0>
5460CopyLoc[0](Arg0: &mut BlackjackConfig)
5482Call assert_valid_version(&BlackjackConfig)
5493CopyLoc[1](Arg1: &mut TxContext)
5515Call tx_context::sender(&TxContext): address
5526StLoc[3](loc1: address)
5537CopyLoc[0](Arg0: &mut BlackjackConfig)
5559CopyLoc[3](loc1: address)
55610Call table_exists<Ty0>(&BlackjackConfig, address): bool
56214MoveLoc[1](Arg1: &mut TxContext)
56416MoveLoc[0](Arg0: &mut BlackjackConfig)
56920MoveLoc[1](Arg1: &mut TxContext)
57021Call object::new(&mut TxContext): UID
57223ImmBorrowLoc[5](loc3: UID)
57324Call object::uid_to_inner(&UID): ID
57526MoveLoc[5](loc3: UID)
57627CopyLoc[3](loc1: address)
57728Call balance::zero<Ty0>(): Balance<Ty0>
57829Call option::none<Game<Ty0>>(): Option<Game<Ty0>>
58031PackGeneric[2](BlackjackTable<Ty0>)
58132StLoc[2](loc0: BlackjackTable<Ty0>)
58233MoveLoc[3](loc1: address)
58334PackGeneric[3](BlackjackTag<Ty0>)
58435StLoc[4](loc2: BlackjackTag<Ty0>)
58536MoveLoc[0](Arg0: &mut BlackjackConfig)
58637MutBorrowField[14](BlackjackConfig.id: UID)
58738MoveLoc[4](loc2: BlackjackTag<Ty0>)
58839MoveLoc[2](loc0: BlackjackTable<Ty0>)
58940Call dynamic_object_field::add<BlackjackTag<Ty0>, BlackjackTable<Ty0>>(&mut UID, BlackjackTag<Ty0>, BlackjackTable<Ty0>)
59041MoveLoc[6](loc4: ID)
594dealer_move<Ty0>(Arg0: &mut Unihouse, Arg1: &mut BlackjackTable<Ty0>, Arg2: &mut TxContext) {
602L10: loc7: &mut vector<u64>
604L12: loc9: &mut vector<u64>
606L14: loc11: vector<Hand>
607L15: loc12: vector<Hand>
608L16: loc13: vector<Hand>
609L17: loc14: BlackjackHand
610L18: loc15: &mut vector<BlackjackHand>
615L23: loc20: vector<u8>
621L29: loc26: vector<BlackjackHand>
623L31: loc28: &mut Game<Ty0>
624L32: loc29: vector<u64>
625L33: loc30: vector<u64>
628L36: loc33: vector<Hand>
638L46: loc43: vector<BlackjackHand>
639L47: loc44: vector<u64>
640L48: loc45: vector<u64>
652L60: loc57: &mut Game<Ty0>
653L61: loc58: &mut Game<Ty0>
654L62: loc59: &mut Game<Ty0>
655L63: loc60: &vector<Hand>
656L64: loc61: &vector<Hand>
657L65: loc62: &vector<Hand>
658L66: loc63: &vector<Hand>
659L67: loc64: &vector<Hand>
660L68: loc65: &vector<Hand>
661L69: loc66: vector<u64>
662L70: loc67: vector<u64>
663L71: loc68: vector<u64>
664L72: loc69: vector<u64>
6690CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
6701MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
6712Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
6723StLoc[31](loc28: &mut Game<Ty0>)
6734CopyLoc[31](loc28: &mut Game<Ty0>)
6745ImmBorrowFieldGeneric[8](Game.status: u64)
6767StLoc[21](loc18: u64)
6778CopyLoc[31](loc28: &mut Game<Ty0>)
6789ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
68414CopyLoc[21](loc18: u64)
68515LdConst[6](u64: 101)
69019StLoc[8](loc5: bool)
69321CopyLoc[21](loc18: u64)
69422LdConst[7](u64: 102)
69926StLoc[8](loc5: bool)
70228CopyLoc[21](loc18: u64)
70329LdConst[10](u64: 105)
70833StLoc[8](loc5: bool)
71135CopyLoc[21](loc18: u64)
71236LdConst[9](u64: 104)
71740StLoc[8](loc5: bool)
72042CopyLoc[21](loc18: u64)
72143LdConst[8](u64: 103)
72345StLoc[8](loc5: bool)
72546MoveLoc[8](loc5: bool)
73049MoveLoc[0](Arg0: &mut Unihouse)
73251MoveLoc[31](loc28: &mut Game<Ty0>)
73453MoveLoc[2](Arg2: &mut TxContext)
73655MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
74159CopyLoc[21](loc18: u64)
74864MoveLoc[0](Arg0: &mut Unihouse)
75066MoveLoc[31](loc28: &mut Game<Ty0>)
75268MoveLoc[2](Arg2: &mut TxContext)
75470MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
75974CopyLoc[0](Arg0: &mut Unihouse)
76277CopyLoc[31](loc28: &mut Game<Ty0>)
76378ImmBorrowFieldGeneric[7](Game.risk: u64)
76580CopyLoc[2](Arg2: &mut TxContext)
76782Call unihouse::assert_within_risk<Ty0, Blackjack>(&mut Unihouse, Blackjack, u64, &TxContext)
76883CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
76984ImmBorrowFieldGeneric[9](BlackjackTable.id: UID)
77085Call object::uid_to_inner(&UID): ID
77186StLoc[57](loc54: ID)
77287CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
77388ImmBorrowFieldGeneric[6](BlackjackTable.round_number: u64)
77590StLoc[49](loc46: u64)
77691CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
77792ImmBorrowFieldGeneric[10](BlackjackTable.creator: address)
77994StLoc[22](loc19: address)
78095CopyLoc[31](loc28: &mut Game<Ty0>)
78297Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
78398StLoc[14](loc11: vector<Hand>)
78499ImmBorrowLoc[14](loc11: vector<Hand>)
790104CopyLoc[31](loc28: &mut Game<Ty0>)
791105ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
795109StLoc[13](loc10: bool)
799112StLoc[13](loc10: bool)
801113MoveLoc[13](loc10: bool)
804115MoveLoc[31](loc28: &mut Game<Ty0>)
806117MoveLoc[21](loc18: u64)
813122MoveLoc[0](Arg0: &mut Unihouse)
815124MoveLoc[2](Arg2: &mut TxContext)
817126MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
819128LdConst[24](u64: 14)
822130CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
823131CopyLoc[2](Arg2: &mut TxContext)
824132Call first_deal<Ty0>(&mut BlackjackTable<Ty0>, &mut TxContext)
825133CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
826134MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
827135Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
828136StLoc[60](loc57: &mut Game<Ty0>)
829137LdConst[5](u64: 100)
830138CopyLoc[60](loc57: &mut Game<Ty0>)
831139MutBorrowFieldGeneric[8](Game.status: u64)
833141CopyLoc[57](loc54: ID)
834142CopyLoc[49](loc46: u64)
835143CopyLoc[60](loc57: &mut Game<Ty0>)
837145Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
838146MoveLoc[60](loc57: &mut Game<Ty0>)
840148Call dealer_cards<Ty0>(&Game<Ty0>): vector<u8>
841149Pack[2](MoveCompleted)
842150Call event::emit<MoveCompleted>(MoveCompleted)
845152CopyLoc[31](loc28: &mut Game<Ty0>)
847154Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
848155StLoc[15](loc12: vector<Hand>)
849156ImmBorrowLoc[15](loc12: vector<Hand>)
850157Call get_current_hand_and_status(&vector<Hand>): u64 * u64
851158StLoc[35](loc32: u64)
852159StLoc[34](loc31: u64)
853160CopyLoc[34](loc31: u64)
854161LdConst[12](u64: 200)
858164CopyLoc[35](loc32: u64)
859165LdConst[6](u64: 101)
863168MoveLoc[21](loc18: u64)
864169LdConst[6](u64: 101)
870173MoveLoc[0](Arg0: &mut Unihouse)
872175MoveLoc[31](loc28: &mut Game<Ty0>)
874177MoveLoc[2](Arg2: &mut TxContext)
876179MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
878181LdConst[25](u64: 15)
881183MoveLoc[31](loc28: &mut Game<Ty0>)
882184MoveLoc[34](loc31: u64)
883185LdConst[5](u64: 100)
884186CopyLoc[2](Arg2: &mut TxContext)
885187Call hit<Ty0>(&mut Game<Ty0>, u64, u64, &mut TxContext)
888189CopyLoc[35](loc32: u64)
889190LdConst[8](u64: 103)
893193MoveLoc[21](loc18: u64)
894194LdConst[8](u64: 103)
900198MoveLoc[0](Arg0: &mut Unihouse)
902200MoveLoc[31](loc28: &mut Game<Ty0>)
904202MoveLoc[2](Arg2: &mut TxContext)
906204MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
908206LdConst[26](u64: 16)
911208MoveLoc[31](loc28: &mut Game<Ty0>)
912209MoveLoc[34](loc31: u64)
913210LdConst[8](u64: 103)
914211CopyLoc[2](Arg2: &mut TxContext)
915212Call hit<Ty0>(&mut Game<Ty0>, u64, u64, &mut TxContext)
918214MoveLoc[35](loc32: u64)
919215LdConst[9](u64: 104)
923218MoveLoc[21](loc18: u64)
924219LdConst[9](u64: 104)
930223MoveLoc[0](Arg0: &mut Unihouse)
932225MoveLoc[31](loc28: &mut Game<Ty0>)
934227MoveLoc[2](Arg2: &mut TxContext)
936229MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
938231LdConst[27](u64: 17)
941233MoveLoc[31](loc28: &mut Game<Ty0>)
942234MoveLoc[34](loc31: u64)
943235Call split<Ty0>(&mut Game<Ty0>, u64)
946237MoveLoc[31](loc28: &mut Game<Ty0>)
950240MoveLoc[31](loc28: &mut Game<Ty0>)
953242CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
954243MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
955244Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
956245StLoc[61](loc58: &mut Game<Ty0>)
957246LdConst[5](u64: 100)
958247CopyLoc[61](loc58: &mut Game<Ty0>)
959248MutBorrowFieldGeneric[8](Game.status: u64)
961250CopyLoc[57](loc54: ID)
962251CopyLoc[49](loc46: u64)
963252CopyLoc[61](loc58: &mut Game<Ty0>)
965254Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
966255MoveLoc[61](loc58: &mut Game<Ty0>)
968257Call dealer_cards<Ty0>(&Game<Ty0>): vector<u8>
969258Pack[2](MoveCompleted)
970259Call event::emit<MoveCompleted>(MoveCompleted)
972260CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
973261ImmBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
974262Call option::borrow<Game<Ty0>>(&Option<Game<Ty0>>): &Game<Ty0>
975263Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
976264StLoc[16](loc13: vector<Hand>)
977265ImmBorrowLoc[16](loc13: vector<Hand>)
978266Call get_current_hand_and_status(&vector<Hand>): u64 * u64
980268LdConst[12](u64: 200)
984271CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
985272CopyLoc[2](Arg2: &mut TxContext)
986273Call dealer_turn<Ty0>(&mut BlackjackTable<Ty0>, &mut TxContext)
987274CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
988275MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
989276Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
990277StLoc[62](loc59: &mut Game<Ty0>)
991278CopyLoc[62](loc59: &mut Game<Ty0>)
992279ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
993280Call get_card_sum(&vector<u8>): u8
998284MoveLoc[62](loc59: &mut Game<Ty0>)
999285Call settle_all_hands<Ty0>(&mut Game<Ty0>)
1002287MoveLoc[62](loc59: &mut Game<Ty0>)
1005289CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
1006290MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
1007291Call option::extract<Game<Ty0>>(&mut Option<Game<Ty0>>): Game<Ty0>
1008292StLoc[30](loc27: Game<Ty0>)
1009293ImmBorrowLoc[30](loc27: Game<Ty0>)
1010294Call assert_all_hands_settled<Ty0>(&Game<Ty0>)
1011295MoveLoc[30](loc27: Game<Ty0>)
1012296UnpackGeneric[1](Game<Ty0>)
1013297StLoc[45](loc42: String)
1015299StLoc[36](loc33: vector<Hand>)
1017301StLoc[23](loc20: vector<u8>)
1021305ImmBorrowLoc[36](loc33: vector<Hand>)
1022306StLoc[63](loc60: &vector<Hand>)
1024308StLoc[46](loc43: vector<BlackjackHand>)
1025309MoveLoc[63](loc60: &vector<Hand>)
1026310StLoc[67](loc64: &vector<Hand>)
1027311CopyLoc[67](loc64: &vector<Hand>)
1029313StLoc[6](loc3: u64)
1031315StLoc[44](loc41: u64)
1032316MoveLoc[6](loc3: u64)
1033317StLoc[54](loc51: u64)
1035318CopyLoc[44](loc41: u64)
1036319CopyLoc[54](loc51: u64)
1040322CopyLoc[44](loc41: u64)
1041323StLoc[37](loc34: u64)
1042324CopyLoc[67](loc64: &vector<Hand>)
1043325MoveLoc[37](loc34: u64)
1045327StLoc[24](loc21: &Hand)
1046328MutBorrowLoc[46](loc43: vector<BlackjackHand>)
1047329StLoc[18](loc15: &mut vector<BlackjackHand>)
1048330MoveLoc[24](loc21: &Hand)
1049331StLoc[73](loc70: &Hand)
1050332CopyLoc[0](Arg0: &mut Unihouse)
1051333MoveLoc[73](loc70: &Hand)
1053335Call create_blackjack_hands_to_emit<Ty0>(&mut Unihouse, Hand): BlackjackHand
1054336StLoc[17](loc14: BlackjackHand)
1055337MoveLoc[18](loc15: &mut vector<BlackjackHand>)
1056338MoveLoc[17](loc14: BlackjackHand)
1058340MoveLoc[44](loc41: u64)
1061343StLoc[44](loc41: u64)
1064345MoveLoc[67](loc64: &vector<Hand>)
1066347MoveLoc[46](loc43: vector<BlackjackHand>)
1067348StLoc[29](loc26: vector<BlackjackHand>)
1068349ImmBorrowLoc[36](loc33: vector<Hand>)
1069350StLoc[64](loc61: &vector<Hand>)
1070351LdConst[29](vector<u64>: 00)
1071352StLoc[47](loc44: vector<u64>)
1072353MoveLoc[64](loc61: &vector<Hand>)
1073354StLoc[65](loc62: &vector<Hand>)
1074355CopyLoc[65](loc62: &vector<Hand>)
1076357StLoc[3](loc0: u64)
1078359StLoc[38](loc35: u64)
1079360MoveLoc[3](loc0: u64)
1080361StLoc[50](loc47: u64)
1082362CopyLoc[38](loc35: u64)
1083363CopyLoc[50](loc47: u64)
1087366CopyLoc[38](loc35: u64)
1088367StLoc[39](loc36: u64)
1089368CopyLoc[65](loc62: &vector<Hand>)
1090369MoveLoc[39](loc36: u64)
1092371StLoc[25](loc22: &Hand)
1093372MutBorrowLoc[47](loc44: vector<u64>)
1094373StLoc[10](loc7: &mut vector<u64>)
1095374MoveLoc[25](loc22: &Hand)
1096375Call hand_bet_size(&Hand): u64
1097376StLoc[9](loc6: u64)
1098377MoveLoc[10](loc7: &mut vector<u64>)
1099378MoveLoc[9](loc6: u64)
1101380MoveLoc[38](loc35: u64)
1104383StLoc[38](loc35: u64)
1107385MoveLoc[65](loc62: &vector<Hand>)
1109387MoveLoc[47](loc44: vector<u64>)
1110388StLoc[33](loc30: vector<u64>)
1111389ImmBorrowLoc[36](loc33: vector<Hand>)
1112390StLoc[66](loc63: &vector<Hand>)
1113391LdConst[29](vector<u64>: 00)
1114392StLoc[48](loc45: vector<u64>)
1115393MoveLoc[66](loc63: &vector<Hand>)
1116394StLoc[68](loc65: &vector<Hand>)
1117395CopyLoc[68](loc65: &vector<Hand>)
1119397StLoc[4](loc1: u64)
1121399StLoc[40](loc37: u64)
1122400MoveLoc[4](loc1: u64)
1123401StLoc[51](loc48: u64)
1125402CopyLoc[40](loc37: u64)
1126403CopyLoc[51](loc48: u64)
1130406CopyLoc[40](loc37: u64)
1131407StLoc[41](loc38: u64)
1132408CopyLoc[68](loc65: &vector<Hand>)
1133409MoveLoc[41](loc38: u64)
1135411StLoc[26](loc23: &Hand)
1136412MutBorrowLoc[48](loc45: vector<u64>)
1137413StLoc[12](loc9: &mut vector<u64>)
1138414MoveLoc[26](loc23: &Hand)
1139415Call hand_bet_returned(&Hand): u64
1140416StLoc[11](loc8: u64)
1141417MoveLoc[12](loc9: &mut vector<u64>)
1142418MoveLoc[11](loc8: u64)
1144420MoveLoc[40](loc37: u64)
1147423StLoc[40](loc37: u64)
1150425MoveLoc[68](loc65: &vector<Hand>)
1152427MoveLoc[48](loc45: vector<u64>)
1153428StLoc[32](loc29: vector<u64>)
1154429MoveLoc[33](loc30: vector<u64>)
1155430StLoc[69](loc66: vector<u64>)
1157432StLoc[19](loc16: u64)
1158433MoveLoc[69](loc66: vector<u64>)
1159434StLoc[70](loc67: vector<u64>)
1160435MutBorrowLoc[70](loc67: vector<u64>)
1161436Call vector::reverse<u64>(&mut vector<u64>)
1162437ImmBorrowLoc[70](loc67: vector<u64>)
1164439StLoc[5](loc2: u64)
1166441StLoc[42](loc39: u64)
1167442MoveLoc[5](loc2: u64)
1168443StLoc[52](loc49: u64)
1170444CopyLoc[42](loc39: u64)
1171445CopyLoc[52](loc49: u64)
1175448CopyLoc[42](loc39: u64)
1177450MutBorrowLoc[70](loc67: vector<u64>)
1179452StLoc[27](loc24: u64)
1180453MoveLoc[19](loc16: u64)
1181454StLoc[55](loc52: u64)
1182455MoveLoc[27](loc24: u64)
1183456StLoc[74](loc71: u64)
1184457MoveLoc[55](loc52: u64)
1185458MoveLoc[74](loc71: u64)
1187460StLoc[19](loc16: u64)
1188461MoveLoc[42](loc39: u64)
1191464StLoc[42](loc39: u64)
1194466MoveLoc[70](loc67: vector<u64>)
1196468MoveLoc[19](loc16: u64)
1197469StLoc[59](loc56: u64)
1198470MoveLoc[32](loc29: vector<u64>)
1199471StLoc[71](loc68: vector<u64>)
1201473StLoc[20](loc17: u64)
1202474MoveLoc[71](loc68: vector<u64>)
1203475StLoc[72](loc69: vector<u64>)
1204476MutBorrowLoc[72](loc69: vector<u64>)
1205477Call vector::reverse<u64>(&mut vector<u64>)
1206478ImmBorrowLoc[72](loc69: vector<u64>)
1208480StLoc[7](loc4: u64)
1210482StLoc[43](loc40: u64)
1211483MoveLoc[7](loc4: u64)
1212484StLoc[53](loc50: u64)
1214485CopyLoc[43](loc40: u64)
1215486CopyLoc[53](loc50: u64)
1219489CopyLoc[43](loc40: u64)
1221491MutBorrowLoc[72](loc69: vector<u64>)
1223493StLoc[28](loc25: u64)
1224494MoveLoc[20](loc17: u64)
1225495StLoc[56](loc53: u64)
1226496MoveLoc[28](loc25: u64)
1227497StLoc[75](loc72: u64)
1228498MoveLoc[56](loc53: u64)
1229499MoveLoc[75](loc72: u64)
1231501StLoc[20](loc17: u64)
1232502MoveLoc[43](loc40: u64)
1235505StLoc[43](loc40: u64)
1238507MoveLoc[72](loc69: vector<u64>)
1240509MoveLoc[20](loc17: u64)
1241510StLoc[58](loc55: u64)
1242511CopyLoc[0](Arg0: &mut Unihouse)
1243512MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
1244513CopyLoc[59](loc56: u64)
1245514CopyLoc[58](loc55: u64)
1246515MoveLoc[2](Arg2: &mut TxContext)
1247516Call payout<Ty0>(&mut Unihouse, &mut BlackjackTable<Ty0>, u64, u64, &mut TxContext)
1248517MoveLoc[0](Arg0: &mut Unihouse)
1249518MoveLoc[57](loc54: ID)
1250519MoveLoc[49](loc46: u64)
1251520MoveLoc[59](loc56: u64)
1252521MoveLoc[58](loc55: u64)
1253522MoveLoc[29](loc26: vector<BlackjackHand>)
1254523MoveLoc[23](loc20: vector<u8>)
1255524MoveLoc[22](loc19: address)
1256525MoveLoc[45](loc42: String)
1257526Call unihouse::emit_blackjack_game_result<Ty0, Blackjack>(&mut Unihouse, ID, u64, u64, u64, vector<BlackjackHand>, vector<u8>, address, String)
1260528MoveLoc[0](Arg0: &mut Unihouse)
1262530MoveLoc[2](Arg2: &mut TxContext)
1264532MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
1270dealer_turn<Ty0>(Arg0: &mut BlackjackTable<Ty0>, Arg1: &mut TxContext) {
1274L5: loc3: &vector<u8>
1275L6: loc4: &mut Game<Ty0>
12790MoveLoc[0](Arg0: &mut BlackjackTable<Ty0>)
12801MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
12812Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
12823StLoc[6](loc4: &mut Game<Ty0>)
12834CopyLoc[6](loc4: &mut Game<Ty0>)
12845ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
12856Call get_card_sum(&vector<u8>): u8
12888CopyLoc[6](loc4: &mut Game<Ty0>)
12899ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
129010CopyLoc[4](loc2: u8)
129111Call is_soft_17(&vector<u8>, u8): bool
129715StLoc[2](loc0: bool)
130017CopyLoc[4](loc2: u8)
130320StLoc[2](loc0: bool)
130521MoveLoc[2](loc0: bool)
130823CopyLoc[6](loc4: &mut Game<Ty0>)
130924MutBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
131025CopyLoc[6](loc4: &mut Game<Ty0>)
131126MutBorrowFieldGeneric[4](Game.current_deck: vector<u8>)
131328Call deal_cards(&mut vector<u8>, &mut vector<u8>, u8)
131429CopyLoc[6](loc4: &mut Game<Ty0>)
131530ImmBorrowFieldGeneric[1](Game.dealer_cards: vector<u8>)
131631Call get_card_sum(&vector<u8>): u8
132034MoveLoc[4](loc2: u8)
132538CopyLoc[6](loc4: &mut Game<Ty0>)
132740Call bcs::to_bytes<Game<Ty0>>(&Game<Ty0>): vector<u8>
132841MoveLoc[1](Arg1: &mut TxContext)
132942Call unihouse::create_and_transfer_gas_obj(vector<u8>, &mut TxContext)
133144StLoc[8](loc6: u64)
133245CopyLoc[6](loc4: &mut Game<Ty0>)
133447Call dealer_cards<Ty0>(&Game<Ty0>): vector<u8>
133548StLoc[3](loc1: vector<u8>)
133649ImmBorrowLoc[3](loc1: vector<u8>)
133750StLoc[5](loc3: &vector<u8>)
133951CopyLoc[8](loc6: u64)
134052CopyLoc[6](loc4: &mut Game<Ty0>)
134153ImmBorrowFieldGeneric[3](Game.hands: vector<Hand>)
134858CopyLoc[6](loc4: &mut Game<Ty0>)
134959MutBorrowFieldGeneric[3](Game.hands: vector<Hand>)
135060CopyLoc[8](loc6: u64)
135262StLoc[7](loc5: &mut Hand)
135363CopyLoc[7](loc5: &mut Hand)
135464ImmBorrowField[18](Hand.is_settled: bool)
135968MoveLoc[7](loc5: &mut Hand)
136069CopyLoc[5](loc3: &vector<u8>)
136170Call tally_hand(&mut Hand, &vector<u8>)
136472MoveLoc[7](loc5: &mut Hand)
136774MoveLoc[8](loc6: u64)
137077StLoc[8](loc6: u64)
137379MoveLoc[6](loc4: &mut Game<Ty0>)
137581MoveLoc[5](loc3: &vector<u8>)
137984MoveLoc[6](loc4: &mut Game<Ty0>)
138186MoveLoc[1](Arg1: &mut TxContext)
1387entry player_move_request<Ty0>(Arg0: &mut Unihouse, Arg1: &mut BlackjackConfig, Arg2: &Random, Arg3: Coin<Ty0>, Arg4: u64, Arg5: &mut TxContext) {
1389L7: loc1: vector<Hand>
1391L9: loc3: vector<Hand>
1392L10: loc4: vector<u8>
1393L11: loc5: vector<u8>
1398L16: loc10: &mut BlackjackTable<Ty0>
1403L21: loc15: vector<u8>
1404L22: loc16: &mut Game<Ty0>
1405L23: loc17: RandomGenerator
1409L27: loc21: vector<Hand>
1411L29: loc23: &mut Hand
14130CopyLoc[4](Arg4: u64)
14141LdConst[6](u64: 101)
14195StLoc[6](loc0: bool)
14227CopyLoc[4](Arg4: u64)
14238LdConst[7](u64: 102)
142812StLoc[6](loc0: bool)
143114CopyLoc[4](Arg4: u64)
143215LdConst[10](u64: 105)
143719StLoc[6](loc0: bool)
144021CopyLoc[4](Arg4: u64)
144122LdConst[9](u64: 104)
144626StLoc[6](loc0: bool)
144928CopyLoc[4](Arg4: u64)
145029LdConst[8](u64: 103)
145231StLoc[6](loc0: bool)
145432MoveLoc[6](loc0: bool)
145935MoveLoc[0](Arg0: &mut Unihouse)
146137MoveLoc[2](Arg2: &Random)
146339MoveLoc[5](Arg5: &mut TxContext)
146541MoveLoc[1](Arg1: &mut BlackjackConfig)
147045CopyLoc[0](Arg0: &mut Unihouse)
147247Call unihouse::house_exists<Ty0>(&Unihouse): bool
147750MoveLoc[0](Arg0: &mut Unihouse)
147952MoveLoc[2](Arg2: &Random)
148154MoveLoc[5](Arg5: &mut TxContext)
148356MoveLoc[1](Arg1: &mut BlackjackConfig)
148558LdConst[18](u64: 7)
148860CopyLoc[1](Arg1: &mut BlackjackConfig)
149062Call assert_valid_version(&BlackjackConfig)
149163MoveLoc[1](Arg1: &mut BlackjackConfig)
149264CopyLoc[5](Arg5: &mut TxContext)
149466Call tx_context::sender(&TxContext): address
149567Call borrow_mut_blackjack_table<Ty0>(&mut BlackjackConfig, address): &mut BlackjackTable<Ty0>
149668StLoc[16](loc10: &mut BlackjackTable<Ty0>)
149769CopyLoc[16](loc10: &mut BlackjackTable<Ty0>)
149870MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
149971Call option::borrow_mut<Game<Ty0>>(&mut Option<Game<Ty0>>): &mut Game<Ty0>
150072StLoc[22](loc16: &mut Game<Ty0>)
150173CopyLoc[22](loc16: &mut Game<Ty0>)
150375Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
150476StLoc[7](loc1: vector<Hand>)
150577ImmBorrowLoc[7](loc1: vector<Hand>)
150678Call get_current_hand_and_status(&vector<Hand>): u64 * u64
150779StLoc[26](loc20: u64)
150880StLoc[25](loc19: u64)
150981CopyLoc[25](loc19: u64)
151082LdConst[12](u64: 200)
151686MoveLoc[0](Arg0: &mut Unihouse)
151888MoveLoc[2](Arg2: &Random)
152090MoveLoc[22](loc16: &mut Game<Ty0>)
152292MoveLoc[5](Arg5: &mut TxContext)
152494MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
152696LdConst[15](u64: 3)
152998MoveLoc[26](loc20: u64)
153099LdConst[5](u64: 100)
1536103MoveLoc[0](Arg0: &mut Unihouse)
1538105MoveLoc[2](Arg2: &Random)
1540107MoveLoc[22](loc16: &mut Game<Ty0>)
1542109MoveLoc[5](Arg5: &mut TxContext)
1544111MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1546113LdConst[14](u64: 2)
1549115CopyLoc[22](loc16: &mut Game<Ty0>)
1551117Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
1552118StLoc[27](loc21: vector<Hand>)
1553119ImmBorrowLoc[27](loc21: vector<Hand>)
1554120CopyLoc[25](loc19: u64)
1556122StLoc[24](loc18: &Hand)
1557123CopyLoc[4](Arg4: u64)
1558124LdConst[9](u64: 104)
1563128StLoc[8](loc2: bool)
1566130CopyLoc[4](Arg4: u64)
1567131LdConst[8](u64: 103)
1569133StLoc[8](loc2: bool)
1571134MoveLoc[8](loc2: bool)
1574136ImmBorrowLoc[3](Arg3: Coin<Ty0>)
1575137Call coin::value<Ty0>(&Coin<Ty0>): u64
1576138CopyLoc[24](loc18: &Hand)
1577139ImmBorrowField[6](Hand.bet_size: u64)
1584144MoveLoc[0](Arg0: &mut Unihouse)
1586146MoveLoc[2](Arg2: &Random)
1588148MoveLoc[24](loc18: &Hand)
1590150MoveLoc[22](loc16: &mut Game<Ty0>)
1592152MoveLoc[5](Arg5: &mut TxContext)
1594154MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1596156LdConst[1](u64: 4)
1599158CopyLoc[16](loc10: &mut BlackjackTable<Ty0>)
1600159MutBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
1601160MoveLoc[3](Arg3: Coin<Ty0>)
1602161Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
1603162Call balance::join<Ty0>(&mut Balance<Ty0>, Balance<Ty0>): u64
1607165MoveLoc[3](Arg3: Coin<Ty0>)
1608166Call coin::destroy_zero<Ty0>(Coin<Ty0>)
1610167CopyLoc[4](Arg4: u64)
1611168LdConst[10](u64: 105)
1615171MoveLoc[2](Arg2: &Random)
1617173ImmBorrowLoc[27](loc21: vector<Hand>)
1625179MoveLoc[0](Arg0: &mut Unihouse)
1627181MoveLoc[24](loc18: &Hand)
1629183MoveLoc[22](loc16: &mut Game<Ty0>)
1631185MoveLoc[5](Arg5: &mut TxContext)
1633187MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1635189LdConst[23](u64: 13)
1638191MoveLoc[24](loc18: &Hand)
1639192ImmBorrowField[8](Hand.cards: vector<u8>)
1647198MoveLoc[0](Arg0: &mut Unihouse)
1649200MoveLoc[22](loc16: &mut Game<Ty0>)
1651202MoveLoc[5](Arg5: &mut TxContext)
1653204MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1655206LdConst[23](u64: 13)
1658208MoveLoc[22](loc16: &mut Game<Ty0>)
1660210Call dealer_cards<Ty0>(&Game<Ty0>): vector<u8>
1661211StLoc[21](loc15: vector<u8>)
1662212ImmBorrowLoc[21](loc15: vector<u8>)
1670218MoveLoc[0](Arg0: &mut Unihouse)
1672220MoveLoc[5](Arg5: &mut TxContext)
1674222MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1676224LdConst[23](u64: 13)
1679226ImmBorrowLoc[21](loc15: vector<u8>)
1680227Call contains_aces(&vector<u8>): bool
1686231MoveLoc[0](Arg0: &mut Unihouse)
1688233MoveLoc[5](Arg5: &mut TxContext)
1690235MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1692237LdConst[23](u64: 13)
1695239MoveLoc[0](Arg0: &mut Unihouse)
1696240MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1697241MoveLoc[5](Arg5: &mut TxContext)
1698242Call surrender<Ty0>(&mut Unihouse, &mut BlackjackTable<Ty0>, &mut TxContext)
1701244CopyLoc[4](Arg4: u64)
1702245LdConst[9](u64: 104)
1706248CopyLoc[22](loc16: &mut Game<Ty0>)
1708250Call player_hands<Ty0>(&Game<Ty0>): vector<Hand>
1709251StLoc[9](loc3: vector<Hand>)
1710252ImmBorrowLoc[9](loc3: vector<Hand>)
1712254LdConst[1](u64: 4)
1718258MoveLoc[0](Arg0: &mut Unihouse)
1720260MoveLoc[2](Arg2: &Random)
1722262MoveLoc[24](loc18: &Hand)
1724264MoveLoc[22](loc16: &mut Game<Ty0>)
1726266MoveLoc[5](Arg5: &mut TxContext)
1728268MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1730270LdConst[13](u64: 1)
1733272CopyLoc[24](loc18: &Hand)
1734273ImmBorrowField[8](Hand.cards: vector<u8>)
1742279MoveLoc[0](Arg0: &mut Unihouse)
1744281MoveLoc[2](Arg2: &Random)
1746283MoveLoc[24](loc18: &Hand)
1748285MoveLoc[22](loc16: &mut Game<Ty0>)
1750287MoveLoc[5](Arg5: &mut TxContext)
1752289MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1754291LdConst[16](u64: 5)
1757293CopyLoc[24](loc18: &Hand)
1758294ImmBorrowField[8](Hand.cards: vector<u8>)
1761297StLoc[17](loc11: &u8)
1762298CopyLoc[24](loc18: &Hand)
1763299ImmBorrowField[8](Hand.cards: vector<u8>)
1766302StLoc[19](loc13: &u8)
1767303MoveLoc[17](loc11: &u8)
1770306StLoc[10](loc4: vector<u8>)
1771307ImmBorrowLoc[10](loc4: vector<u8>)
1772308Call get_card_sum(&vector<u8>): u8
1773309StLoc[18](loc12: u8)
1774310MoveLoc[19](loc13: &u8)
1777313StLoc[11](loc5: vector<u8>)
1778314ImmBorrowLoc[11](loc5: vector<u8>)
1779315Call get_card_sum(&vector<u8>): u8
1780316StLoc[20](loc14: u8)
1781317MoveLoc[18](loc12: u8)
1782318MoveLoc[20](loc14: u8)
1788322MoveLoc[0](Arg0: &mut Unihouse)
1790324MoveLoc[2](Arg2: &Random)
1792326MoveLoc[24](loc18: &Hand)
1794328MoveLoc[22](loc16: &mut Game<Ty0>)
1796330MoveLoc[5](Arg5: &mut TxContext)
1798332MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1800334LdConst[16](u64: 5)
1803336CopyLoc[4](Arg4: u64)
1804337LdConst[8](u64: 103)
1808340CopyLoc[24](loc18: &Hand)
1809341ImmBorrowField[8](Hand.cards: vector<u8>)
1817347MoveLoc[0](Arg0: &mut Unihouse)
1819349MoveLoc[2](Arg2: &Random)
1821351MoveLoc[24](loc18: &Hand)
1823353MoveLoc[22](loc16: &mut Game<Ty0>)
1825355MoveLoc[5](Arg5: &mut TxContext)
1827357MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1829359LdConst[17](u64: 6)
1832361CopyLoc[4](Arg4: u64)
1833362LdConst[9](u64: 104)
1838366StLoc[12](loc6: bool)
1841368CopyLoc[4](Arg4: u64)
1842369LdConst[8](u64: 103)
1844371StLoc[12](loc6: bool)
1846372MoveLoc[12](loc6: bool)
1849374CopyLoc[24](loc18: &Hand)
1850375ImmBorrowField[8](Hand.cards: vector<u8>)
1851376Call contains_aces(&vector<u8>): bool
1855379StLoc[13](loc7: bool)
1858381CopyLoc[24](loc18: &Hand)
1859382ImmBorrowField[8](Hand.cards: vector<u8>)
1860383Call contains_tens(&vector<u8>): bool
1861384StLoc[13](loc7: bool)
1863385MoveLoc[13](loc7: bool)
1864386StLoc[28](loc22: bool)
1865387CopyLoc[24](loc18: &Hand)
1866388ImmBorrowField[6](Hand.bet_size: u64)
1868390StLoc[15](loc9: u64)
1869391MoveLoc[28](loc22: bool)
1872393MoveLoc[15](loc9: u64)
1877398StLoc[14](loc8: u64)
1880400MoveLoc[15](loc9: u64)
1881401StLoc[14](loc8: u64)
1883402CopyLoc[22](loc16: &mut Game<Ty0>)
1884403ImmBorrowFieldGeneric[7](Game.risk: u64)
1886405MoveLoc[14](loc8: u64)
1888407CopyLoc[22](loc16: &mut Game<Ty0>)
1889408MutBorrowFieldGeneric[7](Game.risk: u64)
1891410MoveLoc[0](Arg0: &mut Unihouse)
1893412Pack[3](Blackjack)
1894413CopyLoc[22](loc16: &mut Game<Ty0>)
1895414ImmBorrowFieldGeneric[7](Game.risk: u64)
1897416CopyLoc[5](Arg5: &mut TxContext)
1899418Call unihouse::assert_within_risk<Ty0, Blackjack>(&mut Unihouse, Blackjack, u64, &TxContext)
1902420MoveLoc[0](Arg0: &mut Unihouse)
1905422CopyLoc[16](loc10: &mut BlackjackTable<Ty0>)
1906423ImmBorrowFieldGeneric[9](BlackjackTable.id: UID)
1907424Call object::uid_to_inner(&UID): ID
1908425MoveLoc[16](loc10: &mut BlackjackTable<Ty0>)
1909426ImmBorrowFieldGeneric[6](BlackjackTable.round_number: u64)
1911428MoveLoc[24](loc18: &Hand)
1912429ImmBorrowField[19](Hand.current_sum: u8)
1914431CopyLoc[4](Arg4: u64)
1915432Pack[1](MoveRequested)
1916433Call event::emit<MoveRequested>(MoveRequested)
1917434MoveLoc[2](Arg2: &Random)
1918435MoveLoc[5](Arg5: &mut TxContext)
1919436Call random::new_generator(&Random, &mut TxContext): RandomGenerator
1920437StLoc[23](loc17: RandomGenerator)
1921438MutBorrowLoc[23](loc17: RandomGenerator)
1922439CopyLoc[22](loc16: &mut Game<Ty0>)
1923440MutBorrowFieldGeneric[4](Game.current_deck: vector<u8>)
1924441Call random::shuffle<u8>(&mut RandomGenerator, &mut vector<u8>)
1925442CopyLoc[4](Arg4: u64)
1926443CopyLoc[22](loc16: &mut Game<Ty0>)
1927444MutBorrowFieldGeneric[8](Game.status: u64)
1929446MoveLoc[22](loc16: &mut Game<Ty0>)
1930447Call player_hands_mut<Ty0>(&mut Game<Ty0>): &mut vector<Hand>
1931448MoveLoc[25](loc19: u64)
1933450StLoc[29](loc23: &mut Hand)
1934451MoveLoc[4](Arg4: u64)
1935452MoveLoc[29](loc23: &mut Hand)
1936453MutBorrowField[5](Hand.status: u64)
1941public process_player_move<Ty0>(Arg0: &mut Unihouse, Arg1: &mut BlackjackConfig, Arg2: address, Arg3: &mut TxContext) {
1942L4: loc0: &mut BlackjackTable<Ty0>
19440MoveLoc[1](Arg1: &mut BlackjackConfig)
19451MoveLoc[2](Arg2: address)
19462Call borrow_mut_blackjack_table<Ty0>(&mut BlackjackConfig, address): &mut BlackjackTable<Ty0>
19473StLoc[4](loc0: &mut BlackjackTable<Ty0>)
19484MoveLoc[0](Arg0: &mut Unihouse)
19495MoveLoc[4](loc0: &mut BlackjackTable<Ty0>)
19506MoveLoc[3](Arg3: &mut TxContext)
19517Call dealer_move<Ty0>(&mut Unihouse, &mut BlackjackTable<Ty0>, &mut TxContext)
1955tally_hand(Arg0: &mut Hand, Arg1: &vector<u8>) {
19690LdConst[11](u64: 106)
19701CopyLoc[0](Arg0: &mut Hand)
19712MutBorrowField[5](Hand.status: u64)
19745CopyLoc[0](Arg0: &mut Hand)
19756MutBorrowField[18](Hand.is_settled: bool)
19778CopyLoc[0](Arg0: &mut Hand)
197910Call player_cards(&Hand): vector<u8>
198011StLoc[2](loc0: vector<u8>)
198112ImmBorrowLoc[2](loc0: vector<u8>)
198213Call get_card_sum(&vector<u8>): u8
198314StLoc[13](loc11: u8)
198415CopyLoc[1](Arg1: &vector<u8>)
198516Call get_card_sum(&vector<u8>): u8
198617StLoc[11](loc9: u8)
198718CopyLoc[0](Arg0: &mut Hand)
198920Call player_cards(&Hand): vector<u8>
199021StLoc[3](loc1: vector<u8>)
199122ImmBorrowLoc[3](loc1: vector<u8>)
199324StLoc[12](loc10: u64)
199425MoveLoc[1](Arg1: &vector<u8>)
199627StLoc[10](loc8: u64)
199728CopyLoc[13](loc11: u8)
200333StLoc[4](loc2: bool)
200635CopyLoc[13](loc11: u8)
200736CopyLoc[11](loc9: u8)
201139CopyLoc[11](loc9: u8)
201442StLoc[6](loc4: bool)
201845StLoc[6](loc4: bool)
202046MoveLoc[6](loc4: bool)
202449StLoc[4](loc2: bool)
202751CopyLoc[13](loc11: u8)
203255CopyLoc[11](loc9: u8)
203759MoveLoc[10](loc8: u64)
204263MoveLoc[12](loc10: u64)
204566StLoc[5](loc3: bool)
204969StLoc[5](loc3: bool)
205372StLoc[5](loc3: bool)
205775StLoc[5](loc3: bool)
205976MoveLoc[5](loc3: bool)
206077StLoc[4](loc2: bool)
206278MoveLoc[4](loc2: bool)
206580MoveLoc[0](Arg0: &mut Hand)
206983CopyLoc[13](loc11: u8)
207084CopyLoc[11](loc9: u8)
207487CopyLoc[13](loc11: u8)
207790StLoc[9](loc7: bool)
208193StLoc[9](loc7: bool)
208394MoveLoc[9](loc7: bool)
208797StLoc[7](loc5: bool)
209099MoveLoc[13](loc11: u8)
2095103MoveLoc[11](loc9: u8)
2098106StLoc[8](loc6: bool)
2102109StLoc[8](loc6: bool)
2104110MoveLoc[8](loc6: bool)
2105111StLoc[7](loc5: bool)
2107112MoveLoc[7](loc5: bool)
2110114CopyLoc[0](Arg0: &mut Hand)
2111115ImmBorrowField[12](Hand.is_natural_blackjack: bool)
2115118CopyLoc[0](Arg0: &mut Hand)
2116119ImmBorrowField[6](Hand.bet_size: u64)
2122125MoveLoc[0](Arg0: &mut Hand)
2123126MutBorrowField[7](Hand.bet_returned: u64)
2127129CopyLoc[0](Arg0: &mut Hand)
2128130ImmBorrowField[6](Hand.bet_size: u64)
2132134MoveLoc[0](Arg0: &mut Hand)
2133135MutBorrowField[7](Hand.bet_returned: u64)
2137138CopyLoc[0](Arg0: &mut Hand)
2138139ImmBorrowField[6](Hand.bet_size: u64)
2140141MoveLoc[0](Arg0: &mut Hand)
2141142MutBorrowField[7](Hand.bet_returned: u64)
2147payout<Ty0>(Arg0: &mut Unihouse, Arg1: &mut BlackjackTable<Ty0>, Arg2: u64, Arg3: u64, Arg4: &mut TxContext) {
21602StLoc[5](loc0: Blackjack)
21613CopyLoc[3](Arg3: u64)
21624CopyLoc[2](Arg2: u64)
21667CopyLoc[3](Arg3: u64)
21678CopyLoc[2](Arg2: u64)
217111CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
217313Call bcs::to_bytes<BlackjackTable<Ty0>>(&BlackjackTable<Ty0>): vector<u8>
217414CopyLoc[4](Arg4: &mut TxContext)
217515Call unihouse::create_and_transfer_gas_obj(vector<u8>, &mut TxContext)
217616MoveLoc[3](Arg3: u64)
217717MoveLoc[2](Arg2: u64)
217919StLoc[6](loc1: u64)
218020MoveLoc[0](Arg0: &mut Unihouse)
218121MoveLoc[5](loc0: Blackjack)
218222MoveLoc[6](loc1: u64)
218323CopyLoc[4](Arg4: &mut TxContext)
218424Call unihouse::take_with_fee_reimbursement<Ty0, Blackjack>(&mut Unihouse, Blackjack, u64, &mut TxContext): Coin<Ty0>
218525StLoc[9](loc4: Coin<Ty0>)
218626CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
218727ImmBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
218828Call balance::value<Ty0>(&Balance<Ty0>): u64
218929StLoc[12](loc7: u64)
219030CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
219131MutBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
219232MoveLoc[12](loc7: u64)
219333Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
219434MoveLoc[4](Arg4: &mut TxContext)
219535Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
219636StLoc[11](loc6: Coin<Ty0>)
219737MutBorrowLoc[9](loc4: Coin<Ty0>)
219838MoveLoc[11](loc6: Coin<Ty0>)
219939Call coin::join<Ty0>(&mut Coin<Ty0>, Coin<Ty0>)
220040MoveLoc[9](loc4: Coin<Ty0>)
220141CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
220242ImmBorrowFieldGeneric[10](BlackjackTable.creator: address)
220444Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
220746MoveLoc[0](Arg0: &mut Unihouse)
220948CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
221049ImmBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
221150Call balance::value<Ty0>(&Balance<Ty0>): u64
221251StLoc[13](loc8: u64)
221352CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
221453MutBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
221554MoveLoc[13](loc8: u64)
221655Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
221756MoveLoc[4](Arg4: &mut TxContext)
221857Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
221958CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
222059ImmBorrowFieldGeneric[10](BlackjackTable.creator: address)
222261Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
222563MoveLoc[2](Arg2: u64)
222664MoveLoc[3](Arg3: u64)
222866StLoc[7](loc2: u64)
222967CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
223068MutBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
223169MoveLoc[7](loc2: u64)
223270Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
223371CopyLoc[4](Arg4: &mut TxContext)
223472Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
223573StLoc[8](loc3: Coin<Ty0>)
223674MoveLoc[0](Arg0: &mut Unihouse)
223775MoveLoc[5](loc0: Blackjack)
223876MoveLoc[8](loc3: Coin<Ty0>)
223977Call unihouse::put_with_fee<Ty0, Blackjack>(&mut Unihouse, Blackjack, Coin<Ty0>)
224078CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
224179ImmBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
224280Call balance::value<Ty0>(&Balance<Ty0>): u64
224784CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
224885ImmBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
224986Call balance::value<Ty0>(&Balance<Ty0>): u64
225087StLoc[10](loc5: u64)
225188CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
225289MutBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
225390MoveLoc[10](loc5: u64)
225491Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
225592MoveLoc[4](Arg4: &mut TxContext)
225693Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
225794CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
225895ImmBorrowFieldGeneric[10](BlackjackTable.creator: address)
226097Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
226399MoveLoc[4](Arg4: &mut TxContext)
2266101MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
2267102ImmBorrowFieldGeneric[0](BlackjackTable.balance: Balance<Ty0>)
2268103Call balance::value<Ty0>(&Balance<Ty0>): u64
2275108LdConst[21](u64: 11)
2281surrender<Ty0>(Arg0: &mut Unihouse, Arg1: &mut BlackjackTable<Ty0>, Arg2: &mut TxContext) {
2283L4: loc1: BlackjackHand
2284L5: loc2: &mut vector<BlackjackHand>
2289L10: loc7: vector<BlackjackHand>
2290L11: loc8: vector<Hand>
2294L15: loc12: vector<BlackjackHand>
2296L17: loc14: &vector<Hand>
2297L18: loc15: &vector<Hand>
23000CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
23011MutBorrowFieldGeneric[5](BlackjackTable.current_game: Option<Game<Ty0>>)
23022Call option::extract<Game<Ty0>>(&mut Option<Game<Ty0>>): Game<Ty0>
23033UnpackGeneric[1](Game<Ty0>)
23044StLoc[14](loc11: String)
23066StLoc[11](loc8: vector<Hand>)
23088StLoc[8](loc5: vector<u8>)
231111StLoc[7](loc4: u64)
231212ImmBorrowLoc[11](loc8: vector<Hand>)
231313StLoc[17](loc14: &vector<Hand>)
231515StLoc[15](loc12: vector<BlackjackHand>)
231616MoveLoc[17](loc14: &vector<Hand>)
231717StLoc[18](loc15: &vector<Hand>)
231818CopyLoc[18](loc15: &vector<Hand>)
232020StLoc[3](loc0: u64)
232222StLoc[13](loc10: u64)
232323MoveLoc[3](loc0: u64)
232424StLoc[16](loc13: u64)
232625CopyLoc[13](loc10: u64)
232726CopyLoc[16](loc13: u64)
233129CopyLoc[13](loc10: u64)
233230StLoc[12](loc9: u64)
233331CopyLoc[18](loc15: &vector<Hand>)
233432MoveLoc[12](loc9: u64)
233634StLoc[9](loc6: &Hand)
233735MutBorrowLoc[15](loc12: vector<BlackjackHand>)
233836StLoc[5](loc2: &mut vector<BlackjackHand>)
233937MoveLoc[9](loc6: &Hand)
234038StLoc[19](loc16: &Hand)
234139CopyLoc[0](Arg0: &mut Unihouse)
234240MoveLoc[19](loc16: &Hand)
234442Call create_blackjack_hands_to_emit<Ty0>(&mut Unihouse, Hand): BlackjackHand
234543StLoc[4](loc1: BlackjackHand)
234644MoveLoc[5](loc2: &mut vector<BlackjackHand>)
234745MoveLoc[4](loc1: BlackjackHand)
234947MoveLoc[13](loc10: u64)
235250StLoc[13](loc10: u64)
235552MoveLoc[18](loc15: &vector<Hand>)
235754MoveLoc[15](loc12: vector<BlackjackHand>)
235855StLoc[10](loc7: vector<BlackjackHand>)
235956CopyLoc[7](loc4: u64)
236259StLoc[6](loc3: u64)
236360CopyLoc[0](Arg0: &mut Unihouse)
236461CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
236562CopyLoc[7](loc4: u64)
236663CopyLoc[6](loc3: u64)
236764MoveLoc[2](Arg2: &mut TxContext)
236865Call payout<Ty0>(&mut Unihouse, &mut BlackjackTable<Ty0>, u64, u64, &mut TxContext)
236966MoveLoc[0](Arg0: &mut Unihouse)
237067CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
237168ImmBorrowFieldGeneric[9](BlackjackTable.id: UID)
237269Call object::uid_to_inner(&UID): ID
237370CopyLoc[1](Arg1: &mut BlackjackTable<Ty0>)
237471ImmBorrowFieldGeneric[6](BlackjackTable.round_number: u64)
237673MoveLoc[7](loc4: u64)
237774MoveLoc[6](loc3: u64)
237875MoveLoc[10](loc7: vector<BlackjackHand>)
237976MoveLoc[8](loc5: vector<u8>)
238077MoveLoc[1](Arg1: &mut BlackjackTable<Ty0>)
238178ImmBorrowFieldGeneric[10](BlackjackTable.creator: address)
238380MoveLoc[14](loc11: String)
238481Call unihouse::emit_blackjack_game_result<Ty0, Blackjack>(&mut Unihouse, ID, u64, u64, u64, vector<BlackjackHand>, vector<u8>, address, String)
2388create_blackjack_hands_to_emit<Ty0>(Arg0: &mut Unihouse, Arg1: Hand): BlackjackHand {
23980MoveLoc[1](Arg1: Hand)
24013StLoc[8](loc6: bool)
24024StLoc[6](loc4: bool)
24035StLoc[7](loc5: bool)
24079StLoc[4](loc2: vector<u8>)
240810MoveLoc[0](Arg0: &mut Unihouse)
241113MoveLoc[4](loc2: vector<u8>)
241214MoveLoc[9](loc7: u64)
241315MoveLoc[5](loc3: u8)
241416MoveLoc[3](loc1: u64)
241517MoveLoc[7](loc5: bool)
241618MoveLoc[6](loc4: bool)
241719MoveLoc[8](loc6: bool)
241820MoveLoc[2](loc0: u64)
241921Call unihouse::create_blackjack_hand_event<Ty0, Blackjack>(&mut Unihouse, Blackjack, vector<u8>, u64, u8, u64, bool, bool, bool, u64): BlackjackHand
2423is_soft_17(Arg0: &vector<u8>, Arg1: u8): bool {
2432L10: loc8: vector<u8>
2434L12: loc10: vector<u8>
2435L13: loc11: vector<u8>
24380CopyLoc[0](Arg0: &vector<u8>)
24391Call contains_aces(&vector<u8>): bool
24423CopyLoc[1](Arg1: u8)
24456StLoc[3](loc1: bool)
24499StLoc[3](loc1: bool)
245110MoveLoc[3](loc1: bool)
245412CopyLoc[0](Arg0: &vector<u8>)
245614StLoc[12](loc10: vector<u8>)
245715LdConst[28](vector<u8>: "" /..)
245816StLoc[10](loc8: vector<u8>)
245917MoveLoc[12](loc10: vector<u8>)
246018StLoc[13](loc11: vector<u8>)
246119MutBorrowLoc[13](loc11: vector<u8>)
246220Call vector::reverse<u8>(&mut vector<u8>)
246321ImmBorrowLoc[13](loc11: vector<u8>)
246523StLoc[2](loc0: u64)
246725StLoc[8](loc6: u64)
246826MoveLoc[2](loc0: u64)
246927StLoc[11](loc9: u64)
247128CopyLoc[8](loc6: u64)
247229CopyLoc[11](loc9: u64)
247632CopyLoc[8](loc6: u64)
247834MutBorrowLoc[13](loc11: vector<u8>)
248137ImmBorrowLoc[7](loc5: u8)
248238StLoc[14](loc12: &u8)
2483 39: LdConst[30](vector<u8>: "