diff --git a/src/contractsTypes/tezos/Bridge.code.ts b/src/contractsTypes/tezos/Bridge.code.ts index 6962e1d1..14c8965d 100644 --- a/src/contractsTypes/tezos/Bridge.code.ts +++ b/src/contractsTypes/tezos/Bridge.code.ts @@ -1,11 +1,6 @@ -export const BridgeCode: { - __type: 'BridgeCode'; - protocol: string; - code: object[]; -} = { + +export const BridgeCode: { __type: 'BridgeCode', protocol: string, code: object[] } = { __type: 'BridgeCode', protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%claim_nft"],"args":[{"prim":"pair","annots":["%data"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%source_chain"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"address","annots":["%dest_address"]},{"prim":"or","annots":["%source_nft_contract_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string","annots":["%name"]},{"prim":"string","annots":["%symbol"]},{"prim":"nat","annots":["%royalty"]},{"prim":"address","annots":["%royalty_receiver"]},{"prim":"string","annots":["%metadata"]},{"prim":"string","annots":["%transaction_hash"]},{"prim":"nat","annots":["%token_amount"]},{"prim":"string","annots":["%nft_type"]},{"prim":"mutez","annots":["%fee"]}]},{"prim":"list","annots":["%sigs"],"args":[{"prim":"pair","args":[{"prim":"key","annots":["%signer"]},{"prim":"signature","annots":["%sig"]},{"prim":"address","annots":["%addr"]}]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%internal_ns_nd_part"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"address","annots":["%dest_address"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"string","annots":["%source_chain"]},{"prim":"string","annots":["%md"]},{"prim":"string","annots":["%transaction_hash"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%lock_sft"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%dest_address"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%lock_internal"],"args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%lock_nft"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%dest_address"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%claim_validator_rewards"],"args":[{"prim":"address","annots":["%validator"]},{"prim":"list","annots":["%sigs"],"args":[{"prim":"pair","args":[{"prim":"key","annots":["%signer"]},{"prim":"signature","annots":["%sig"]},{"prim":"address","annots":["%addr"]}]}]}]},{"prim":"pair","annots":["%add_validator"],"args":[{"prim":"address","annots":["%validator"]},{"prim":"list","annots":["%sigs"],"args":[{"prim":"pair","args":[{"prim":"key","annots":["%signer"]},{"prim":"signature","annots":["%sig"]},{"prim":"address","annots":["%addr"]}]}]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%validators"],"args":[{"prim":"address"},{"prim":"mutez"}]},{"prim":"big_map","annots":["%unique_identifiers"],"args":[{"prim":"bytes"},{"prim":"bool"}]},{"prim":"address","annots":["%collection_deployer"]},{"prim":"address","annots":["%storage_deployer"]},{"prim":"big_map","annots":["%original_to_duplicate_mapping"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"pair","args":[{"prim":"string","annots":["%chain"]},{"prim":"or","annots":["%contract"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]}]}]},{"prim":"big_map","annots":["%duplicate_to_original_mapping"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"pair","args":[{"prim":"string","annots":["%chain"]},{"prim":"or","annots":["%contract"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]}]}]},{"prim":"big_map","annots":["%original_storage_mapping_nft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"big_map","annots":["%original_storage_mapping_sft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"big_map","annots":["%duplicate_storage_mapping_nft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"big_map","annots":["%duplicate_storage_mapping_sft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"nat","annots":["%validators_count"]}]}]},{"prim":"code","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"TEZOS"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"singular"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"multiple"}]},{"prim":"LAMBDA","args":[{"prim":"or","args":[{"prim":"address"},{"prim":"string"}]},{"prim":"address"},[{"prim":"IF_LEFT","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Tried to extract address from AddrOrStr which didnt have an address"}]},{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"operation"},[{"prim":"UNPAIR"},{"prim":"CONTRACT","annots":["%add_deposited_token"],"args":[{"prim":"nat"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"string"}]},{"prim":"operation"},[{"prim":"EMIT","annots":["%claimed"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%source_chain"]},{"prim":"string","annots":["%tx_hash"]}]}]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"VIEW","args":[{"string":"has_locked_token"},{"prim":"bool"}]},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Failed to check if token is deposited"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"bytes"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"key"},{"prim":"signature"},{"prim":"address"}]}]}]},{"prim":"int"},[{"prim":"UNPAIR"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CHECK_SIGNATURE"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"ADD"}],[]]}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"},{"prim":"address"},{"prim":"nat"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"address"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONTRACT","annots":["%unlock_token"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"string"},{"prim":"nat"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"CONTRACT","annots":["%mint"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]}]}]},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Contract does not have mint entrypoint"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"string"},{"prim":"address"},{"prim":"nat"}]}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"DIG","args":[{"int":"11"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"26"}]},{"prim":"AMOUNT"},{"prim":"COMPARE"},{"prim":"LT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient fees"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot transfer to the same chain"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"25"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Invalid NFT Type"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PACK"},{"prim":"KECCAK"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Data already processed"}]},{"prim":"FAILWITH"}]]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"address"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"CHECK_SIGNATURE"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ADD"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"}]]},{"prim":"PAIR"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UNPAIR"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"20"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"ADD"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"LT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient signatures"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"26"}]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Fee must be greater than 0"}]},{"prim":"FAILWITH"}]]},{"prim":"BALANCE"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient rewards to distribute"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"SWAP"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator does not exist"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"DUP"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"13"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"17"}]}],[{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"19"}]}]]},{"prim":"DIG","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"PAIR"},{"prim":"GET"}],[{"prim":"DIG","args":[{"int":"12"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"12"}]},{"prim":"DIG","args":[{"int":"12"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"13"}]}],[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"15"}]}]]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"PAIR"},{"prim":"GET"}]]},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"3"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"CONS"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"}],[{"prim":"DUP"},{"prim":"NOT"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"DROP","args":[{"int":"6"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"CONS"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"NOT"},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Storage not deployed for this collection"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"CONS"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"}],[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"11"}]},{"prim":"DROP","args":[{"int":"5"}]},{"prim":"NOT"},{"prim":"SWAP"},{"prim":"NOT"},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"CONTRACT","annots":["%deploy_nft"],"args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%internal_ns_nd_part"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"address","annots":["%dest_address"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"string","annots":["%source_chain"]},{"prim":"string","annots":["%md"]},{"prim":"string","annots":["%transaction_hash"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"23"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"12"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"12"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"CONS"}],[{"prim":"SWAP"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"}]]}]]}]]}]]},{"prim":"SWAP"}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DROP","args":[{"int":"6"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only Callable by Self"}]},{"prim":"SELF_ADDRESS"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"VIEW","args":[{"string":"get_store"},{"prim":"address"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Collection not deployed"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"FAILWITH"}],[{"prim":"DROP","args":[{"int":"2"}]}]]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"LEFT","args":[{"prim":"string"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"LEFT","args":[{"prim":"string"}]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"14"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UPDATE","args":[{"int":"11"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UPDATE","args":[{"int":"9"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DROP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%deploy_sft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%deploy_sft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only Callable by Self"}]},{"prim":"SELF_ADDRESS"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"VIEW","args":[{"string":"get_store"},{"prim":"address"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Storage contract not deployed"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"FAILWITH"}],[{"prim":"DROP","args":[{"int":"2"}]}]]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"13"}]}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"15"}]}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"13"}]},{"prim":"SWAP"}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DROP"}],[{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"12"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"EMIT","annots":["%locked"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%dest_address"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%nft_type"]},{"prim":"string","annots":["%source_chain"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"nat","annots":["%token_id"]}]}]}],[{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"17"}]}],[{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"19"}]}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"12"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"17"}]},{"prim":"SWAP"}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP"}],[{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"12"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"EMIT","annots":["%locked"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%dest_address"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%nft_type"]},{"prim":"string","annots":["%source_chain"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"nat","annots":["%token_id"]}]}]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"CONTRACT","annots":["%deploy_nft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"17"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"CONTRACT","annots":["%deploy_nft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"7"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"IF_LEFT","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"No signatures provided"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator does not exist"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PACK"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient signatures"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"20"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"ADD"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"EMIT","annots":["%rewarded_validator"],"args":[{"prim":"address"}]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CONTRACT","args":[{"prim":"unit"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_contract"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SWAP"},{"prim":"UNIT"},{"prim":"TRANSFER_TOKENS"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"No signatures provided"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator already exists"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"PACK"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient signatures"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"20"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"ADD"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"20"}]},{"prim":"ADD"},{"prim":"UPDATE","args":[{"int":"20"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"EMIT","annots":["%added_new_validator"],"args":[{"prim":"address"}]}]]}]]}]]}]]}]]}]]},{"prim":"CONS"},{"prim":"PAIR"}]]}]`, - ), + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%claim_nft"],"args":[{"prim":"pair","annots":["%data"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%source_chain"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"address","annots":["%dest_address"]},{"prim":"or","annots":["%source_nft_contract_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string","annots":["%name"]},{"prim":"string","annots":["%symbol"]},{"prim":"nat","annots":["%royalty"]},{"prim":"address","annots":["%royalty_receiver"]},{"prim":"string","annots":["%metadata"]},{"prim":"string","annots":["%transaction_hash"]},{"prim":"nat","annots":["%token_amount"]},{"prim":"string","annots":["%nft_type"]},{"prim":"mutez","annots":["%fee"]},{"prim":"string","annots":["%lock_tx_chain"]}]},{"prim":"list","annots":["%sigs"],"args":[{"prim":"pair","args":[{"prim":"key","annots":["%signer"]},{"prim":"signature","annots":["%sig"]},{"prim":"address","annots":["%addr"]}]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%internal_ns_nd_part"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"address","annots":["%dest_address"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"string","annots":["%token_type"]},{"prim":"string","annots":["%source_chain"]},{"prim":"string","annots":["%md"]},{"prim":"string","annots":["%transaction_hash"]},{"prim":"string","annots":["%lock_tx_chain"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%lock_sft"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%dest_address"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"string","annots":["%metadata_uri"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%lock_internal"],"args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%lock_nft"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%dest_address"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string","annots":["%metadata_uri"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%claim_validator_rewards"],"args":[{"prim":"address","annots":["%validator"]},{"prim":"list","annots":["%sigs"],"args":[{"prim":"pair","args":[{"prim":"key","annots":["%signer"]},{"prim":"signature","annots":["%sig"]},{"prim":"address","annots":["%addr"]}]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%blacklist_validator"],"args":[{"prim":"address","annots":["%validator"]},{"prim":"list","annots":["%sigs"],"args":[{"prim":"pair","args":[{"prim":"key","annots":["%signer"]},{"prim":"signature","annots":["%sig"]},{"prim":"address","annots":["%addr"]}]}]}]},{"prim":"pair","annots":["%add_validator"],"args":[{"prim":"address","annots":["%validator"]},{"prim":"list","annots":["%sigs"],"args":[{"prim":"pair","args":[{"prim":"key","annots":["%signer"]},{"prim":"signature","annots":["%sig"]},{"prim":"address","annots":["%addr"]}]}]}]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%validators"],"args":[{"prim":"address"},{"prim":"mutez"}]},{"prim":"big_map","annots":["%blacklisted_validators"],"args":[{"prim":"address"},{"prim":"bool"}]},{"prim":"big_map","annots":["%unique_identifiers"],"args":[{"prim":"bytes"},{"prim":"bool"}]},{"prim":"address","annots":["%nft_collection_deployer"]},{"prim":"address","annots":["%sft_collection_deployer"]},{"prim":"address","annots":["%storage_deployer"]},{"prim":"big_map","annots":["%original_to_duplicate_mapping"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"pair","args":[{"prim":"string","annots":["%chain"]},{"prim":"or","annots":["%contract"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]}]}]},{"prim":"big_map","annots":["%duplicate_to_original_mapping"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"pair","args":[{"prim":"string","annots":["%chain"]},{"prim":"or","annots":["%contract"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]}]}]},{"prim":"big_map","annots":["%original_storage_mapping_nft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"big_map","annots":["%original_storage_mapping_sft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"big_map","annots":["%duplicate_storage_mapping_nft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"big_map","annots":["%duplicate_storage_mapping_sft"],"args":[{"prim":"pair","args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string"}]},{"prim":"address"}]},{"prim":"nat","annots":["%validators_count"]}]}]},{"prim":"code","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"TEZOS"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"singular"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"multiple"}]},{"prim":"LAMBDA","args":[{"prim":"or","args":[{"prim":"address"},{"prim":"string"}]},{"prim":"address"},[{"prim":"IF_LEFT","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Tried to extract address from AddrOrStr which didnt have an address"}]},{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"operation"},[{"prim":"UNPAIR"},{"prim":"CONTRACT","annots":["%add_deposited_token"],"args":[{"prim":"nat"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"string"},{"prim":"string"},{"prim":"address"},{"prim":"nat"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"EMIT","annots":["%claimed"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%lock_tx_chain"]},{"prim":"address","annots":["%nft_contract"]},{"prim":"string","annots":["%source_chain"]},{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%tx_hash"]}]}]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"VIEW","args":[{"string":"has_locked_token"},{"prim":"bool"}]},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Failed to check if token is deposited"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"bytes"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"key"},{"prim":"signature"},{"prim":"address"}]}]}]},{"prim":"int"},[{"prim":"UNPAIR"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CHECK_SIGNATURE"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"ADD"}],[]]}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"},{"prim":"address"},{"prim":"nat"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"address"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONTRACT","annots":["%unlock_token"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"string"},{"prim":"nat"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"CONTRACT","annots":["%mint"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]}]}]},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Contract does not have mint entrypoint"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"string"},{"prim":"address"},{"prim":"nat"}]}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"DIG","args":[{"int":"11"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"27"}]},{"prim":"AMOUNT"},{"prim":"COMPARE"},{"prim":"LT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient fees"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot transfer to the same chain"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"25"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Invalid NFT Type"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PACK"},{"prim":"KECCAK"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Data already processed"}]},{"prim":"FAILWITH"}]]},{"prim":"EMPTY_MAP","args":[{"prim":"key"},{"prim":"bool"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"address"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"}],[{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"CHECK_SIGNATURE"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"ADD"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"}]]}]]},{"prim":"PAIR","args":[{"int":"3"}]}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"24"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"ADD"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"LT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient signatures"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"27"}]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Fee must be greater than 0"}]},{"prim":"FAILWITH"}]]},{"prim":"BALANCE"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient rewards to distribute"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"SWAP"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator does not exist"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"DUP"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"13"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"21"}]}],[{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"23"}]}]]},{"prim":"DIG","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"PAIR"},{"prim":"GET"}],[{"prim":"DIG","args":[{"int":"12"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"12"}]},{"prim":"DIG","args":[{"int":"12"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"17"}]}],[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"19"}]}]]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"PAIR"},{"prim":"GET"}]]},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"3"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DROP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"28"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"CONS"},{"prim":"SWAP"}]]},{"prim":"CONS"}],[{"prim":"DUP"},{"prim":"NOT"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"DROP","args":[{"int":"6"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"CONS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"28"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"NOT"},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Storage not deployed for this collection"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"CONS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"28"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"CONS"}],[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"DIG","args":[{"int":"11"}]},{"prim":"DROP","args":[{"int":"6"}]},{"prim":"NOT"},{"prim":"SWAP"},{"prim":"NOT"},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"CONTRACT","annots":["%deploy_nft"],"args":[{"prim":"pair","args":[{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string","annots":["%name"]},{"prim":"string","annots":["%symbol"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%internal_ns_nd_part"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"address","annots":["%dest_address"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"string","annots":["%token_type"]},{"prim":"string","annots":["%source_chain"]},{"prim":"string","annots":["%md"]},{"prim":"string","annots":["%transaction_hash"]},{"prim":"string","annots":["%lock_tx_chain"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"28"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"25"}]},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"23"}]},{"prim":"DUP","args":[{"int":"12"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"13"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"14"}]},{"prim":"CAR"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"14"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"10"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"CONS"},{"prim":"SWAP"},{"prim":"CONS"}],[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP","args":[{"int":"2"}]}]]}]]}]]}]]}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DROP","args":[{"int":"6"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only Callable by Self"}]},{"prim":"SELF_ADDRESS"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"singular"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"7"}]}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"9"}]}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"VIEW","args":[{"string":"get_store"},{"prim":"address"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Collection not deployed"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"FAILWITH"}],[{"prim":"DROP","args":[{"int":"2"}]}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"FAILWITH"}],[{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"LEFT","args":[{"prim":"string"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"LEFT","args":[{"prim":"string"}]},{"prim":"PAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"17"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"18"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UPDATE","args":[{"int":"15"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UPDATE","args":[{"int":"13"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DROP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%deploy_sft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"10"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"10"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"23"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%deploy_sft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"10"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"10"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only Callable by Self"}]},{"prim":"SELF_ADDRESS"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"VIEW","args":[{"string":"get_store"},{"prim":"address"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Storage contract not deployed"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"IF_NONE","args":[[{"prim":"FAILWITH"}],[{"prim":"DROP","args":[{"int":"2"}]}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"FAILWITH"}],[{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"17"}]}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"19"}]}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"17"}]},{"prim":"SWAP"}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DROP"}],[{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"14"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"EMIT","annots":["%locked"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%dest_address"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]},{"prim":"string","annots":["%nft_type"]},{"prim":"string","annots":["%source_chain"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"nat","annots":["%token_id"]}]}]}],[{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"21"}]}],[{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"23"}]}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"12"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"21"}]},{"prim":"SWAP"}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"14"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DROP"}],[{"prim":"DIG","args":[{"int":"8"}]},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"EMIT","annots":["%locked"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%dest_address"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]},{"prim":"string","annots":["%nft_type"]},{"prim":"string","annots":["%source_chain"]},{"prim":"or","annots":["%source_nft_address"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"nat","annots":["%token_amount"]},{"prim":"nat","annots":["%token_id"]}]}]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"17"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"CONTRACT","annots":["%deploy_nft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"CONTRACT","annots":["%deploy_nft_storage"],"args":[{"prim":"address"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"TRANSFER_TOKENS"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"10"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"CONTRACT","annots":["%lock_internal"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%to"]},{"prim":"nat","annots":["%token_id"]},{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"bool","annots":["%original"]},{"prim":"nat","annots":["%amt"]},{"prim":"bool","annots":["%new_deploy"]},{"prim":"string","annots":["%dest_chain"]},{"prim":"string","annots":["%metadata_uri"]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DUP","args":[{"int":"9"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"9"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR","args":[{"int":"8"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator does not exist"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"EMIT","annots":["%rewarded_validator"],"args":[{"prim":"address"}]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"CONTRACT","args":[{"prim":"unit"}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_contract"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SWAP"},{"prim":"UNIT"},{"prim":"TRANSFER_TOKENS"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"No signatures provided"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator is not added"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DUP"},{"prim":"CDR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"blacklisted"}]},{"prim":"PACK"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PACK"},{"prim":"CONCAT"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient signatures"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"24"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"ADD"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"NONE","args":[{"prim":"mutez"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"24"}]},{"prim":"SUB"},{"prim":"ABS"},{"prim":"UPDATE","args":[{"int":"24"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"EMIT","annots":["%blacklisted_validator"],"args":[{"prim":"address"}]}],[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"No signatures provided"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator is blacklisted"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Validator already exists"}]},{"prim":"FAILWITH"}]]},{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"PACK"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Insufficient signatures"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"24"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"ADD"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"24"}]},{"prim":"ADD"},{"prim":"UPDATE","args":[{"int":"24"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"EMIT","annots":["%added_new_validator"],"args":[{"prim":"address"}]}]]}]]}]]}]]}]]}]]},{"prim":"CONS"}]]},{"prim":"PAIR"}]]}]`) }; diff --git a/src/contractsTypes/tezos/Bridge.types.ts b/src/contractsTypes/tezos/Bridge.types.ts index 13ccaee2..cf7825f1 100644 --- a/src/contractsTypes/tezos/Bridge.types.ts +++ b/src/contractsTypes/tezos/Bridge.types.ts @@ -1,70 +1,68 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; -import { - address, - BigMap, - bytes, - key, - mutez, - nat, - signature, -} from './type-aliases'; + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; +import { address, BigMap, bytes, key, mutez, nat, signature } from './type-aliases'; export type Storage = { validators: BigMap; + blacklisted_validators: BigMap; unique_identifiers: BigMap; - collection_deployer: address; + nft_collection_deployer: address; + sft_collection_deployer: address; storage_deployer: address; - original_to_duplicate_mapping: BigMap< - { - 0: { addr: address } | { str: string }; - 1: string; - }, - { - chain: string; - contract: { addr: address } | { str: string }; - } - >; - duplicate_to_original_mapping: BigMap< - { - 0: { addr: address } | { str: string }; - 1: string; - }, - { - chain: string; - contract: { addr: address } | { str: string }; - } - >; - original_storage_mapping_nft: BigMap< - { - 0: { addr: address } | { str: string }; - 1: string; - }, - address - >; - original_storage_mapping_sft: BigMap< - { - 0: { addr: address } | { str: string }; - 1: string; - }, - address - >; - duplicate_storage_mapping_nft: BigMap< - { - 0: { addr: address } | { str: string }; - 1: string; - }, - address - >; - duplicate_storage_mapping_sft: BigMap< - { - 0: { addr: address } | { str: string }; - 1: string; - }, - address - >; + original_to_duplicate_mapping: BigMap<{ + 0: ( + { addr: address } + | { str: string } + ); + 1: string; + }, { + chain: string; + contract: ( + { addr: address } + | { str: string } + ); + }>; + duplicate_to_original_mapping: BigMap<{ + 0: ( + { addr: address } + | { str: string } + ); + 1: string; + }, { + chain: string; + contract: ( + { addr: address } + | { str: string } + ); + }>; + original_storage_mapping_nft: BigMap<{ + 0: ( + { addr: address } + | { str: string } + ); + 1: string; + }, address>; + original_storage_mapping_sft: BigMap<{ + 0: ( + { addr: address } + | { str: string } + ); + 1: string; + }, address>; + duplicate_storage_mapping_nft: BigMap<{ + 0: ( + { addr: address } + | { str: string } + ); + 1: string; + }, address>; + duplicate_storage_mapping_sft: BigMap<{ + 0: ( + { addr: address } + | { str: string } + ); + 1: string; + }, address>; validators_count: nat; }; @@ -74,7 +72,10 @@ type Methods = { source_chain: string, dest_chain: string, dest_address: address, - source_nft_contract_address: { addr: address } | { str: string }, + source_nft_contract_address: ( + { addr: address } + | { str: string } + ), name: string, symbol: string, royalty: nat, @@ -84,6 +85,7 @@ type Methods = { token_amount: nat, nft_type: string, fee: mutez, + lock_tx_chain: string, sigs: Array<{ signer: key; sig: signature; @@ -94,33 +96,50 @@ type Methods = { token_id: nat, dest_chain: string, dest_address: address, - collection: { addr: address } | { str: string }, + collection: ( + { addr: address } + | { str: string } + ), token_amount: nat, + token_type: string, source_chain: string, md: string, transaction_hash: string, + lock_tx_chain: string, ) => Promise; lock_sft: ( token_id: nat, dest_chain: string, dest_address: string, - source_nft_address: { addr: address } | { str: string }, + source_nft_address: ( + { addr: address } + | { str: string } + ), token_amount: nat, + metadata_uri: string, ) => Promise; lock_internal: ( to: string, token_id: nat, - collection: { addr: address } | { str: string }, + collection: ( + { addr: address } + | { str: string } + ), original: boolean, amt: nat, new_deploy: boolean, dest_chain: string, + metadata_uri: string, ) => Promise; lock_nft: ( token_id: nat, dest_chain: string, dest_address: string, - source_nft_address: { addr: address } | { str: string }, + source_nft_address: ( + { addr: address } + | { str: string } + ), + metadata_uri: string, ) => Promise; claim_validator_rewards: ( validator: address, @@ -130,6 +149,14 @@ type Methods = { addr: address; }>, ) => Promise; + blacklist_validator: ( + validator: address, + sigs: Array<{ + signer: key; + sig: signature; + addr: address; + }>, + ) => Promise; add_validator: ( validator: address, sigs: Array<{ @@ -142,83 +169,105 @@ type Methods = { type MethodsObject = { claim_nft: (params: { - token_id: nat; - source_chain: string; - dest_chain: string; - dest_address: address; - source_nft_contract_address: { addr: address } | { str: string }; - name: string; - symbol: string; - royalty: nat; - royalty_receiver: address; - metadata: string; - transaction_hash: string; - token_amount: nat; - nft_type: string; - fee: mutez; + token_id: nat, + source_chain: string, + dest_chain: string, + dest_address: address, + source_nft_contract_address: ( + { addr: address } + | { str: string } + ), + name: string, + symbol: string, + royalty: nat, + royalty_receiver: address, + metadata: string, + transaction_hash: string, + token_amount: nat, + nft_type: string, + fee: mutez, + lock_tx_chain: string, sigs: Array<{ signer: key; sig: signature; addr: address; - }>; + }>, }) => Promise; internal_ns_nd_part: (params: { - token_id: nat; - dest_chain: string; - dest_address: address; - collection: { addr: address } | { str: string }; - token_amount: nat; - source_chain: string; - md: string; - transaction_hash: string; + token_id: nat, + dest_chain: string, + dest_address: address, + collection: ( + { addr: address } + | { str: string } + ), + token_amount: nat, + token_type: string, + source_chain: string, + md: string, + transaction_hash: string, + lock_tx_chain: string, }) => Promise; lock_sft: (params: { - token_id: nat; - dest_chain: string; - dest_address: string; - source_nft_address: { addr: address } | { str: string }; - token_amount: nat; + token_id: nat, + dest_chain: string, + dest_address: string, + source_nft_address: ( + { addr: address } + | { str: string } + ), + token_amount: nat, + metadata_uri: string, }) => Promise; lock_internal: (params: { - to: string; - token_id: nat; - collection: { addr: address } | { str: string }; - original: boolean; - amt: nat; - new_deploy: boolean; - dest_chain: string; + to: string, + token_id: nat, + collection: ( + { addr: address } + | { str: string } + ), + original: boolean, + amt: nat, + new_deploy: boolean, + dest_chain: string, + metadata_uri: string, }) => Promise; lock_nft: (params: { - token_id: nat; - dest_chain: string; - dest_address: string; - source_nft_address: { addr: address } | { str: string }; + token_id: nat, + dest_chain: string, + dest_address: string, + source_nft_address: ( + { addr: address } + | { str: string } + ), + metadata_uri: string, }) => Promise; claim_validator_rewards: (params: { - validator: address; + validator: address, sigs: Array<{ signer: key; sig: signature; addr: address; - }>; + }>, + }) => Promise; + blacklist_validator: (params: { + validator: address, + sigs: Array<{ + signer: key; + sig: signature; + addr: address; + }>, }) => Promise; add_validator: (params: { - validator: address; + validator: address, sigs: Array<{ signer: key; sig: signature; addr: address; - }>; + }>, }) => Promise; }; -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'BridgeCode'; protocol: string; code: object[] }; -}; -export type BridgeContractType = - ContractAbstractionFromContractType; -export type BridgeWalletType = - WalletContractAbstractionFromContractType; +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'BridgeCode', protocol: string, code: object[] } }; +export type BridgeContractType = ContractAbstractionFromContractType; +export type BridgeWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/BridgeStorage.code.ts b/src/contractsTypes/tezos/BridgeStorage.code.ts deleted file mode 100644 index 7110e854..00000000 --- a/src/contractsTypes/tezos/BridgeStorage.code.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const BridgeStorageCode: { - __type: 'BridgeStorageCode'; - protocol: string; - code: object[]; -} = { - __type: 'BridgeStorageCode', - protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%approve_stake"],"args":[{"prim":"address","annots":["%staker"]},{"prim":"list","annots":["%validator_address_with_signer_and_sig"],"args":[{"prim":"pair","args":[{"prim":"string","annots":["%validator_address"]},{"prim":"pair","annots":["%signer_and_signature"],"args":[{"prim":"string","annots":["%signer"]},{"prim":"bytes","annots":["%signature"]}]}]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%change_validator_status"],"args":[{"prim":"address","annots":["%validator"]},{"prim":"bool","annots":["%status"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%change_chain_royalty_receiver"],"args":[{"prim":"string","annots":["%chain"]},{"prim":"string","annots":["%royalty_receiver"]}]},{"prim":"pair","annots":["%change_chain_fee"],"args":[{"prim":"string","annots":["%chain"]},{"prim":"nat","annots":["%fee"]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%chain_epoch"],"args":[{"prim":"string"},{"prim":"nat"}]},{"prim":"big_map","annots":["%royalty_epoch"],"args":[{"prim":"string"},{"prim":"nat"}]},{"prim":"big_map","annots":["%validator_epoch"],"args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"big_map","annots":["%staking_signatures"],"args":[{"prim":"string"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"string","annots":["%signer"]},{"prim":"bytes","annots":["%signature"]}]}]}]},{"prim":"big_map","annots":["%validators"],"args":[{"prim":"address"},{"prim":"bool"}]},{"prim":"big_map","annots":["%validator_status_change_votes"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"bool"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"big_map","annots":["%validator_voted"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"bool"}]},{"prim":"big_map","annots":["%chain_fee_votes"],"args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"nat"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"big_map","annots":["%chain_fee_voted"],"args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"nat"},{"prim":"address"},{"prim":"nat"}]},{"prim":"bool"}]},{"prim":"big_map","annots":["%chain_royalty_voted"],"args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"string"},{"prim":"address"},{"prim":"nat"}]},{"prim":"bool"}]},{"prim":"big_map","annots":["%chain_royalty_votes"],"args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"string"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"nat","annots":["%validators_count"]},{"prim":"big_map","annots":["%lock_signatures"],"args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"string"}]},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"string","annots":["%signer"]},{"prim":"bytes","annots":["%signature"]}]}]}]},{"prim":"big_map","annots":["%used_signatures"],"args":[{"prim":"bytes"},{"prim":"bool"}]},{"prim":"big_map","annots":["%chain_fee"],"args":[{"prim":"string"},{"prim":"nat"}]},{"prim":"big_map","annots":["%chain_royalty"],"args":[{"prim":"string"},{"prim":"string"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"bool"},{"prim":"string"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"ITER","args":[[{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"27"}]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"NOT"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"failed assertion"}]},{"prim":"FAILWITH"}]]}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"27"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"CDR"},{"prim":"UPDATE"}]]},{"prim":"UPDATE","args":[{"int":"27"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"DUP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"bytes"}]}]}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"CONS"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"UPDATE"}]]},{"prim":"UPDATE","args":[{"int":"7"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]},{"prim":"DUP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"You have already voted"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"13"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"13"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"11"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"11"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"23"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ADD"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ADD"},{"prim":"SWAP"},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CDR"},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"23"}]},{"prim":"ADD"},{"prim":"UPDATE","args":[{"int":"23"}]}],[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"AND"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"23"}]},{"prim":"SUB"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"UPDATE","args":[{"int":"23"}]}],[{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CDR"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"9"}]},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]}]]}]]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"3"}]}]]}],[{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"19"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"GET"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"You have already voted for this chain royalty receiver"}]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"19"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"21"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"21"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"23"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"ADD"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ADD"},{"prim":"SWAP"},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"30"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CDR"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"30"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"19"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"21"}]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"19"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"21"}]}]]}],[{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"9"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only validator can call this function"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"17"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"GET"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"You have already voted for this chain fee"}]},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"17"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"23"}]},{"prim":"PUSH","args":[{"prim":"int"},{"int":"2"}]},{"prim":"MUL"},{"prim":"EDIV"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"DIV by 0"}]},{"prim":"FAILWITH"}],[]]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"15"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]},{"prim":"INT"},{"prim":"PUSH","args":[{"prim":"int"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ADD"},{"prim":"SWAP"},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"ADD"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"29"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CDR"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"29"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"17"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"15"}]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"17"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"15"}]}]]}]]}]]}]]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_staking_signature"},{"prim":"string"},{"prim":"option","args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"string","annots":["%signer"]},{"prim":"bytes","annots":["%signature"]}]}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"SWAP"},{"prim":"GET"}]]},{"prim":"view","args":[{"string":"get_staking_signature_count"},{"prim":"string"},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"7"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SIZE"}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]}]]},{"prim":"view","args":[{"string":"get_lock_nft_signatures"},{"prim":"pair","args":[{"prim":"string","annots":["%tx_hash"]},{"prim":"string","annots":["%chain"]}]},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"string","annots":["%signer"]},{"prim":"bytes","annots":["%signature"]}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"25"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"bytes"}]}]}]]}]]},{"prim":"view","args":[{"string":"get_lock_nft_signatures_count"},{"prim":"pair","args":[{"prim":"string","annots":["%tx_hash"]},{"prim":"string","annots":["%chain"]}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"25"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"DUP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SIZE"}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]}]]}]`, - ), -}; diff --git a/src/contractsTypes/tezos/BridgeStorage.types.ts b/src/contractsTypes/tezos/BridgeStorage.types.ts deleted file mode 100644 index 964c4495..00000000 --- a/src/contractsTypes/tezos/BridgeStorage.types.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; -import { address, BigMap, bytes, nat } from './type-aliases'; - -export type Storage = { - chain_epoch: BigMap; - royalty_epoch: BigMap; - validator_epoch: BigMap; - staking_signatures: BigMap< - string, - Array<{ - signer: string; - signature: bytes; - }> - >; - validators: BigMap; - validator_status_change_votes: BigMap< - { - 0: address; - 1: boolean; - 2: nat; - }, - nat - >; - validator_voted: BigMap< - { - 0: address; - 1: address; - 2: nat; - }, - boolean - >; - chain_fee_votes: BigMap< - { - 0: string; - 1: nat; - 2: nat; - }, - nat - >; - chain_fee_voted: BigMap< - { - 0: string; - 1: nat; - 2: address; - 3: nat; - }, - boolean - >; - chain_royalty_voted: BigMap< - { - 0: string; - 1: string; - 2: address; - 3: nat; - }, - boolean - >; - chain_royalty_votes: BigMap< - { - 0: string; - 1: string; - 2: nat; - }, - nat - >; - validators_count: nat; - lock_signatures: BigMap< - { - 0: string; - 1: string; - }, - Array<{ - signer: string; - signature: bytes; - }> - >; - used_signatures: BigMap; - chain_fee: BigMap; - chain_royalty: BigMap; -}; - -type Methods = { - approve_stake: ( - staker: address, - validator_address_with_signer_and_sig: Array<{ - validator_address: string; - signer_and_signature: { - signer: string; - signature: bytes; - }; - }>, - ) => Promise; - change_validator_status: ( - validator: address, - status: boolean, - ) => Promise; - change_chain_royalty_receiver: ( - chain: string, - royalty_receiver: string, - ) => Promise; - change_chain_fee: (chain: string, fee: nat) => Promise; -}; - -type MethodsObject = { - approve_stake: (params: { - staker: address; - validator_address_with_signer_and_sig: Array<{ - validator_address: string; - signer_and_signature: { - signer: string; - signature: bytes; - }; - }>; - }) => Promise; - change_validator_status: (params: { - validator: address; - status: boolean; - }) => Promise; - change_chain_royalty_receiver: (params: { - chain: string; - royalty_receiver: string; - }) => Promise; - change_chain_fee: (params: { chain: string; fee: nat }) => Promise; -}; - -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'BridgeStorageCode'; protocol: string; code: object[] }; -}; -export type BridgeStorageContractType = - ContractAbstractionFromContractType; -export type BridgeStorageWalletType = - WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/CollectionFactory.code.ts b/src/contractsTypes/tezos/CollectionFactory.code.ts deleted file mode 100644 index 957505c1..00000000 --- a/src/contractsTypes/tezos/CollectionFactory.code.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const CollectionFactoryCode: { - __type: 'CollectionFactoryCode'; - protocol: string; - code: object[]; -} = { - __type: 'CollectionFactoryCode', - protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"or","annots":["%deploy_nft"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"address","annots":["%set_owner"]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"option","annots":["%owner"],"args":[{"prim":"address"}]},{"prim":"map","annots":["%collection_to_store"],"args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"address"}]}]}]},{"prim":"code","args":[[{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Contract is not initialized"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only owner can call this function"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NONE","args":[{"prim":"key_hash"}]},{"prim":"CREATE_CONTRACT","args":[[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"list","annots":["%update_operators"],"args":[{"prim":"or","args":[{"prim":"pair","annots":["%add_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"pair","annots":["%remove_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]}]}]},{"prim":"or","args":[{"prim":"list","annots":["%mint"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%balance_of"],"args":[{"prim":"list","annots":["%requests"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]}]},{"prim":"contract","annots":["%callback"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"pair","annots":["%request"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"nat","annots":["%balance"]}]}]}]}]},{"prim":"list","annots":["%transfer"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%ledger"],"args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"big_map","annots":["%operators"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"big_map","annots":["%token_metadata"],"args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"big_map","annots":["%metadata"],"args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"address","annots":["%admin"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"address"},{"prim":"unit"},[{"prim":"PUSH","args":[{"prim":"string"},{"string":"The sender can only manage operators for his own token"}]},{"prim":"SENDER"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"nat"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"nat"},{"prim":"address"}]},{"prim":"bool"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"address"},{"prim":"unit"}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]}]}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"SOME"}]]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}]]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Mint Can Only Be Called By Owner"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Token ID Already Exists"}]},{"prim":"FAILWITH"}]]},{"prim":"EMPTY_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PACK"},{"prim":"PUSH","args":[{"prim":"string"},{"string":""}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]}]]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"UNPAIR"},{"prim":"MAP","args":[[{"prim":"DUP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"ITER","args":[[{"prim":"UNPAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"MEM"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_NOT_OPERATOR"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_INSUFFICIENT_BALANCE"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_balance"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]}]]},{"prim":"view","args":[{"string":"owner_of"},{"prim":"nat"},{"prim":"address"},[{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"view","args":[{"string":"total_supply"},{"prim":"nat"},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}]]},{"prim":"view","args":[{"string":"all_tokens"},{"prim":"unit"},{"prim":"set","args":[{"prim":"nat"}]},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"is_operator"},{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"MEM"},{"prim":"OR"}]]},{"prim":"view","args":[{"string":"token_metadata"},{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[]]}]]}]]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Owner already set"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SOME"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_store"},{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"address"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}]]}]`, - ), -}; diff --git a/src/contractsTypes/tezos/CollectionFactory.types.ts b/src/contractsTypes/tezos/CollectionFactory.types.ts deleted file mode 100644 index d6359b77..00000000 --- a/src/contractsTypes/tezos/CollectionFactory.types.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; -import { address, MMap } from './type-aliases'; - -export type Storage = { - owner: { Some: address } | null; - collection_to_store: MMap<{ addr: address } | { str: string }, address>; -}; - -type Methods = { - addr: (param: address) => Promise; - str: (param: string) => Promise; - set_owner: (param: address) => Promise; -}; - -type MethodsObject = { - addr: (param: address) => Promise; - str: (param: string) => Promise; - set_owner: (param: address) => Promise; -}; - -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'CollectionFactoryCode'; protocol: string; code: object[] }; -}; -export type CollectionFactoryContractType = - ContractAbstractionFromContractType; -export type CollectionFactoryWalletType = - WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/MultiAsset.code.ts b/src/contractsTypes/tezos/MultiAsset.code.ts deleted file mode 100644 index 6319026f..00000000 --- a/src/contractsTypes/tezos/MultiAsset.code.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const MultiAssetCode: { - __type: 'MultiAssetCode'; - protocol: string; - code: object[]; -} = { - __type: 'MultiAssetCode', - protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%mint"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]},{"prim":"or","args":[{"prim":"list","annots":["%update_operators"],"args":[{"prim":"or","args":[{"prim":"pair","annots":["%add_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"pair","annots":["%remove_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%balance_of"],"args":[{"prim":"list","annots":["%requests"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]}]},{"prim":"contract","annots":["%callback"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"pair","annots":["%request"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"nat","annots":["%balance"]}]}]}]}]},{"prim":"list","annots":["%transfer"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%ledger"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"big_map","annots":["%operators"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"big_map","annots":["%token_metadata"],"args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"big_map","annots":["%metadata"],"args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"address","annots":["%admin"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"address"},{"prim":"unit"},[{"prim":"PUSH","args":[{"prim":"string"},{"string":"The sender can only manage operators for his own token"}]},{"prim":"SENDER"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"nat"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},[{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]}]},{"prim":"lambda","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"ADD"},{"prim":"DUG","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"EXEC"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Mint Can Only Be Called By Owner"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"EMPTY_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PACK"},{"prim":"SOME"},{"prim":"PUSH","args":[{"prim":"string"},{"string":""}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"UPDATE","args":[{"int":"1"}]}]]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"address"},{"prim":"unit"}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]}]}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"SOME"}]]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}]]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"UNPAIR"},{"prim":"MAP","args":[[{"prim":"DUP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"ITER","args":[[{"prim":"UNPAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"MEM"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_NOT_OPERATOR"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_INSUFFICIENT_BALANCE"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ABS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_balance"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]},{"prim":"view","args":[{"string":"total_supply"},{"prim":"nat"},{"prim":"nat"},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"all_tokens"},{"prim":"unit"},{"prim":"set","args":[{"prim":"nat"}]},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"is_operator"},{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"OR"}]]},{"prim":"view","args":[{"string":"token_metadata"},{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[]]}]]}]`, - ), -}; diff --git a/src/contractsTypes/tezos/NFT.code.ts b/src/contractsTypes/tezos/NFT.code.ts index 07d3f0ae..50e91994 100644 --- a/src/contractsTypes/tezos/NFT.code.ts +++ b/src/contractsTypes/tezos/NFT.code.ts @@ -1,8 +1,6 @@ -export const NFTCode: { __type: 'NFTCode'; protocol: string; code: object[] } = - { - __type: 'NFTCode', - protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"list","annots":["%update_operators"],"args":[{"prim":"or","args":[{"prim":"pair","annots":["%add_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"pair","annots":["%remove_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]}]}]},{"prim":"or","args":[{"prim":"list","annots":["%mint"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%balance_of"],"args":[{"prim":"list","annots":["%requests"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]}]},{"prim":"contract","annots":["%callback"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"pair","annots":["%request"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"nat","annots":["%balance"]}]}]}]}]},{"prim":"list","annots":["%transfer"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%ledger"],"args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"big_map","annots":["%operators"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"big_map","annots":["%token_metadata"],"args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"big_map","annots":["%metadata"],"args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"address","annots":["%admin"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"address"},{"prim":"unit"},[{"prim":"PUSH","args":[{"prim":"string"},{"string":"The sender can only manage operators for his own token"}]},{"prim":"SENDER"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"nat"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"nat"},{"prim":"address"}]},{"prim":"bool"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"address"},{"prim":"unit"}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]}]}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"SOME"}]]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}]]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Mint Can Only Be Called By Owner"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Token ID Already Exists"}]},{"prim":"FAILWITH"}]]},{"prim":"EMPTY_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PACK"},{"prim":"PUSH","args":[{"prim":"string"},{"string":""}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]}]]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"UNPAIR"},{"prim":"MAP","args":[[{"prim":"DUP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"ITER","args":[[{"prim":"UNPAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"MEM"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_NOT_OPERATOR"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_INSUFFICIENT_BALANCE"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_balance"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]}]]},{"prim":"view","args":[{"string":"owner_of"},{"prim":"nat"},{"prim":"address"},[{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"view","args":[{"string":"total_supply"},{"prim":"nat"},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}]]},{"prim":"view","args":[{"string":"all_tokens"},{"prim":"unit"},{"prim":"set","args":[{"prim":"nat"}]},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"is_operator"},{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"MEM"},{"prim":"OR"}]]},{"prim":"view","args":[{"string":"token_metadata"},{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[]]}]]}]`, - ), - }; + +export const NFTCode: { __type: 'NFTCode', protocol: string, code: object[] } = { + __type: 'NFTCode', + protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"list","annots":["%update_operators"],"args":[{"prim":"or","args":[{"prim":"pair","annots":["%add_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"pair","annots":["%remove_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]}]}]},{"prim":"or","args":[{"prim":"list","annots":["%mint"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%balance_of"],"args":[{"prim":"list","annots":["%requests"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]}]},{"prim":"contract","annots":["%callback"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"pair","annots":["%request"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"nat","annots":["%balance"]}]}]}]}]},{"prim":"list","annots":["%transfer"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%ledger"],"args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"big_map","annots":["%operators"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"big_map","annots":["%token_metadata"],"args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"big_map","annots":["%metadata"],"args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"address","annots":["%admin"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"address"},{"prim":"unit"},[{"prim":"PUSH","args":[{"prim":"string"},{"string":"The sender can only manage operators for his own token"}]},{"prim":"SENDER"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"nat"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"nat"},{"prim":"address"}]},{"prim":"bool"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"address"},{"prim":"unit"}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]}]}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"SOME"}]]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}]]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Mint Can Only Be Called By Owner"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Token ID Already Exists"}]},{"prim":"FAILWITH"}]]},{"prim":"EMPTY_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PACK"},{"prim":"PUSH","args":[{"prim":"string"},{"string":""}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]}]]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"UNPAIR"},{"prim":"MAP","args":[[{"prim":"DUP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"ITER","args":[[{"prim":"UNPAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"MEM"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_NOT_OPERATOR"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_INSUFFICIENT_BALANCE"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_balance"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]}]]},{"prim":"view","args":[{"string":"total_supply"},{"prim":"nat"},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}]]},{"prim":"view","args":[{"string":"all_tokens"},{"prim":"unit"},{"prim":"set","args":[{"prim":"nat"}]},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"is_operator"},{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"MEM"},{"prim":"OR"}]]},{"prim":"view","args":[{"string":"token_metadata"},{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[]]}]]}]`) +}; diff --git a/src/contractsTypes/tezos/NFT.types.ts b/src/contractsTypes/tezos/NFT.types.ts index 1c423efd..87d8e865 100644 --- a/src/contractsTypes/tezos/NFT.types.ts +++ b/src/contractsTypes/tezos/NFT.types.ts @@ -1,34 +1,23 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; import { address, BigMap, bytes, contract, MMap, nat } from './type-aliases'; export type Storage = { ledger: BigMap; - operators: BigMap< - { - 0: address; - 1: address; - }, - Array - >; + operators: BigMap<{ + 0: address; + 1: address; + }, Array>; tokens: { - token_metadata: BigMap< - nat, - { - token_id: nat; - token_info: MMap; - } - > + token_metadata: BigMap; + }> }; - token_metadata: BigMap< - nat, - { - token_id: nat; - token_info: MMap; - } - >; + token_metadata: BigMap; + }>; metadata: BigMap; admin: address; }; @@ -44,14 +33,12 @@ type Methods = { operator: address, token_id: nat, ) => Promise; - mint: ( - param: Array<{ - token_id: nat; - token_uri: string; - to: address; - amt: nat; - }>, - ) => Promise; + mint: (param: Array<{ + token_id: nat; + token_uri: string; + to: address; + amt: nat; + }>) => Promise; balance_of: ( requests: Array<{ owner: address; @@ -59,63 +46,50 @@ type Methods = { }>, callback: contract, ) => Promise; - transfer: ( - param: Array<{ - from_: address; - txs: Array<{ - to_: address; - token_id: nat; - amount: nat; - }>; - }>, - ) => Promise; + transfer: (param: Array<{ + from_: address; + txs: Array<{ + to_: address; + token_id: nat; + amount: nat; + }>; + }>) => Promise; }; type MethodsObject = { add_operator: (params: { - owner: address; - operator: address; - token_id: nat; + owner: address, + operator: address, + token_id: nat, }) => Promise; remove_operator: (params: { - owner: address; - operator: address; - token_id: nat; + owner: address, + operator: address, + token_id: nat, }) => Promise; - mint: ( - param: Array<{ - token_id: nat; - token_uri: string; - to: address; - amt: nat; - }>, - ) => Promise; + mint: (param: Array<{ + token_id: nat; + token_uri: string; + to: address; + amt: nat; + }>) => Promise; balance_of: (params: { requests: Array<{ owner: address; token_id: nat; - }>; - callback: contract; - }) => Promise; - transfer: ( - param: Array<{ - from_: address; - txs: Array<{ - to_: address; - token_id: nat; - amount: nat; - }>; }>, - ) => Promise; + callback: contract, + }) => Promise; + transfer: (param: Array<{ + from_: address; + txs: Array<{ + to_: address; + token_id: nat; + amount: nat; + }>; + }>) => Promise; }; -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'NFTCode'; protocol: string; code: object[] }; -}; -export type NFTContractType = - ContractAbstractionFromContractType; -export type NFTWalletType = - WalletContractAbstractionFromContractType; +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'NFTCode', protocol: string, code: object[] } }; +export type NFTContractType = ContractAbstractionFromContractType; +export type NFTWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/NFTCollectionFactory.code.ts b/src/contractsTypes/tezos/NFTCollectionFactory.code.ts new file mode 100644 index 00000000..9f0c872a --- /dev/null +++ b/src/contractsTypes/tezos/NFTCollectionFactory.code.ts @@ -0,0 +1,6 @@ + +export const NFTCollectionFactoryCode: { __type: 'NFTCollectionFactoryCode', protocol: string, code: object[] } = { + __type: 'NFTCollectionFactoryCode', + protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%deploy_nft"],"args":[{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string","annots":["%name"]},{"prim":"string","annots":["%symbol"]}]},{"prim":"address","annots":["%set_owner"]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"option","annots":["%owner"],"args":[{"prim":"address"}]},{"prim":"map","annots":["%collection_to_store"],"args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"address"}]}]}]},{"prim":"code","args":[[{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Contract is not initialized"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only owner can call this function"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NONE","args":[{"prim":"key_hash"}]},{"prim":"CREATE_CONTRACT","args":[[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"list","annots":["%update_operators"],"args":[{"prim":"or","args":[{"prim":"pair","annots":["%add_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"pair","annots":["%remove_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]}]}]},{"prim":"or","args":[{"prim":"list","annots":["%mint"],"args":[{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%balance_of"],"args":[{"prim":"list","annots":["%requests"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]}]},{"prim":"contract","annots":["%callback"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"pair","annots":["%request"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"nat","annots":["%balance"]}]}]}]}]},{"prim":"list","annots":["%transfer"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%ledger"],"args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"big_map","annots":["%operators"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"big_map","annots":["%token_metadata"],"args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"big_map","annots":["%metadata"],"args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"address","annots":["%admin"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"address"},{"prim":"unit"},[{"prim":"PUSH","args":[{"prim":"string"},{"string":"The sender can only manage operators for his own token"}]},{"prim":"SENDER"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"nat"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"address"}]},{"prim":"nat"},{"prim":"address"}]},{"prim":"bool"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"address"},{"prim":"unit"}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]}]}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"SOME"}]]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}]]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Mint Can Only Be Called By Owner"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Token ID Already Exists"}]},{"prim":"FAILWITH"}]]},{"prim":"EMPTY_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PACK"},{"prim":"PUSH","args":[{"prim":"string"},{"string":""}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]}]]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"UNPAIR"},{"prim":"MAP","args":[[{"prim":"DUP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"ITER","args":[[{"prim":"UNPAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"MEM"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_NOT_OPERATOR"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_INSUFFICIENT_BALANCE"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_balance"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}],[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}]]}]]},{"prim":"view","args":[{"string":"total_supply"},{"prim":"nat"},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]}]]},{"prim":"view","args":[{"string":"all_tokens"},{"prim":"unit"},{"prim":"set","args":[{"prim":"nat"}]},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"is_operator"},{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"MEM"},{"prim":"OR"}]]},{"prim":"view","args":[{"string":"token_metadata"},{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[]]}]]}]]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Owner already set"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SOME"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_store"},{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"address"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}]]}]`) +}; diff --git a/src/contractsTypes/tezos/NFTCollectionFactory.types.ts b/src/contractsTypes/tezos/NFTCollectionFactory.types.ts new file mode 100644 index 00000000..eebc21f3 --- /dev/null +++ b/src/contractsTypes/tezos/NFTCollectionFactory.types.ts @@ -0,0 +1,39 @@ + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; +import { address, MMap } from './type-aliases'; + +export type Storage = { + owner: {Some: address} | null; + collection_to_store: MMap<( + { addr: address } + | { str: string } + ), address>; +}; + +type Methods = { + deploy_nft: ( + collection: ( + { addr: address } + | { str: string } + ), + name: string, + symbol: string, + ) => Promise; + set_owner: (param: address) => Promise; +}; + +type MethodsObject = { + deploy_nft: (params: { + collection: ( + { addr: address } + | { str: string } + ), + name: string, + symbol: string, + }) => Promise; + set_owner: (param: address) => Promise; +}; + +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'NFTCollectionFactoryCode', protocol: string, code: object[] } }; +export type NFTCollectionFactoryContractType = ContractAbstractionFromContractType; +export type NFTCollectionFactoryWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/NFTStorage.code.ts b/src/contractsTypes/tezos/NFTStorage.code.ts index 89c751ca..a2ed4963 100644 --- a/src/contractsTypes/tezos/NFTStorage.code.ts +++ b/src/contractsTypes/tezos/NFTStorage.code.ts @@ -1,11 +1,6 @@ -export const NFTStorageCode: { - __type: 'NFTStorageCode'; - protocol: string; - code: object[]; -} = { + +export const NFTStorageCode: { __type: 'NFTStorageCode', protocol: string, code: object[] } = { __type: 'NFTStorageCode', protocol: 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]}]},{"prim":"nat","annots":["%add_deposited_token"]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]},{"prim":"set","annots":["%locked"],"args":[{"prim":"nat"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"unit"},[{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"UNIT"}]]},{"prim":"SWAP"},[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"GET","args":[{"int":"3"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},[{"prim":"DIP","args":[{"int":"6"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"7"}]}],{"prim":"CAR"},[{"prim":"DIP","args":[{"int":"7"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"8"}]}],{"prim":"CDR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}],{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}],{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]},{"prim":"view","args":[{"string":"has_locked_token"},{"prim":"nat"},{"prim":"bool"},[[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"SWAP"},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"MEM"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]}]`, - ), + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]}]},{"prim":"nat","annots":["%add_deposited_token"]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]},{"prim":"set","annots":["%locked"],"args":[{"prim":"nat"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"unit"},[{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"UNIT"}]]},{"prim":"SWAP"},[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"GET","args":[{"int":"3"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},[{"prim":"DIP","args":[{"int":"6"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"7"}]}],{"prim":"CAR"},[{"prim":"DIP","args":[{"int":"7"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"8"}]}],{"prim":"CDR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}],{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}],{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]},{"prim":"view","args":[{"string":"has_locked_token"},{"prim":"nat"},{"prim":"bool"},[[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"SWAP"},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"MEM"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]}]`) }; diff --git a/src/contractsTypes/tezos/NFTStorage.types.ts b/src/contractsTypes/tezos/NFTStorage.types.ts index 15559c8c..3aadd398 100644 --- a/src/contractsTypes/tezos/NFTStorage.types.ts +++ b/src/contractsTypes/tezos/NFTStorage.types.ts @@ -1,7 +1,5 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; import { address, nat } from './type-aliases'; export type Storage = { @@ -11,22 +9,21 @@ export type Storage = { }; type Methods = { - unlock_token: (token_id: nat, to: address) => Promise; + unlock_token: ( + token_id: nat, + to: address, + ) => Promise; add_deposited_token: (param: nat) => Promise; }; type MethodsObject = { - unlock_token: (params: { token_id: nat; to: address }) => Promise; + unlock_token: (params: { + token_id: nat, + to: address, + }) => Promise; add_deposited_token: (param: nat) => Promise; }; -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'NFTStorageCode'; protocol: string; code: object[] }; -}; -export type NFTStorageContractType = - ContractAbstractionFromContractType; -export type NFTStorageWalletType = - WalletContractAbstractionFromContractType; +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'NFTStorageCode', protocol: string, code: object[] } }; +export type NFTStorageContractType = ContractAbstractionFromContractType; +export type NFTStorageWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/SFT.code.ts b/src/contractsTypes/tezos/SFT.code.ts new file mode 100644 index 00000000..e4b78fd9 --- /dev/null +++ b/src/contractsTypes/tezos/SFT.code.ts @@ -0,0 +1,6 @@ + +export const SFTCode: { __type: 'SFTCode', protocol: string, code: object[] } = { + __type: 'SFTCode', + protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%mint"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]},{"prim":"or","args":[{"prim":"list","annots":["%update_operators"],"args":[{"prim":"or","args":[{"prim":"pair","annots":["%add_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"pair","annots":["%remove_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%balance_of"],"args":[{"prim":"list","annots":["%requests"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]}]},{"prim":"contract","annots":["%callback"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"pair","annots":["%request"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"nat","annots":["%balance"]}]}]}]}]},{"prim":"list","annots":["%transfer"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%ledger"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"big_map","annots":["%operators"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"big_map","annots":["%token_metadata"],"args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"big_map","annots":["%metadata"],"args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"address","annots":["%admin"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"address"},{"prim":"unit"},[{"prim":"PUSH","args":[{"prim":"string"},{"string":"The sender can only manage operators for his own token"}]},{"prim":"SENDER"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"nat"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},[{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]}]},{"prim":"lambda","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"ADD"},{"prim":"DUG","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"EXEC"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Mint Can Only Be Called By Owner"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"EMPTY_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PACK"},{"prim":"SOME"},{"prim":"PUSH","args":[{"prim":"string"},{"string":""}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"UPDATE","args":[{"int":"1"}]}]]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"address"},{"prim":"unit"}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]}]}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"SOME"}]]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}]]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"UNPAIR"},{"prim":"MAP","args":[[{"prim":"DUP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"ITER","args":[[{"prim":"UNPAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"MEM"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_NOT_OPERATOR"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_INSUFFICIENT_BALANCE"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ABS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_balance"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]},{"prim":"view","args":[{"string":"total_supply"},{"prim":"nat"},{"prim":"nat"},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"all_tokens"},{"prim":"unit"},{"prim":"set","args":[{"prim":"nat"}]},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"is_operator"},{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"OR"}]]},{"prim":"view","args":[{"string":"token_metadata"},{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[]]}]]}]`) +}; diff --git a/src/contractsTypes/tezos/MultiAsset.types.ts b/src/contractsTypes/tezos/SFT.types.ts similarity index 52% rename from src/contractsTypes/tezos/MultiAsset.types.ts rename to src/contractsTypes/tezos/SFT.types.ts index a61272ad..fb6fdf5d 100644 --- a/src/contractsTypes/tezos/MultiAsset.types.ts +++ b/src/contractsTypes/tezos/SFT.types.ts @@ -1,31 +1,20 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; import { address, BigMap, bytes, contract, MMap, nat } from './type-aliases'; export type Storage = { - ledger: BigMap< - { - 0: address; - 1: nat; - }, - nat - >; - operators: BigMap< - { - 0: address; - 1: address; - }, - Array - >; - token_metadata: BigMap< - nat, - { - token_id: nat; - token_info: MMap; - } - >; + ledger: BigMap<{ + 0: address; + 1: nat; + }, nat>; + operators: BigMap<{ + 0: address; + 1: address; + }, Array>; + token_metadata: BigMap; + }>; metadata: BigMap; admin: address; }; @@ -54,61 +43,50 @@ type Methods = { }>, callback: contract, ) => Promise; - transfer: ( - param: Array<{ + transfer: (param: Array<{ from_: address; txs: Array<{ to_: address; token_id: nat; amount: nat; }>; - }>, - ) => Promise; + }>) => Promise; }; type MethodsObject = { mint: (params: { - token_id: nat; - token_uri: string; - to: address; - amt: nat; + token_id: nat, + token_uri: string, + to: address, + amt: nat, }) => Promise; add_operator: (params: { - owner: address; - operator: address; - token_id: nat; + owner: address, + operator: address, + token_id: nat, }) => Promise; remove_operator: (params: { - owner: address; - operator: address; - token_id: nat; + owner: address, + operator: address, + token_id: nat, }) => Promise; balance_of: (params: { requests: Array<{ owner: address; token_id: nat; - }>; - callback: contract; + }>, + callback: contract, }) => Promise; - transfer: ( - param: Array<{ + transfer: (param: Array<{ from_: address; txs: Array<{ to_: address; token_id: nat; amount: nat; }>; - }>, - ) => Promise; + }>) => Promise; }; -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'MultiAssetCode'; protocol: string; code: object[] }; -}; -export type MultiAssetContractType = - ContractAbstractionFromContractType; -export type MultiAssetWalletType = - WalletContractAbstractionFromContractType; +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'SFTCode', protocol: string, code: object[] } }; +export type SFTContractType = ContractAbstractionFromContractType; +export type SFTWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/SFTCollectionFactory.code.ts b/src/contractsTypes/tezos/SFTCollectionFactory.code.ts new file mode 100644 index 00000000..3e4e9a01 --- /dev/null +++ b/src/contractsTypes/tezos/SFTCollectionFactory.code.ts @@ -0,0 +1,6 @@ + +export const SFTCollectionFactoryCode: { __type: 'SFTCollectionFactoryCode', protocol: string, code: object[] } = { + __type: 'SFTCollectionFactoryCode', + protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%deploy_sft"],"args":[{"prim":"or","annots":["%collection"],"args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"string","annots":["%name"]},{"prim":"string","annots":["%symbol"]}]},{"prim":"address","annots":["%set_owner"]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"option","annots":["%owner"],"args":[{"prim":"address"}]},{"prim":"map","annots":["%collection_to_store"],"args":[{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"address"}]}]}]},{"prim":"code","args":[[{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Contract is not initialized"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only owner can call this function"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"EMPTY_BIG_MAP","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NONE","args":[{"prim":"key_hash"}]},{"prim":"CREATE_CONTRACT","args":[[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%mint"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"string","annots":["%token_uri"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]},{"prim":"or","args":[{"prim":"list","annots":["%update_operators"],"args":[{"prim":"or","args":[{"prim":"pair","annots":["%add_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"pair","annots":["%remove_operator"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]}]}]},{"prim":"or","args":[{"prim":"pair","annots":["%balance_of"],"args":[{"prim":"list","annots":["%requests"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]}]},{"prim":"contract","annots":["%callback"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"pair","annots":["%request"],"args":[{"prim":"address","annots":["%owner"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"nat","annots":["%balance"]}]}]}]}]},{"prim":"list","annots":["%transfer"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%ledger"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"big_map","annots":["%operators"],"args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"big_map","annots":["%token_metadata"],"args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"big_map","annots":["%metadata"],"args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"address","annots":["%admin"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"address"},{"prim":"unit"},[{"prim":"PUSH","args":[{"prim":"string"},{"string":"The sender can only manage operators for his own token"}]},{"prim":"SENDER"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"FAILWITH"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"string"},{"prim":"bytes"}]}]}]},{"prim":"nat"}]},{"prim":"unit"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"UNIT"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},[{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]}]},{"prim":"lambda","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"}]},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UNPAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"ADD"},{"prim":"DUG","args":[{"int":"3"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"EXEC"}]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Mint Can Only Be Called By Owner"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"8"}]},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"EMPTY_MAP","args":[{"prim":"string"},{"prim":"bytes"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"PACK"},{"prim":"SOME"},{"prim":"PUSH","args":[{"prim":"string"},{"string":""}]},{"prim":"UPDATE"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"6"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"SOME"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"5"}]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"UPDATE","args":[{"int":"1"}]}]]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"lambda","args":[{"prim":"address"},{"prim":"unit"}]},{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"}]}]}]}]},{"prim":"big_map","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"set","args":[{"prim":"nat"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}],[{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"4"}]}],[{"prim":"DUP"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"UPDATE"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"set","args":[{"prim":"nat"}]}]}],[{"prim":"SOME"}]]}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},{"prim":"UPDATE"}]]}]]}]]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"APPLY"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"},{"prim":"UPDATE","args":[{"int":"3"}]},{"prim":"NIL","args":[{"prim":"operation"}]}],[{"prim":"DIG","args":[{"int":"6"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"UNPAIR"},{"prim":"MAP","args":[[{"prim":"DUP"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"CAR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"TRANSFER_TOKENS"},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"ITER","args":[[{"prim":"UNPAIR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"ITER","args":[[{"prim":"UNPAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"11"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SENDER"},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"DUP","args":[{"int":"7"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"MEM"},{"prim":"NOT"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_NOT_OPERATOR"}]},{"prim":"FAILWITH"}],[]]}],[{"prim":"DROP"}]]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"DUP","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"10"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_INSUFFICIENT_BALANCE"}]},{"prim":"DUP","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"COMPARE"},{"prim":"GE"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"FAILWITH"}]]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ABS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"PAIR","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP","args":[{"int":"4"}]},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_balance"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"nat"},[{"prim":"UNPAIR"},{"prim":"UNPAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"5"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"}]]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]},{"prim":"view","args":[{"string":"total_supply"},{"prim":"nat"},{"prim":"nat"},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"all_tokens"},{"prim":"unit"},{"prim":"set","args":[{"prim":"nat"}]},[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"Feature not available. Maybe use an indexer instead"}]},{"prim":"FAILWITH"}]]},{"prim":"view","args":[{"string":"is_operator"},{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%operator"]},{"prim":"nat","annots":["%token_id"]}]},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"DUP"},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_SET","args":[{"prim":"nat"}]}],[]]},{"prim":"SIZE"},{"prim":"COMPARE"},{"prim":"GT"},{"prim":"OR"}]]},{"prim":"view","args":[{"string":"token_metadata"},{"prim":"nat"},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"FA2_TOKEN_UNDEFINED"}]},{"prim":"FAILWITH"}],[]]}]]}]]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Owner already set"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SOME"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_store"},{"prim":"or","args":[{"prim":"address","annots":["%addr"]},{"prim":"string","annots":["%str"]}]},{"prim":"address"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}]]}]`) +}; diff --git a/src/contractsTypes/tezos/SFTCollectionFactory.types.ts b/src/contractsTypes/tezos/SFTCollectionFactory.types.ts new file mode 100644 index 00000000..b1dab1c5 --- /dev/null +++ b/src/contractsTypes/tezos/SFTCollectionFactory.types.ts @@ -0,0 +1,39 @@ + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; +import { address, MMap } from './type-aliases'; + +export type Storage = { + owner: {Some: address} | null; + collection_to_store: MMap<( + { addr: address } + | { str: string } + ), address>; +}; + +type Methods = { + deploy_sft: ( + collection: ( + { addr: address } + | { str: string } + ), + name: string, + symbol: string, + ) => Promise; + set_owner: (param: address) => Promise; +}; + +type MethodsObject = { + deploy_sft: (params: { + collection: ( + { addr: address } + | { str: string } + ), + name: string, + symbol: string, + }) => Promise; + set_owner: (param: address) => Promise; +}; + +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'SFTCollectionFactoryCode', protocol: string, code: object[] } }; +export type SFTCollectionFactoryContractType = ContractAbstractionFromContractType; +export type SFTCollectionFactoryWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/SFTStorage.code.ts b/src/contractsTypes/tezos/SFTStorage.code.ts index c1fb10c6..c4141107 100644 --- a/src/contractsTypes/tezos/SFTStorage.code.ts +++ b/src/contractsTypes/tezos/SFTStorage.code.ts @@ -1,11 +1,6 @@ -export const SFTStorageCode: { - __type: 'SFTStorageCode'; - protocol: string; - code: object[]; -} = { + +export const SFTStorageCode: { __type: 'SFTStorageCode', protocol: string, code: object[] } = { __type: 'SFTStorageCode', protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]},{"prim":"pair","annots":["%deposit_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amt"]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"},{"prim":"nat"},{"prim":"address"},{"prim":"address"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CDR"},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]}]`, - ), + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]},{"prim":"pair","annots":["%deposit_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amt"]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"},{"prim":"nat"},{"prim":"address"},{"prim":"address"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CDR"},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]}]`) }; diff --git a/src/contractsTypes/tezos/SFTStorage.types.ts b/src/contractsTypes/tezos/SFTStorage.types.ts index 034cfe77..5203a156 100644 --- a/src/contractsTypes/tezos/SFTStorage.types.ts +++ b/src/contractsTypes/tezos/SFTStorage.types.ts @@ -1,7 +1,5 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; import { address, nat } from './type-aliases'; export type Storage = { @@ -10,26 +8,29 @@ export type Storage = { }; type Methods = { - unlock_token: (token_id: nat, to: address, amt: nat) => Promise; - deposit_token: (token_id: nat, amt: nat) => Promise; + unlock_token: ( + token_id: nat, + to: address, + amt: nat, + ) => Promise; + deposit_token: ( + token_id: nat, + amt: nat, + ) => Promise; }; type MethodsObject = { unlock_token: (params: { - token_id: nat; - to: address; - amt: nat; + token_id: nat, + to: address, + amt: nat, + }) => Promise; + deposit_token: (params: { + token_id: nat, + amt: nat, }) => Promise; - deposit_token: (params: { token_id: nat; amt: nat }) => Promise; }; -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'SFTStorageCode'; protocol: string; code: object[] }; -}; -export type SFTStorageContractType = - ContractAbstractionFromContractType; -export type SFTStorageWalletType = - WalletContractAbstractionFromContractType; +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'SFTStorageCode', protocol: string, code: object[] } }; +export type SFTStorageContractType = ContractAbstractionFromContractType; +export type SFTStorageWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/StorageFactory.code.ts b/src/contractsTypes/tezos/StorageFactory.code.ts index 662fde1f..08c1412a 100644 --- a/src/contractsTypes/tezos/StorageFactory.code.ts +++ b/src/contractsTypes/tezos/StorageFactory.code.ts @@ -1,11 +1,6 @@ -export const StorageFactoryCode: { - __type: 'StorageFactoryCode'; - protocol: string; - code: object[]; -} = { + +export const StorageFactoryCode: { __type: 'StorageFactoryCode', protocol: string, code: object[] } = { __type: 'StorageFactoryCode', protocol: 'PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA', - code: JSON.parse( - `[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"address","annots":["%deploy_sft_storage"]},{"prim":"or","args":[{"prim":"address","annots":["%deploy_nft_storage"]},{"prim":"address","annots":["%set_owner"]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"option","annots":["%owner"],"args":[{"prim":"address"}]},{"prim":"map","annots":["%collection_to_store"],"args":[{"prim":"address"},{"prim":"address"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"option","args":[{"prim":"address"}]},{"prim":"map","args":[{"prim":"address"},{"prim":"address"}]}]},{"prim":"unit"},[{"prim":"DUP"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Contract is not initialized"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SENDER"},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only owner can call this function"}]},{"prim":"FAILWITH"}],[]]},{"prim":"UNIT"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NONE","args":[{"prim":"key_hash"}]},{"prim":"CREATE_CONTRACT","args":[[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]},{"prim":"pair","annots":["%deposit_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amt"]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"},{"prim":"nat"},{"prim":"address"},{"prim":"address"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CDR"},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]}]]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CONS"}],[{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NONE","args":[{"prim":"key_hash"}]},{"prim":"CREATE_CONTRACT","args":[[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]}]},{"prim":"nat","annots":["%add_deposited_token"]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]},{"prim":"set","annots":["%locked"],"args":[{"prim":"nat"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"unit"},[{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"UNIT"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CDR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]},{"prim":"view","args":[{"string":"has_locked_token"},{"prim":"nat"},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"MEM"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]}]]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Owner already set"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SOME"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_store"},{"prim":"address"},{"prim":"address"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}]]}]`, - ), + code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"address","annots":["%deploy_sft_storage"]},{"prim":"or","args":[{"prim":"address","annots":["%deploy_nft_storage"]},{"prim":"address","annots":["%set_owner"]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"option","annots":["%owner"],"args":[{"prim":"address"}]},{"prim":"map","annots":["%collection_to_store"],"args":[{"prim":"address"},{"prim":"address"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"option","args":[{"prim":"address"}]},{"prim":"map","args":[{"prim":"address"},{"prim":"address"}]}]},{"prim":"unit"},[{"prim":"DUP"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Contract is not initialized"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SENDER"},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Only owner can call this function"}]},{"prim":"FAILWITH"}],[]]},{"prim":"UNIT"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NONE","args":[{"prim":"key_hash"}]},{"prim":"CREATE_CONTRACT","args":[[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]},{"prim":"nat","annots":["%amt"]}]},{"prim":"pair","annots":["%deposit_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amt"]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"nat"},{"prim":"nat"},{"prim":"address"},{"prim":"address"}]},{"prim":"operation"},[{"prim":"UNPAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CDR"},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}],[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SOURCE"},{"prim":"PAIR","args":[{"int":"5"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"EXEC"}]]},{"prim":"SWAP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CDR"}]]}]]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CONS"}],[{"prim":"IF_LEFT","args":[[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"EMPTY_SET","args":[{"prim":"nat"}]},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DUP","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Unreachable"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NONE","args":[{"prim":"key_hash"}]},{"prim":"CREATE_CONTRACT","args":[[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%unlock_token"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"address","annots":["%to"]}]},{"prim":"nat","annots":["%add_deposited_token"]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"address","annots":["%owner"]},{"prim":"address","annots":["%collection"]},{"prim":"set","annots":["%locked"],"args":[{"prim":"nat"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"},{"prim":"set","args":[{"prim":"nat"}]}]},{"prim":"unit"},[{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Cannot perform this function since you are not the owner."}]},{"prim":"FAILWITH"}],[]]},{"prim":"UNIT"}]]},{"prim":"SWAP"},{"prim":"UNPAIR"},{"prim":"IF_LEFT","args":[[{"prim":"SELF_ADDRESS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"3"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"bad address for get_entrypoint"}]},{"prim":"FAILWITH"}],[]]},{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"},{"prim":"nat"}]}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DUP","args":[{"int":"7"}]},{"prim":"CAR"},{"prim":"DUP","args":[{"int":"8"}]},{"prim":"CDR"},{"prim":"PAIR","args":[{"int":"3"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"}],[{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"GET","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"UPDATE"},{"prim":"UPDATE","args":[{"int":"4"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_collection_address"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]},{"prim":"view","args":[{"string":"has_locked_token"},{"prim":"nat"},{"prim":"bool"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"GET","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"MEM"}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"GET","args":[{"int":"3"}]}]]}]]},{"prim":"PAIR"},{"prim":"DUP","args":[{"int":"3"}]},{"prim":"CDR"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"SOME"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"UPDATE","args":[{"int":"2"}]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CONS"}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DUP","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"False"}]}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"bool"},{"prim":"True"}]}]]},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"Owner already set"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SOME"},{"prim":"UPDATE","args":[{"int":"1"}]},{"prim":"NIL","args":[{"prim":"operation"}]}]]}]]},{"prim":"PAIR"}]]},{"prim":"view","args":[{"string":"get_store"},{"prim":"address"},{"prim":"address"},[{"prim":"UNPAIR"},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"MAP FIND"}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"view","args":[{"string":"get_owner"},{"prim":"unit"},{"prim":"address"},[{"prim":"CDR"},{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"option is None"}]},{"prim":"FAILWITH"}],[]]}]]}]`) }; diff --git a/src/contractsTypes/tezos/StorageFactory.types.ts b/src/contractsTypes/tezos/StorageFactory.types.ts index 6ffed020..5e469906 100644 --- a/src/contractsTypes/tezos/StorageFactory.types.ts +++ b/src/contractsTypes/tezos/StorageFactory.types.ts @@ -1,11 +1,9 @@ -import { - ContractAbstractionFromContractType, - WalletContractAbstractionFromContractType, -} from './type-utils'; + +import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils'; import { address, MMap } from './type-aliases'; export type Storage = { - owner: { Some: address } | null; + owner: {Some: address} | null; collection_to_store: MMap; }; @@ -21,13 +19,6 @@ type MethodsObject = { set_owner: (param: address) => Promise; }; -type contractTypes = { - methods: Methods; - methodsObject: MethodsObject; - storage: Storage; - code: { __type: 'StorageFactoryCode'; protocol: string; code: object[] }; -}; -export type StorageFactoryContractType = - ContractAbstractionFromContractType; -export type StorageFactoryWalletType = - WalletContractAbstractionFromContractType; +type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'StorageFactoryCode', protocol: string, code: object[] } }; +export type StorageFactoryContractType = ContractAbstractionFromContractType; +export type StorageFactoryWalletType = WalletContractAbstractionFromContractType; diff --git a/src/contractsTypes/tezos/schema.ts b/src/contractsTypes/tezos/schema.ts index 2932502b..789e5ee9 100644 --- a/src/contractsTypes/tezos/schema.ts +++ b/src/contractsTypes/tezos/schema.ts @@ -32,4 +32,4 @@ export const TezosNftTransferDetailsTypes = { export const TezosNftTransferDetailsSchema = new Schema( TezosNftTransferDetailsTypes, -); +); \ No newline at end of file diff --git a/src/contractsTypes/tezos/type-aliases.ts b/src/contractsTypes/tezos/type-aliases.ts index be44ea8d..0f43e005 100644 --- a/src/contractsTypes/tezos/type-aliases.ts +++ b/src/contractsTypes/tezos/type-aliases.ts @@ -1,8 +1,5 @@ -import { - assertMichelsonInstruction, - Expr, - MichelsonCode, -} from '@taquito/michel-codec'; + +import { assertMichelsonInstruction, Expr, MichelsonCode } from '@taquito/michel-codec'; import { MichelsonMap } from '@taquito/taquito'; import { BigNumber } from 'bignumber.js'; @@ -27,86 +24,76 @@ export type nat = BigNumber & { __type: 'nat' }; export type mutez = BigNumber & { __type: 'mutez' }; export type tez = BigNumber & { __type: 'tez' }; -type MapKey = Array | object | string | boolean | number; -export type MMap = Omit, 'get'> & { - get: (key: K) => V; -}; -export type BigMap = Omit, 'get'> & { - get: (key: K) => Promise; -}; +type MapKey = Array | object | string | boolean | number; +export type MMap = Omit, 'get'> & { get: (key: K) => V }; +export type BigMap = Omit, 'get'> & { get: (key: K) => Promise }; export type chest = string & { __type: 'chest' }; export type chest_key = string & { __type: 'chest_key' }; const createStringTypeTas = () => { - return (value: string): T => value as T; + return (value: string): T => value as T; }; const createBigNumberTypeTas = () => { - return (value: number | BigNumber | string): T => new BigNumber(value) as T; + return (value: number | BigNumber | string): T => new BigNumber(value) as T; }; -type asMapParamOf = K extends string - ? { [key: string]: V } | Array<{ key: K; value: V }> - : K extends number - ? { [key: number]: V } | Array<{ key: K; value: V }> - : Array<{ key: K; value: V }>; +type asMapParamOf = K extends string ? { [key: string]: V } | Array<{ key: K; value: V }> + : K extends number ? { [key: number]: V } | Array<{ key: K; value: V }> + : Array<{ key: K; value: V }>; function asMap(value: asMapParamOf): MMap { - const m = new MichelsonMap(); - if (Array.isArray(value)) { - const vArray = value as Array<{ key: K; value: V }>; - vArray.forEach((x) => m.set(x.key, x.value)); - } else { - const vObject = value as { [key: string]: V }; - Object.keys(vObject).forEach((key) => - m.set(key as unknown as K, vObject[key]), - ); - } - return m as MMap; + const m = new MichelsonMap(); + if (Array.isArray(value)) { + const vArray = value as Array<{ key: K; value: V }>; + vArray.forEach(x => m.set(x.key, x.value)); + } else { + const vObject = value as { [key: string]: V }; + Object.keys(vObject).forEach(key => m.set(key as unknown as K, vObject[key])); + } + return m as MMap; } -const asBigMap = (value: asMapParamOf) => - asMap(value) as unknown as BigMap; +const asBigMap = (value: asMapParamOf) => asMap(value) as unknown as BigMap; function add(a: T, b: T): T { - return a.plus(b) as T; + return a.plus(b) as T; } function subtract(a: T, b: T): T { - return a.minus(b) as T; + return a.minus(b) as T; } function createLambdaTypeTas(expr: Expr): MichelsonCode { - assertMichelsonInstruction(expr); + assertMichelsonInstruction(expr); return expr as MichelsonCode; } /** tas: Tezos 'as' casting for strict types */ export const tas = { - address: createStringTypeTas
(), - bytes: createStringTypeTas(), - contract: createStringTypeTas(), - chest: createStringTypeTas(), - signature: createStringTypeTas(), - key: createStringTypeTas(), - chest_key: createStringTypeTas(), - timestamp: (value: string | Date): timestamp => - new Date(value).toISOString() as timestamp, - - int: createBigNumberTypeTas(), - nat: createBigNumberTypeTas(), - mutez: createBigNumberTypeTas(), - tez: createBigNumberTypeTas(), - - map: asMap, - bigMap: asBigMap, - - // Operations - add, - subtract, + address: createStringTypeTas
(), + bytes: createStringTypeTas(), + contract: createStringTypeTas(), + chest: createStringTypeTas(), + signature: createStringTypeTas(), + key: createStringTypeTas(), + chest_key: createStringTypeTas(), + timestamp: (value: string | Date): timestamp => new Date(value).toISOString() as timestamp, + + int: createBigNumberTypeTas(), + nat: createBigNumberTypeTas(), + mutez: createBigNumberTypeTas(), + tez: createBigNumberTypeTas(), + + map: asMap, + bigMap: asBigMap, + + // Operations + add, + subtract, lambda: createLambdaTypeTas, - // To number - number: (value: string | BigNumber) => Number(value + ''), - unit: () => true as unit, + // To number + number: (value: string | BigNumber) => Number(value + ''), + unit: () => true as unit, }; diff --git a/src/contractsTypes/tezos/type-utils.ts b/src/contractsTypes/tezos/type-utils.ts index ede0686b..7b055486 100644 --- a/src/contractsTypes/tezos/type-utils.ts +++ b/src/contractsTypes/tezos/type-utils.ts @@ -1,60 +1,36 @@ -/* eslint-disable @typescript-eslint/ban-types */ -import { - ContractAbstraction, - ContractMethod, - ContractMethodObject, - ContractProvider, - Wallet, -} from '@taquito/taquito'; +import { ContractAbstraction, ContractMethod, ContractMethodObject, ContractProvider, Wallet } from '@taquito/taquito'; -type BaseContractType = { - methods: unknown; - methodsObject: unknown; - storage: unknown; -}; +type BaseContractType = { methods: unknown, methodsObject: unknown, storage: unknown }; -type ContractMethodsOf< - T extends ContractProvider | Wallet, - TContract extends BaseContractType, -> = { - [M in keyof TContract['methods']]: TContract['methods'][M] extends ( - ...args: infer A - ) => unknown - ? (...args: A) => ContractMethod - : never; +type ContractMethodsOf = { +[M in keyof TContract['methods']]: +TContract['methods'][M] extends (...args: infer A) => unknown +? (...args: A) => ContractMethod +: never }; -type ContractMethodsObjectsOf< - T extends ContractProvider | Wallet, - TContract extends BaseContractType, -> = { - [M in keyof TContract['methodsObject']]: TContract['methodsObject'][M] extends ( - ...args: infer A - ) => unknown - ? (...args: A) => ContractMethodObject - : never; +type ContractMethodsObjectsOf = { +[M in keyof TContract['methodsObject']]: +TContract['methodsObject'][M] extends (...args: infer A) => unknown +? (...args: A) => ContractMethodObject +: never }; -type ContractStorageOf = - TContract['storage']; +type ContractStorageOf = TContract['storage']; -export type ContractAbstractionFromContractType< - TContract extends BaseContractType, -> = ContractAbstraction< - ContractProvider, - ContractMethodsOf, - ContractMethodsObjectsOf, - {}, - {}, - ContractStorageOf ->; +export type ContractAbstractionFromContractType = + ContractAbstraction, + ContractMethodsObjectsOf, + {}, + {}, + ContractStorageOf + >; -export type WalletContractAbstractionFromContractType< - TContract extends BaseContractType, -> = ContractAbstraction< - Wallet, - ContractMethodsOf, - ContractMethodsObjectsOf, - {}, - {}, - ContractStorageOf ->; +export type WalletContractAbstractionFromContractType = + ContractAbstraction, + ContractMethodsObjectsOf, + {}, + {}, + ContractStorageOf + >;