diff --git a/.env.devnet b/.env.devnet index d57acc4f..ec4f4ca2 100644 --- a/.env.devnet +++ b/.env.devnet @@ -10,7 +10,7 @@ DEVNET_DUMP_PATH="./assets/devnet-dump.json" CAIRO_VERSION=2.6.2 SCARB_VERSION=2.6.2 -STARKNET_DEVNET_VERSION=0.0.5 +STARKNET_DEVNET_VERSION=0.1.2 STARKLI_VERSION=0.2.9 STARKNET_ACCOUNT=.starkli/account_0.json diff --git a/.tool-versions b/.tool-versions index 5cab0864..0fa26dbe 100644 --- a/.tool-versions +++ b/.tool-versions @@ -2,4 +2,4 @@ scarb 2.6.2 action-validator 0.6.0 starkli 0.2.9 -starknet-devnet 0.0.7 +starknet-devnet 0.1.2 diff --git a/contracts/v1/artifacts/contract2_Counter2.compiled_contract_class.json b/contracts/v1/artifacts/contract2_Counter2.compiled_contract_class.json new file mode 100644 index 00000000..92b07747 --- /dev/null +++ b/contracts/v1/artifacts/contract2_Counter2.compiled_contract_class.json @@ -0,0 +1 @@ +{"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compiler_version":"2.6.2","bytecode":["0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x54","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x40a","0x482480017fff8000","0x409","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x4254","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x1f","0x4824800180007ff8","0x4254","0x400080007ff87fff","0x482480017ff88000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x25c","0x20680017fff7ffd","0xc","0x40780017fff7fff","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x54","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x3a2","0x482480017fff8000","0x3a1","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x41fa","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x1f","0x4824800180007ff8","0x41fa","0x400080007ff87fff","0x482480017ff88000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x27e","0x20680017fff7ffd","0xc","0x40780017fff7fff","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x98","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x6d","0x480080007fff8000","0xa0680017fff8000","0x12","0x4824800180007ffe","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff57fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff37fff","0x400080027ff27ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x58","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x482480017ffe8000","0xffffffffffffffff0000000000000000","0x400080017ff77fff","0x482480017ff78000","0x2","0x48307ff880007ff9","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ff17fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x30c","0x482480017fff8000","0x30b","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007fef","0x4862","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x20","0x4824800180007fef","0x4862","0x400080007ff87fff","0x482480017ff88000","0x1","0x48127ffe7fff8000","0x480a7ffb7fff8000","0x48127ff27fff8000","0x1104800180018000","0x26e","0x20680017fff7ffd","0xc","0x40780017fff7fff","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127fea7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x482480017ff28000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x8","0x48127ff27fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x48127ffd7fff8000","0x48127fed7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x8c","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x28e","0x482480017fff8000","0x28d","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x15ae","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x57","0x4824800180007ff8","0x15ae","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x37","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480080007ff67fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480080017ff47fff","0x400080027ff37ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x15","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x482480017ffc8000","0xffffffffffffffff0000000000000000","0x400080017ff87fff","0x40780017fff7fff","0x1","0x400080007fff7ffa","0x482480017ff78000","0x2","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553634202d206e6f6e20753634","0x400080007ffe7fff","0x482480017ff18000","0x3","0x48127ff47fff8000","0x48127ff47fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x8","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x60","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x1ee","0x482480017fff8000","0x1ed","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0xd70","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x2b","0x4824800180007ff8","0xd70","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x480680017fff8000","0x2","0x482480017ff58000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280007ffb7fff","0x400280017ffb7ffa","0x400280027ffb7ffb","0x400280037ffb7ffc","0x400280047ffb7ffd","0x480280067ffb8000","0x20680017fff7fff","0xd","0x40780017fff7fff","0x1","0x48127ffc7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x7","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280057ffb8000","0x482680017ffb8000","0x9","0x480680017fff8000","0x1","0x480280077ffb8000","0x480280087ffb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffd7fff","0x400380017ffd7ffc","0x400280027ffd7ffd","0x400280037ffd7ffe","0x480280057ffd8000","0x20680017fff7fff","0x6f","0x480280067ffd8000","0x480280047ffd8000","0x482680017ffd8000","0x7","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480280007ffb7fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480280017ffb7fff","0x400280027ffb7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x4d","0x402780017fff7fff","0x1","0x400280007ffb7ffc","0x482480017ffc8000","0xffffffffffffffff0000000000000000","0x400280017ffb7fff","0x40780017fff7fff","0x3","0x480680017fff8000","0x1","0xa0680017fff8000","0x8","0x48307ffe7ff68000","0x4824800180007fff","0x10000000000000000","0x400280027ffb7fff","0x10780017fff7fff","0x2a","0x48307ffe7ff68001","0x4824800180007fff","0xffffffffffffffff0000000000000000","0x400280027ffb7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x482680017ffb8000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007ff27fff","0x400080017ff27ff1","0x400080027ff27ffc","0x400080037ff27ffd","0x400080047ff27ffb","0x480080067ff28000","0x20680017fff7fff","0xd","0x48127ffd7fff8000","0x480080057ff08000","0x482480017fef8000","0x7","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480080057ff08000","0x482480017fef8000","0x9","0x480680017fff8000","0x1","0x480080077fed8000","0x480080087fec8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x3","0x40780017fff7fff","0x1","0x480680017fff8000","0x7536345f616464204f766572666c6f77","0x400080007ffe7fff","0x482680017ffb8000","0x3","0x48127fef7fff8000","0x48127fef7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553634202d206e6f6e20753634","0x400080007ffe7fff","0x482680017ffb8000","0x3","0x48127ff47fff8000","0x48127ff47fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0xc","0x480a7ffb7fff8000","0x480280047ffd8000","0x482680017ffd8000","0x8","0x480280067ffd8000","0x480280077ffd8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffd7fff","0x400380017ffd7ffc","0x400280027ffd7ffd","0x400280037ffd7ffe","0x480280057ffd8000","0x20680017fff7fff","0x6c","0x480280067ffd8000","0x480280047ffd8000","0x482680017ffd8000","0x7","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480280007ffb7fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480280017ffb7fff","0x400280027ffb7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x4a","0x402780017fff7fff","0x1","0x400280007ffb7ffc","0x482480017ffc8000","0xffffffffffffffff0000000000000000","0x400280017ffb7fff","0x40780017fff7fff","0x4","0x480680017fff8000","0x1","0x48307fff80017ff6","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400280027ffb7fff","0x10780017fff7fff","0x27","0x400280027ffb7fff","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x482680017ffb8000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007ff27fff","0x400080017ff27ff1","0x400080027ff27ffc","0x400080037ff27ffd","0x400080047ff27ffb","0x480080067ff28000","0x20680017fff7fff","0xd","0x48127ffd7fff8000","0x480080057ff08000","0x482480017fef8000","0x7","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480080057ff08000","0x482480017fef8000","0x9","0x480680017fff8000","0x1","0x480080077fed8000","0x480080087fec8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2","0x40780017fff7fff","0x1","0x480680017fff8000","0x7536345f737562204f766572666c6f77","0x400080007ffe7fff","0x482680017ffb8000","0x3","0x48127fef7fff8000","0x48127fef7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553634202d206e6f6e20753634","0x400080007ffe7fff","0x482680017ffb8000","0x3","0x48127ff47fff8000","0x48127ff47fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0xc","0x480a7ffb7fff8000","0x480280047ffd8000","0x482680017ffd8000","0x8","0x480280067ffd8000","0x480280077ffd8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffc7fff","0x400380017ffc7ffb","0x400280027ffc7ffd","0x400280037ffc7ffe","0x480280057ffc8000","0x20680017fff7fff","0x6d","0x480280067ffc8000","0x480280047ffc8000","0x482680017ffc8000","0x7","0xa0680017fff8000","0x12","0x4824800180007ffc","0x10000000000000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480280007ffa7fff","0x482480017ffe8000","0xefffffffffffffdeffffffffffffffff","0x480280017ffa7fff","0x400280027ffa7ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0x4b","0x402780017fff7fff","0x1","0x400280007ffa7ffc","0x482480017ffc8000","0xffffffffffffffff0000000000000000","0x400280017ffa7fff","0x40780017fff7fff","0x4","0xa0680017fff8000","0x8","0x48287ffd7ff68000","0x4824800180007fff","0x10000000000000000","0x400280027ffa7fff","0x10780017fff7fff","0x2a","0x48287ffd7ff68001","0x4824800180007fff","0xffffffffffffffff0000000000000000","0x400280027ffa7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x482680017ffa8000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007ff27fff","0x400080017ff27ff1","0x400080027ff27ffc","0x400080037ff27ffd","0x400080047ff27ffb","0x480080067ff28000","0x20680017fff7fff","0xd","0x48127ffd7fff8000","0x480080057ff08000","0x482480017fef8000","0x7","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480080057ff08000","0x482480017fef8000","0x9","0x480680017fff8000","0x1","0x480080077fed8000","0x480080087fec8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x3","0x40780017fff7fff","0x1","0x480680017fff8000","0x7536345f616464204f766572666c6f77","0x400080007ffe7fff","0x482680017ffa8000","0x3","0x48127fef7fff8000","0x48127fef7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7265553634202d206e6f6e20753634","0x400080007ffe7fff","0x482680017ffa8000","0x3","0x48127ff47fff8000","0x48127ff47fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0xc","0x480a7ffa7fff8000","0x480280047ffc8000","0x482680017ffc8000","0x8","0x480280067ffc8000","0x480280077ffc8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe"],"bytecode_segment_lengths":[104,104,172,160,116,138,135,136],"hints":[[0,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[17,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[36,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x4254"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[56,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[74,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[89,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[104,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[121,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[140,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x41fa"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[160,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[178,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[193,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[208,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[242,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-1},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[246,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[271,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[290,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x4862"},"rhs":{"Deref":{"register":"AP","offset":-16}},"dst":{"register":"AP","offset":0}}}]],[311,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[329,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[351,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[365,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[380,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[397,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[416,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x15ae"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[440,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[447,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[451,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[469,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[482,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[510,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[525,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[540,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[557,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[576,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0xd70"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[603,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[606,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[626,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[641,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[666,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-3}}}}]],[673,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[677,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[699,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-9},"b":{"Deref":{"register":"AP","offset":-1}}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[724,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-14}}}}]],[749,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[764,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[804,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-3}}}}]],[811,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[815,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[838,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[859,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-14}}}}]],[884,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[899,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[939,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-4}}}}]],[946,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[950,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[970,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-9},"b":{"Deref":{"register":"FP","offset":-3}}}},"rhs":{"Immediate":"0x10000000000000000"},"dst":{"register":"AP","offset":0}}}]],[995,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-14}}}}]],[1020,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1035,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]]],"entry_points_by_type":{"EXTERNAL":[{"selector":"0x7a44dde9fea32737a5cf3f9683b3235138654aa2d189f6fe44af37a61dc60d","offset":0,"builtins":["range_check"]},{"selector":"0x1690601018ad2944443516bcaf5b3878208282ca35ce56ea8b9802222c7973a","offset":380,"builtins":["range_check"]},{"selector":"0x3640c06329117821bef5e9cbb53c3d73d208998dffb47700b37016ae58dcc3f","offset":208,"builtins":["range_check"]},{"selector":"0x3a0b04fad2d45d81641f40c55ee13e701dacd4a99cbf4d6ed1e231d717b3e4e","offset":104,"builtins":["range_check"]}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","offset":540,"builtins":["range_check"]}]}} \ No newline at end of file diff --git a/contracts/v1/artifacts/contract2_Counter2.contract_class.json b/contracts/v1/artifacts/contract2_Counter2.contract_class.json new file mode 100644 index 00000000..93d39380 --- /dev/null +++ b/contracts/v1/artifacts/contract2_Counter2.contract_class.json @@ -0,0 +1 @@ +{"sierra_program":["0x1","0x5","0x0","0x2","0x6","0x2","0xbf","0x41","0x20","0x52616e6765436865636b","0x800000000000000100000000000000000000000000000000","0x436f6e7374","0x800000000000000000000000000000000000000000000002","0x1","0x1e","0x2","0x7536345f737562204f766572666c6f77","0x7536345f616464204f766572666c6f77","0xb","0x53746f7265553634202d206e6f6e20753634","0x7","0x0","0x753332","0x800000000000000700000000000000000000000000000000","0x53746f7261676541646472657373","0x53746f726167654261736541646472657373","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x753634","0x537472756374","0x800000000000000f00000000000000000000000000000001","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x426f78","0x800000000000000700000000000000000000000000000001","0x456e756d","0x800000000000000700000000000000000000000000000003","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0xd","0xc","0x4f7574206f6620676173","0x4172726179","0x800000000000000300000000000000000000000000000001","0x536e617073686f74","0x10","0x800000000000000700000000000000000000000000000002","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x11","0x12","0x3481c305a0d1b578c008b0ab2aaccb77bc12ec2d9947ba0fe3c2d9f439b2272","0x800000000000000f00000000000000000000000000000002","0x1d08e32c14e52e962db3a407413dd65fd1e30f03339ee5488475c93c139633b","0x14","0x800000000000000f00000000000000000000000000000003","0x15","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0x800000000000000300000000000000000000000000000003","0x17","0x12598090fabff6fb80c1767375f323c6b3c18e5d1992c68993045c77cb36597","0x16","0x18","0x4275696c74696e436f737473","0x53797374656d","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x13","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x66656c74323532","0x4761734275696c74696e","0x48","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x7374727563745f6465636f6e737472756374","0x73746f72655f74656d70","0x61727261795f736e617073686f745f706f705f66726f6e74","0x64726f70","0x61727261795f6e6577","0x636f6e73745f61735f696d6d656469617465","0x1d","0x61727261795f617070656e64","0x7374727563745f636f6e737472756374","0x656e756d5f696e6974","0x1c","0x1f","0x1b","0x6765745f6275696c74696e5f636f737473","0x1a","0x77697468647261775f6761735f616c6c","0x66756e6374696f6e5f63616c6c","0x3","0x5","0x656e756d5f6d61746368","0x19","0x736e617073686f745f74616b65","0xf","0x6","0x656e61626c655f61705f747261636b696e67","0xe","0x6a756d70","0x756e626f78","0x72656e616d65","0x7536345f7472795f66726f6d5f66656c74323532","0x64697361626c655f61705f747261636b696e67","0xa","0x73746f726167655f626173655f616464726573735f636f6e7374","0x2c54e2df88d1b1033b7b98ce0e33f87ca80049da5472a0937699a2653e5a9d0","0x73746f726167655f616464726573735f66726f6d5f62617365","0x8","0x73746f726167655f726561645f73797363616c6c","0x7536345f746f5f66656c74323532","0x4","0x73746f726167655f77726974655f73797363616c6c","0x7536345f6f766572666c6f77696e675f616464","0x7536345f6f766572666c6f77696e675f737562","0x2d6","0xffffffffffffffff","0x43","0x9","0x36","0x2f","0x21","0x22","0x23","0x24","0x25","0x26","0x27","0x28","0x29","0x2a","0x2b","0x2c","0x2d","0x2e","0x30","0x31","0x94","0x66","0x87","0x80","0x113","0xae","0xb3","0x102","0xfe","0xcd","0xf0","0xe9","0x32","0x33","0x34","0x35","0x37","0x38","0x39","0x3a","0x3b","0x106","0x3c","0x3d","0x3e","0x3f","0x40","0x41","0x42","0x44","0x45","0x46","0x47","0x17a","0x136","0x16d","0x160","0x156","0x165","0x1cf","0x19d","0x1c2","0x1b9","0x222","0x217","0x208","0x1fe","0x228","0x275","0x26a","0x25b","0x251","0x27b","0x2c7","0x2bb","0x2ac","0x2a2","0x2ce","0x51","0xa2","0x121","0x188","0x1dd","0x230","0x283","0x186e","0x605040307070a05040305070a050403090706050403080706050403020100","0x1906051817160d15140f131207060504030f110f100f0e0d070c0504030b07","0x160d23142505240d2314220518210605201f1e07060504031d051c051b0d1a","0x52f05160d2e142d0d15141d052c05160d2b142a05290d2814270d15142605","0x2390f3837070605040332053605350d2e1902340f3332053105300d2e1922","0x60505421c05054125050541060505400d05053f2605053e0d3d0d3c0d3b3a","0x3f4905053f050748050747320505462f050546060505450605053f44050543","0x52050551504f054e2c0505462a0505460d4d4c05053f0d4b4805053f4a0505","0x41540505430d07480507473605054626050546220505412205055331050541","0x7471d0505460d585705053f2505053f0d07570507470d56554f054e260505","0x4f054e0a05053f0a0505410d5c0d5b0605055a060505595705055105075705","0xd630d626105053f0c05053f550505430d605f07055e5d0505431d0505410c","0x3f0d0752050747310505460d664f0505430d65640505432205053f50050543","0xd0d69050d0d0d68050505430d67070505430507520507472c050541520505","0x6405640d610569054f054f0d0d69050d070d0c55076a5064076907050d0705","0xc0d0d69056b05550d0d69050d070d0a052c5d6b0769076105500d64056905","0x1d070a0d1c0569051c055d0d1c0569050d6b0d1d0569050d610d0d69055d05","0x640d250569052205570d220569055754071c0d540569050d1d0d570569051c","0x5250569052505250d070569050705220d500569055005540d640569056405","0x69052605360d260569050d260d0d69050a05550d0d69050d070d2507506464","0xd2f0569050d2c0d0d69050d070d312c076c2a360769072650644f2a0d2605","0x70569050705220d2a0569052a05540d360569053605640d320569052f0531","0xd69050d070d06056d440569074805320d484a4c5264690532072a36642f0d","0xd0d690500054a0d6e0007690549054c0d490569050d610d0d69054405520d","0x520569055205640d710569057005060d700569056f05440d6f0569056e0548","0xd714a4c526405710569057105250d4a0569054a05220d4c0569054c05540d","0x220d4c0569054c05540d520569055205640d720569050605570d0d69050d07","0x69050d610d0d69050d070d724a4c526405720569057205250d4a0569054a05","0x69050d1d0d750569057473070a0d7405690574055d0d740569050d490d7305","0x3105540d2c0569052c05640d780569057705570d770569057576071c0d7605","0x69050d070d7807312c6405780569057805250d070569050705220d31056905","0xd7a0569057a055d0d7a0569050d490d790569050d610d0d69054f05000d0d","0x569057c05570d7c0569057b6d071c0d6d0569050d1d0d7b0569057a79070a","0x69057d05250d070569050705220d0c0569050c05540d550569055505640d7d","0xd070d0c55077e5064076907050d07050d0d69050d0d0d7d070c5564057d05","0xa057f5d6b0769076105500d640569056405640d610569054f054f0d0d6905","0x50d6b0d1d0569050d610d0d69055d050c0d0d69056b05550d0d69050d070d","0x54071c0d540569050d1d0d570569051c1d070a0d1c0569051c055d0d1c0569","0x220d500569055005540d640569056405640d250569052205570d2205690557","0x50a05550d0d69050d070d250750646405250569052505250d070569050705","0x2c07802a360769072650644f2a0d260569052605360d260569050d260d0d69","0xd360569053605640d320569052f05310d2f0569050d2c0d0d69050d070d31","0x320d484a4c5264690532072a36646e0d070569050705220d2a0569052a0554","0x4c0d490569050d610d0d69054405520d0d69050d070d060581440569074805","0xd700569056f05440d6f0569056e05480d0d690500054a0d6e000769054905","0x4a0569054a05220d4c0569054c05540d520569055205640d71056905700506","0x5640d720569050605570d0d69050d070d714a4c526405710569057105250d","0x6405720569057205250d4a0569054a05220d4c0569054c05540d5205690552","0x5690574055d0d740569050d490d730569050d610d0d69050d070d724a4c52","0x57705570d770569057576071c0d760569050d1d0d750569057473070a0d74","0x7805250d070569050705220d310569053105540d2c0569052c05640d780569","0xd790569050d610d0d69054f05000d0d69050d070d7807312c640578056905","0xd6d0569050d1d0d7b0569057a79070a0d7a0569057a055d0d7a0569050d49","0x569050c05540d550569055505640d7d0569057c05570d7c0569057b6d071c","0x50d0d69050d0d0d7d070c5564057d0569057d05250d070569050705220d0c","0x69050d6f0d610569054f054f0d0d69050d070d0c5507825064076907050d07","0x5d05700d0d69050d070d0a05835d6b0769076105500d640569056405640d0d","0x69050d070d0d84050d730d570569051d05720d1c0569056b05710d1d056905","0x569052205720d1c0569050a05710d220569055405750d540569050d740d0d","0x53605780d360569052505770d0d69050d070d260585250569075705760d57","0xd0d69050d070d2f0586312c0769072a6407790d2a0569052a055d0d2a0569","0xd69050d7a0d0d69050d070d4c058752320769071c05500d2c0569052c0564","0xd6b0d4a0569050d610d0d690531057b0d0d690552050c0d0d69053205550d","0x71c0d060569050d1d0d44056905484a070a0d4805690548055d0d48056905","0xd500569055005540d2c0569052c05640d000569054905570d490569054406","0x50d7a0d0d69050d070d0007502c6405000569050005250d07056905070522","0x76e502c4f2a0d6e0569056e05360d6e0569050d260d0d69054c05550d0d69","0x640d740569057305310d730569050d2c0d0d69050d070d72710788706f0769","0xd3105690531056d0d070569050705220d700569057005540d6f0569056f05","0xd69050d070d7a0589790569077805320d78777675646905317407706f507c","0xd0d69056d054a0d7c6d0769057b054c0d7b0569050d610d0d69057905520d","0x750569057505640d8b0569058a05060d8a0569057d05440d7d0569057c0548","0xd8b77767564058b0569058b05250d770569057705220d760569057605540d","0x220d760569057605540d750569057505640d8c0569057a05570d0d69050d07","0x531057b0d0d69050d070d8c77767564058c0569058c05250d770569057705","0x69056c8d070a0d6c0569056c055d0d6c0569050d490d8d0569050d610d0d69","0x57105640d910569059005570d900569058e8f071c0d8f0569050d1d0d8e05","0x72716405910569059105250d070569050705220d720569057205540d710569","0x70d0d93050d730d920569052f05640d0d69051c05550d0d69050d070d9107","0x69050d7a0d920569056405640d0d69051c05550d0d690526057d0d0d69050d","0x569059594070a0d9505690595055d0d950569050d8a0d940569050d610d0d","0x69059205640d990569059805570d980569059697071c0d970569050d1d0d96","0x750926405990569059905250d070569050705220d500569055005540d9205","0x55d0d6a0569050d490d9a0569050d610d0d69054f05000d0d69050d070d99","0xd9d0569059b9c071c0d9c0569050d1d0d9b0569056a9a070a0d6a0569056a","0x70569050705220d0c0569050c05540d550569055505640d9e0569059d0557","0x9f5064076907050d07050d0d69050d0d0d9e070c5564059e0569059e05250d","0x69076105500d640569056405640d610569054f054f0d0d69050d070d0c5507","0x69050d610d0d69055d050c0d0d69056b05550d0d69050d070d0a05a05d6b07","0x69050d1d0d570569051c1d070a0d1c0569051c055d0d1c0569050d6b0d1d05","0x5005540d640569056405640d250569052205570d220569055754071c0d5405","0x69050d070d250750646405250569052505250d070569050705220d50056905","0x69072650644f2a0d260569052605360d260569050d260d0d69050a05550d0d","0xd8d0d320569052f058c0d2f0569050d8b0d0d69050d070d312c07a12a3607","0x648f0d360569053605640d3205690532058e0d5205690552056c0d52056905","0x540d4805690548055d0d0d69050d070d4906444fa2484a4c4f69073252072a","0x50d070d6f05a36e00076907483607790d4a0569054a05220d4c0569054c05","0x572054c0d720569057170070a0d710569056e05900d700569050d610d0d69","0x7605060d760569057505440d750569057405480d0d690573054a0d74730769","0x5250d4a0569054a05220d4c0569054c05540d000569050005640d77056905","0x790569050d910d780569050d610d0d69050d070d774a4c0064057705690577","0x69054c05540d7b0569056f05640d7a0569057978070a0d7905690579055d0d","0xd0d69050d070d0da4050d730d7d0569057a05920d7c0569054a05220d6d05","0x7d0569054905920d7c0569050605220d6d0569054405540d7b056905360564","0x569057b05640d8c0569058b05570d8b0569057d8a071c0d8a0569050d1d0d","0x8c7c6d7b64058c0569058c05250d7c0569057c05220d6d0569056d05540d7b","0x70a0d6c0569056c055d0d6c0569050d490d8d0569050d610d0d69050d070d","0xd910569059005570d900569058e8f071c0d8f0569050d1d0d8e0569056c8d","0x910569059105250d070569050705220d310569053105540d2c0569052c0564","0x69050d490d920569050d610d0d69054f05000d0d69050d070d9107312c6405","0x9596071c0d960569050d1d0d950569059492070a0d9405690594055d0d9405","0x5220d0c0569050c05540d550569055505640d980569059705570d97056905","0x7050d07050d0d69050d0d0d98070c556405980569059805250d0705690507","0xd640569056405640d610569054f054f0d0d69050d070d0c5507a550640769","0xd69055d050c0d0d69056b05550d0d69050d070d0a05a65d6b076907610550","0x570569051c1d070a0d1c0569051c055d0d1c0569050d6b0d1d0569050d610d","0x569056405640d250569052205570d220569055754071c0d540569050d1d0d","0x250750646405250569052505250d070569050705220d500569055005540d64","0x4f2a0d260569052605360d260569050d260d0d69050a05550d0d69050d070d","0x569050d940d2f0569050d8b0d0d69050d070d312c07a72a36076907265064","0x569054a056c0d4a0569050d8d0d4c0569052f058c0d520569053205900d32","0x4a072a50950d360569053605640d5205690552055d0d4c0569054c058e0d4a","0x69056e054c0d6e0569050d610d0d69050d070d0049064fa84448076907524c","0x57205060d720569057105440d710569057005480d0d69056f054a0d706f07","0x7305250d440569054405220d480569054805540d360569053605640d730569","0x569050074071c0d740569050d1d0d0d69050d070d73444836640573056905","0x69054905220d060569050605540d360569053605640d760569057505570d75","0x490d770569050d610d0d69050d070d764906366405760569057605250d4905","0x1c0d7a0569050d1d0d790569057877070a0d7805690578055d0d780569050d","0x310569053105540d2c0569052c05640d6d0569057b05570d7b056905797a07","0x5000d0d69050d070d6d07312c64056d0569056d05250d070569050705220d","0x7d7c070a0d7d0569057d055d0d7d0569050d490d7c0569050d610d0d69054f","0x5640d8d0569058c05570d8c0569058a8b071c0d8b0569050d1d0d8a056905","0x64058d0569058d05250d070569050705220d0c0569050c05540d5505690555","0x555056c0d550569050d8d0d5005690564058c0d640569050d8b0d8d070c55","0x70d1d0a5d4fa96b610c4f690750550705648f0d5005690550058e0d550569","0x7790d610569056105220d0c0569050c05540d6b0569056b055d0d0d69050d","0x2205690522056d0d220569050d960d0d69050d070d5405aa571c0769076b0d","0x5900d2c0569050d8b0d0d69050d070d2a3607ab262507690722571c4f970d","0x58e0d3205690532056c0d320569050d8d0d2f0569052c058c0d3105690526","0x44484a4fac4c52076907312f32610c50950d250569052505640d2f0569052f","0xd000569054905990d49056905064f07980d060569050d740d0d69050d070d","0x5690500059a0d4c0569054c05220d520569055205540d25056905250564","0x446e071c0d6e0569050d1d0d0d69054f056a0d0d69050d070d004c52256405","0x5220d4a0569054a05540d250569052505640d700569056f059b0d6f056905","0x69052a057b0d0d69050d070d70484a2564057005690570059a0d4805690548","0xd7205690572055d0d720569050d9c0d710569050d610d0d69054f056a0d0d","0x5690575059b0d750569057374071c0d740569050d1d0d730569057271070a","0x690576059a0d610569056105220d0c0569050c05540d360569053605640d76","0xd910d770569050d610d0d69054f056a0d0d69050d070d76610c3664057605","0x540d7a0569055405640d790569057877070a0d7805690578055d0d78056905","0xd070d0dad050d730d7c0569057905920d6d0569056105220d7b0569050c05","0x50a05220d7b0569055d05540d7a0569050d05640d0d69054f056a0d0d6905","0x8a059b0d8a0569057c7d071c0d7d0569050d1d0d7c0569051d05920d6d0569","0x59a0d6d0569056d05220d7b0569057b05540d7a0569057a05640d8b056905","0x69050d8d0d5005690564058c0d640569050d8b0d8b6d7b7a64058b0569058b","0x6b610c4f690750550705648f0d5005690550058e0d5505690555056c0d5505","0x6105220d0c0569050c05540d6b0569056b055d0d0d69050d070d1d0a5d4fae","0xd220569050d960d0d69050d070d5405af571c0769076b0d07790d61056905","0xd8b0d0d69050d070d2a3607b0262507690722571c4f9d0d2205690522056d","0x32056c0d320569050d8d0d2f0569052c058c0d310569052605900d2c056905","0x76907312f32610c50950d250569052505640d2f0569052f058e0d32056905","0x990d49056905064f07980d060569050d740d0d69050d070d44484a4fb14c52","0xd4c0569054c05220d520569055205540d250569052505640d000569054905","0x69050d1d0d0d69054f056a0d0d69050d070d004c522564050005690500059a","0x4a05540d250569052505640d700569056f059b0d6f056905446e071c0d6e05","0x69050d070d70484a2564057005690570059a0d480569054805220d4a056905","0x5d0d720569050d9e0d710569050d610d0d69054f056a0d0d69052a057b0d0d","0x750569057374071c0d740569050d1d0d730569057271070a0d720569057205","0x569056105220d0c0569050c05540d360569053605640d7605690575059b0d","0xd610d0d69054f056a0d0d69050d070d76610c3664057605690576059a0d61","0x5640d790569057877070a0d7805690578055d0d780569050d910d77056905","0x730d7c0569057905920d6d0569056105220d7b0569050c05540d7a05690554","0x69055d05540d7a0569050d05640d0d69054f056a0d0d69050d070d0db2050d","0x57c7d071c0d7d0569050d1d0d7c0569051d05920d6d0569050a05220d7b05","0x6d05220d7b0569057b05540d7a0569057a05640d8b0569058a059b0d8a0569","0x690550058c0d500569050d8b0d8b6d7b7a64058b0569058b059a0d6d056905","0xc0705648f0d5505690555058e0d0c0569050c056c0d0c0569050d8d0d5505","0x56105540d5d0569055d055d0d0d69050d070d1c1d0a4fb35d6b614f690755","0xd0d69050d070d2205b454570769075d0d07790d6b0569056b05220d610569","0x2605900d2c0569050d8b0d0d69050d070d2a3607b526250769076454574f97","0x2f058e0d3205690532056c0d320569050d8d0d2f0569052c058c0d31056905","0xd44484a4fb64c52076907312f326b6150950d250569052505640d2f056905","0x640d000569054905990d49056905064f07980d060569050d740d0d69050d07","0x50005690500059a0d4c0569054c05220d520569055205540d250569052505","0x5446e071c0d6e0569050d1d0d0d69054f056a0d0d69050d070d004c522564","0x4805220d4a0569054a05540d250569052505640d700569056f059b0d6f0569","0xd69052a057b0d0d69050d070d70484a2564057005690570059a0d48056905","0xa0d7205690572055d0d720569050d9c0d710569050d610d0d69054f056a0d","0x7605690575059b0d750569057374071c0d740569050d1d0d73056905727107","0x5690576059a0d6b0569056b05220d610569056105540d360569053605640d","0x50d610d0d690564057b0d0d69054f056a0d0d69050d070d766b6136640576","0x2205640d790569057877070a0d7805690578055d0d780569050d910d770569","0xd730d7c0569057905920d6d0569056b05220d7b0569056105540d7a056905","0x7a0569050d05640d0d690564057b0d0d69054f056a0d0d69050d070d0db705","0x7d0569050d1d0d7c0569051c05920d6d0569051d05220d7b0569050a05540d","0x69057b05540d7a0569057a05640d8b0569058a059b0d8a0569057c7d071c0d","0x64264a490d64618b6d7b7a64058b0569058b059a0d6d0569056d05220d7b05","0xd64264a490d64b84f07050d484a490d64264a490d640d4f07050d484a490d","0x490d64264a490d64ba4f07050d484a490d64264a490d64b94f07050d484a49","0x4a490d642c4a490d64bc4f07050d524a490d642c4a490d64bb4f07050d484a","0xbe644f07050d524a490d640a2c4a490d50bd4f07050d52"],"sierra_program_debug_info":{"type_names":[[0,"RangeCheck"],[1,"Const"],[2,"Const"],[3,"Const"],[4,"Const"],[5,"Const"],[6,"Const"],[7,"u32"],[8,"StorageAddress"],[9,"StorageBaseAddress"],[10,"Const"],[11,"u64"],[12,"Unit"],[13,"Box"],[14,"core::option::Option::>"],[15,"Const"],[16,"Array"],[17,"Snapshot>"],[18,"core::array::Span::"],[19,"Tuple>"],[20,"contract2::counter::Counter::__member_module__count::ContractMemberState"],[21,"contract2::counter::Counter::ContractState"],[22,"Tuple"],[23,"core::panics::Panic"],[24,"Tuple>"],[25,"core::panics::PanicResult::<(contract2::counter::Counter::ContractState, ())>"],[26,"BuiltinCosts"],[27,"System"],[28,"core::panics::PanicResult::<(core::array::Span::,)>"],[29,"Const"],[30,"felt252"],[31,"GasBuiltin"]],"libfunc_names":[[0,"revoke_ap_tracking"],[1,"withdraw_gas"],[2,"branch_align"],[3,"struct_deconstruct>"],[4,"store_temp"],[5,"array_snapshot_pop_front"],[6,"drop>>"],[7,"drop>"],[8,"array_new"],[9,"const_as_immediate>"],[10,"store_temp"],[11,"array_append"],[12,"struct_construct"],[13,"struct_construct>>"],[14,"enum_init,)>, 1>"],[15,"store_temp"],[16,"store_temp"],[17,"store_temp,)>>"],[18,"get_builtin_costs"],[19,"store_temp"],[20,"withdraw_gas_all"],[21,"struct_construct"],[22,"struct_construct"],[23,"function_call"],[24,"enum_match>"],[25,"drop>"],[26,"snapshot_take>"],[27,"drop>"],[28,"struct_construct>"],[29,"struct_construct>>"],[30,"enum_init,)>, 0>"],[31,"const_as_immediate>"],[32,"drop>"],[33,"function_call"],[34,"enable_ap_tracking"],[35,"enum_init>, 0>"],[36,"store_temp>>"],[37,"store_temp>>"],[38,"jump"],[39,"struct_construct"],[40,"enum_init>, 1>"],[41,"enum_match>>"],[42,"unbox"],[43,"rename"],[44,"u64_try_from_felt252"],[45,"disable_ap_tracking"],[46,"drop"],[47,"store_temp"],[48,"function_call"],[49,"drop"],[50,"const_as_immediate>"],[51,"storage_base_address_const<1253234144516020033905459873700505001407303332332576574075733315582159071696>"],[52,"storage_address_from_base"],[53,"const_as_immediate>"],[54,"store_temp"],[55,"store_temp"],[56,"storage_read_syscall"],[57,"u64_to_felt252"],[58,"const_as_immediate>"],[59,"store_temp>"],[60,"const_as_immediate>"],[61,"storage_write_syscall"],[62,"const_as_immediate>"],[63,"u64_overflowing_add"],[64,"struct_construct>"],[65,"enum_init, 0>"],[66,"store_temp>"],[67,"drop"],[68,"enum_init, 1>"],[69,"const_as_immediate>"],[70,"u64_overflowing_sub"],[71,"const_as_immediate>"]],"user_func_names":[[0,"contract2::counter::Counter::__wrapper__CounterImpl__increment"],[1,"contract2::counter::Counter::__wrapper__CounterImpl__decrement"],[2,"contract2::counter::Counter::__wrapper__CounterImpl__increase_count_by"],[3,"contract2::counter::Counter::__wrapper__CounterImpl__get_current_count"],[4,"contract2::counter::Counter::__wrapper__constructor"],[5,"contract2::counter::Counter::CounterImpl::increment"],[6,"contract2::counter::Counter::CounterImpl::decrement"],[7,"contract2::counter::Counter::CounterImpl::increase_count_by"]]},"contract_class_version":"0.1.0","entry_points_by_type":{"EXTERNAL":[{"selector":"0x7a44dde9fea32737a5cf3f9683b3235138654aa2d189f6fe44af37a61dc60d","function_idx":0},{"selector":"0x1690601018ad2944443516bcaf5b3878208282ca35ce56ea8b9802222c7973a","function_idx":3},{"selector":"0x3640c06329117821bef5e9cbb53c3d73d208998dffb47700b37016ae58dcc3f","function_idx":2},{"selector":"0x3a0b04fad2d45d81641f40c55ee13e701dacd4a99cbf4d6ed1e231d717b3e4e","function_idx":1}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","function_idx":4}]},"abi":[{"type":"impl","name":"CounterImpl","interface_name":"contract2::counter::ICounter"},{"type":"interface","name":"contract2::counter::ICounter","items":[{"type":"function","name":"increment","inputs":[],"outputs":[],"state_mutability":"external"},{"type":"function","name":"decrement","inputs":[],"outputs":[],"state_mutability":"external"},{"type":"function","name":"increase_count_by","inputs":[{"name":"number","type":"core::integer::u64"}],"outputs":[],"state_mutability":"external"},{"type":"function","name":"get_current_count","inputs":[],"outputs":[{"type":"core::integer::u64"}],"state_mutability":"view"}]},{"type":"constructor","name":"constructor","inputs":[]},{"type":"event","name":"contract2::counter::Counter::Event","kind":"enum","variants":[]}]} \ No newline at end of file diff --git a/contracts/v1/artifacts/contract2_MyToken.compiled_contract_class.json b/contracts/v1/artifacts/contract2_MyToken.compiled_contract_class.json new file mode 100644 index 00000000..33b0e2a0 --- /dev/null +++ b/contracts/v1/artifacts/contract2_MyToken.compiled_contract_class.json @@ -0,0 +1 @@ +{"prime":"0x800000000000011000000000000000000000000000000000000000000000001","compiler_version":"2.6.2","bytecode":["0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xd2","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x1b4d","0x482480017fff8000","0x1b4c","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x440c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x9d","0x4824800180007ff8","0x440c","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x7d","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x57","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x480680017fff8000","0x0","0x482480017ffe8000","0x1","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff97fff","0x400080017ff97ff8","0x400080027ff97ffc","0x400080037ff97ffd","0x480080057ff98000","0x20680017fff7fff","0x3b","0x480080067ff88000","0x480080047ff78000","0x482480017ff68000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x15","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x40780017fff7fff","0x1","0x48127ff17fff8000","0x48127ffa7fff8000","0x400080007ffd7ffe","0x400080017ffd7fff","0x482480017ff68000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff88000","0x2","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x16","0x48127ffd7fff8000","0x480080047ff78000","0x482480017ff68000","0x8","0x480080067ff58000","0x480080077ff48000","0x10780017fff7fff","0x16","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x8","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x140","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x114","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x102","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffb7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x1a39","0x482480017fff8000","0x1a38","0x480080007fff8000","0x480080007fff8000","0x482480017fff8000","0x5230","0xa0680017fff8000","0x8","0x48307ffe80007feb","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0xc4","0x48307ffe80007feb","0x400080007ff67fff","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400280007ff87fff","0x400280017ff87fef","0x480280027ff88000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080017ff07ffc","0x480080027fef7ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080037fed7ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080017ff07ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080027fee7ffd","0x400080037fed7ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482680017ff88000","0x3","0x482480017feb8000","0x4","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ff2","0x400280027ffb7ffc","0x400280037ffb7ffb","0x480280057ffb8000","0x20680017fff7fff","0x80","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x58","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x0","0x482480017ff58000","0x1","0x482480017ff78000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ffa7fff","0x400080017ffa7ff9","0x400080027ffa7ffc","0x400080037ffa7ffd","0x480080057ffa8000","0x20680017fff7fff","0x3c","0x480080067ff98000","0x480080047ff88000","0x482480017ff78000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x16","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x40780017fff7fff","0x1","0x48127ff27fff8000","0x48127ffa7fff8000","0x400080007ffd7ffe","0x400080017ffd7fff","0x48127fec7fff8000","0x482480017ff58000","0x1","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff87fff8000","0x482480017ff78000","0x2","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x1a","0x40780017fff7fff","0xb","0x48127ff27fff8000","0x480080047fed8000","0x482480017fec8000","0x8","0x480080067feb8000","0x480080077fea8000","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x9","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017fe98000","0x3","0x48127fec7fff8000","0x48127fec7fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0x14","0x48127fe97fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127fe37fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482480017ff28000","0x1","0x48127fe57fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xe7","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xbb","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0xa9","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x480080007ff28000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x78","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x66","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffb7fff8000","0x48127fe37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x18b7","0x482480017fff8000","0x18b6","0x480080007fff8000","0x480080007fff8000","0x484480017fff8000","0x2","0x482480017fff8000","0x61da","0xa0680017fff8000","0x8","0x48307ffe80007fdf","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff47fff","0x10780017fff7fff","0x26","0x48307ffe80007fdf","0x400080007ff57fff","0x482480017ff58000","0x1","0x48127ffe7fff8000","0x480a7ff87fff8000","0x480a7ffb7fff8000","0x48127fe07fff8000","0x48127fea7fff8000","0x1104800180018000","0xc03","0x20680017fff7ffd","0x10","0x40780017fff7fff","0x1","0x400080007fff7ffd","0x400080017fff7ffe","0x48127ffa7fff8000","0x48127ff77fff8000","0x48127ff77fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x482480017ff98000","0x2","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff97fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482480017ff18000","0x1","0x48127fd97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fe37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x15b","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x12f","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x11d","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x48127ff27fff8000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x6c","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x51","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x482480017ff88000","0x1","0x48307ff980007ffa","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff88000","0x1","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x2a","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x11","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x40780017fff7fff","0x5","0x482480017ff38000","0x1","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127fed7fff8000","0x48127ff47fff8000","0x10780017fff7fff","0x24","0x482480017ff38000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x7","0x48127ff37fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x10780017fff7fff","0x13","0x40780017fff7fff","0x8","0x482480017feb8000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0xf","0x48127feb7fff8000","0x48127fec7fff8000","0x48127fec7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x20680017fff7ffd","0x78","0x48307ffb80007ffc","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff67fff8000","0x48127fd47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x175c","0x482480017fff8000","0x175b","0x480080007fff8000","0x480080007fff8000","0x484480017fff8000","0x4","0x482480017fff8000","0x1f662","0xa0680017fff8000","0x8","0x48307ffe80007fd0","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007fef7fff","0x10780017fff7fff","0x42","0x48307ffe80007fd0","0x400080007ff07fff","0x482480017ff08000","0x1","0x480680017fff8000","0x476574457865637574696f6e496e666f","0x400280007ffb7fff","0x400280017ffb7ffd","0x480280037ffb8000","0x20680017fff7fff","0x27","0x480280047ffb8000","0x48127ffc7fff8000","0x480280027ffb8000","0x480a7ff87fff8000","0x482680017ffb8000","0x5","0x480080027ffb8000","0x48127fcc7fff8000","0x48127fea7fff8000","0x48127fea7fff8000","0x1104800180018000","0xb61","0x20680017fff7ffd","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x400080007ffe7fff","0x48127ff97fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x10780017fff7fff","0x9","0x480a7ff87fff8000","0x48127ffc7fff8000","0x480280027ffb8000","0x482680017ffb8000","0x6","0x480280047ffb8000","0x480280057ffb8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482480017fec8000","0x1","0x48127fca7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff77fff8000","0x48127fd57fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0xfffffffffffffffffffffffffffffbf0","0x400280007ff97fff","0x10780017fff7fff","0x1b2","0x4825800180007ffa","0x410","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x186","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x174","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x480080007ff28000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x143","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x131","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x48127ff27fff8000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x6c","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x51","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x482480017ff88000","0x1","0x48307ff980007ffa","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff88000","0x1","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x2a","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x11","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x40780017fff7fff","0x5","0x482480017ff38000","0x1","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127fed7fff8000","0x48127ff47fff8000","0x10780017fff7fff","0x24","0x482480017ff38000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x7","0x48127ff37fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x10780017fff7fff","0x13","0x40780017fff7fff","0x8","0x482480017feb8000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0xf","0x48127feb7fff8000","0x48127fec7fff8000","0x48127fec7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x20680017fff7ffd","0x8c","0x48307ffb80007ffc","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff67fff8000","0x48127fc97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x15bf","0x482480017fff8000","0x15be","0x480080007fff8000","0x480080007fff8000","0x484480017fff8000","0x8","0x482480017fff8000","0x316aa","0xa0680017fff8000","0x8","0x48307ffe80007fc5","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007fef7fff","0x10780017fff7fff","0x56","0x48307ffe80007fc5","0x400080007ff07fff","0x482480017ff08000","0x1","0x480680017fff8000","0x476574457865637574696f6e496e666f","0x400280007ffb7fff","0x400280017ffb7ffd","0x480280037ffb8000","0x20680017fff7fff","0x3b","0x480280047ffb8000","0x48127ffc7fff8000","0x480280027ffb8000","0x480a7ff87fff8000","0x482680017ffb8000","0x5","0x48127fc27fff8000","0x480080027ffa8000","0x48127fea7fff8000","0x48127fea7fff8000","0x1104800180018000","0xce6","0x20680017fff7ffd","0x25","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127f2c7fff8000","0x48127f367fff8000","0x48127f547fff8000","0x48127f547fff8000","0x1104800180018000","0x9b8","0x20680017fff7ffd","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x400080007ffe7fff","0x48127ff97fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x10780017fff7fff","0x11","0x48127ffb7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x10780017fff7fff","0x9","0x480a7ff87fff8000","0x48127ffc7fff8000","0x480280027ffb8000","0x482680017ffb8000","0x6","0x480280047ffb8000","0x480280057ffb8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482480017fec8000","0x1","0x48127fbf7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff77fff8000","0x48127fca7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fe37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x15b","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x12f","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x11d","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x48127ff27fff8000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x6c","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x51","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x482480017ff88000","0x1","0x48307ff980007ffa","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff88000","0x1","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x2a","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x11","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x40780017fff7fff","0x5","0x482480017ff38000","0x1","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127fed7fff8000","0x48127ff47fff8000","0x10780017fff7fff","0x24","0x482480017ff38000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x7","0x48127ff37fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x10780017fff7fff","0x13","0x40780017fff7fff","0x8","0x482480017feb8000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0xf","0x48127feb7fff8000","0x48127fec7fff8000","0x48127fec7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x20680017fff7ffd","0x78","0x48307ffb80007ffc","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff67fff8000","0x48127fd47fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x1425","0x482480017fff8000","0x1424","0x480080007fff8000","0x480080007fff8000","0x484480017fff8000","0x2","0x482480017fff8000","0xc440","0xa0680017fff8000","0x8","0x48307ffe80007fd0","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007fef7fff","0x10780017fff7fff","0x42","0x48307ffe80007fd0","0x400080007ff07fff","0x482480017ff08000","0x1","0x480680017fff8000","0x476574457865637574696f6e496e666f","0x400280007ffb7fff","0x400280017ffb7ffd","0x480280037ffb8000","0x20680017fff7fff","0x27","0x480280047ffb8000","0x48127ffc7fff8000","0x480280027ffb8000","0x480a7ff87fff8000","0x482680017ffb8000","0x5","0x480080027ffb8000","0x48127fcc7fff8000","0x48127fea7fff8000","0x48127fea7fff8000","0x1104800180018000","0xbe1","0x20680017fff7ffd","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x400080007ffe7fff","0x48127ff97fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x10780017fff7fff","0x9","0x480a7ff87fff8000","0x48127ffc7fff8000","0x480280027ffb8000","0x482680017ffb8000","0x6","0x480280047ffb8000","0x480280057ffb8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482480017fec8000","0x1","0x48127fca7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff77fff8000","0x48127fd57fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x6","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff87fff","0x10780017fff7fff","0x85","0x4825800180007ffa","0x0","0x400280007ff87fff","0x482680017ff88000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x480a7ff97fff8000","0x48127ff97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x136c","0x482480017fff8000","0x136b","0x480080007fff8000","0x480080037fff8000","0x482480017fff8000","0x6fe0","0xa0680017fff8000","0x8","0x48307ffe80007ff6","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x4c","0x48307ffe80007ff6","0x400080007ff67fff","0x482480017ff68000","0x1","0x48127ffe7fff8000","0x480a7ff97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1","0x1104800180018000","0xbf0","0x40137ff87fff8000","0x40137ff97fff8001","0x20680017fff7ffa","0x30","0x20680017fff7ffb","0x2a","0x40780017fff7fff","0x1","0x40137ffb7fff8002","0x40137ffc7fff8003","0x40137ffd7fff8004","0x40137ffe7fff8005","0x4829800280008003","0x400080007ffe7fff","0x48127ff47fff8000","0x48127ff47fff8000","0x480a80027fff8000","0x480a80037fff8000","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x1104800180018000","0xcdf","0x20680017fff7ffd","0xe","0x400180007fff8004","0x400180017fff8005","0x48127ffb7fff8000","0x480a80007fff8000","0x48127ffa7fff8000","0x480a80017fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff98000","0x2","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x480a80007fff8000","0x48127ffa7fff8000","0x480a80017fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x48127ffe7fff8000","0x48127ffe7fff8000","0x10780017fff7fff","0x4","0x48127ffe7fff8000","0x48127ffe7fff8000","0x48127ff47fff8000","0x480a80007fff8000","0x48127ff37fff8000","0x480a80017fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff38000","0x1","0x480a7ff97fff8000","0x48127ff07fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff88000","0x1","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x6","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff87fff","0x10780017fff7fff","0x85","0x4825800180007ffa","0x0","0x400280007ff87fff","0x482680017ff88000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x480a7ff97fff8000","0x48127ff97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x12d0","0x482480017fff8000","0x12cf","0x480080007fff8000","0x480080037fff8000","0x482480017fff8000","0x6fe0","0xa0680017fff8000","0x8","0x48307ffe80007ff6","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0x4c","0x48307ffe80007ff6","0x400080007ff67fff","0x482480017ff68000","0x1","0x48127ffe7fff8000","0x480a7ff97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0xb6ce5410fca59d078ee9b2a4371a9d684c530d697c64fbef0ae6d5e8f0ac72","0x1104800180018000","0xb54","0x40137ff87fff8000","0x40137ff97fff8001","0x20680017fff7ffa","0x30","0x20680017fff7ffb","0x2a","0x40780017fff7fff","0x1","0x40137ffb7fff8002","0x40137ffc7fff8003","0x40137ffd7fff8004","0x40137ffe7fff8005","0x4829800280008003","0x400080007ffe7fff","0x48127ff47fff8000","0x48127ff47fff8000","0x480a80027fff8000","0x480a80037fff8000","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x1104800180018000","0xc43","0x20680017fff7ffd","0xe","0x400180007fff8004","0x400180017fff8005","0x48127ffb7fff8000","0x480a80007fff8000","0x48127ffa7fff8000","0x480a80017fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff98000","0x2","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x480a80007fff8000","0x48127ffa7fff8000","0x480a80017fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x48127ffe7fff8000","0x48127ffe7fff8000","0x10780017fff7fff","0x4","0x48127ffe7fff8000","0x48127ffe7fff8000","0x48127ff47fff8000","0x480a80007fff8000","0x48127ff37fff8000","0x480a80017fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff38000","0x1","0x480a7ff97fff8000","0x48127ff07fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff88000","0x1","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x49","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x1237","0x482480017fff8000","0x1236","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x0","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x14","0x4824800180007ff8","0x0","0x400080007ff87fff","0x40780017fff7fff","0x1","0x480680017fff8000","0x12","0x400080007ffe7fff","0x482480017ff68000","0x1","0x48127ffc7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0xd2","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0x10","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x48127ffc7fff8000","0x48127ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x11da","0x482480017fff8000","0x11d9","0x480080007fff8000","0xa0680017fff8000","0x9","0x4824800180007ff8","0x440c","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff77fff","0x10780017fff7fff","0x9d","0x4824800180007ff8","0x440c","0x400080007ff87fff","0x480680017fff8000","0x0","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ffb","0x400280027ffb7ffc","0x400280037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0x7d","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x57","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x480680017fff8000","0x0","0x482480017ffe8000","0x1","0x482480017ff68000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff97fff","0x400080017ff97ff8","0x400080027ff97ffc","0x400080037ff97ffd","0x480080057ff98000","0x20680017fff7fff","0x3b","0x480080067ff88000","0x480080047ff78000","0x482480017ff68000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x15","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x40780017fff7fff","0x1","0x48127ff17fff8000","0x48127ffa7fff8000","0x400080007ffd7ffe","0x400080017ffd7fff","0x482480017ff68000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff88000","0x2","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x16","0x48127ffd7fff8000","0x480080047ff78000","0x482480017ff68000","0x8","0x480080067ff58000","0x480080077ff48000","0x10780017fff7fff","0x16","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x8","0x48127ffd7fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x48127ffa7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482480017ff58000","0x1","0x48127ff37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ffa7fff8000","0x482480017ff98000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff97fff","0x10780017fff7fff","0x140","0x4825800180007ffa","0x0","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x114","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x102","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffb7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0x10c6","0x482480017fff8000","0x10c5","0x480080007fff8000","0x480080007fff8000","0x482480017fff8000","0x5230","0xa0680017fff8000","0x8","0x48307ffe80007feb","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff57fff","0x10780017fff7fff","0xc4","0x48307ffe80007feb","0x400080007ff67fff","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400280007ff87fff","0x400280017ff87fef","0x480280027ff88000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080017ff07ffc","0x480080027fef7ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080037fed7ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080017ff07ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080027fee7ffd","0x400080037fed7ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482680017ff88000","0x3","0x482480017feb8000","0x4","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400280017ffb7ff2","0x400280027ffb7ffc","0x400280037ffb7ffb","0x480280057ffb8000","0x20680017fff7fff","0x80","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x58","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x0","0x482480017ff58000","0x1","0x482480017ff78000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ffa7fff","0x400080017ffa7ff9","0x400080027ffa7ffc","0x400080037ffa7ffd","0x480080057ffa8000","0x20680017fff7fff","0x3c","0x480080067ff98000","0x480080047ff88000","0x482480017ff78000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x16","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x40780017fff7fff","0x1","0x48127ff27fff8000","0x48127ffa7fff8000","0x400080007ffd7ffe","0x400080017ffd7fff","0x48127fec7fff8000","0x482480017ff58000","0x1","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff87fff8000","0x482480017ff78000","0x2","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x1a","0x40780017fff7fff","0xb","0x48127ff27fff8000","0x480080047fed8000","0x482480017fec8000","0x8","0x480080067feb8000","0x480080077fea8000","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x9","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017fe98000","0x3","0x48127fec7fff8000","0x48127fec7fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0x14","0x48127fe97fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127fe37fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482480017ff28000","0x1","0x48127fe57fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0xfffffffffffffffffffffffffffffbf0","0x400280007ff97fff","0x10780017fff7fff","0x1b2","0x4825800180007ffa","0x410","0x400280007ff97fff","0x482680017ff98000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480280007ffc8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x186","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x174","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x480080007ff28000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x143","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff67ffc","0x480080017ff57ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027ff47ffd","0x10780017fff7fff","0x131","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff77ffd","0x480080017ff67ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff57ffe","0x482480017ff58000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff58000","0x1","0x48127ff57fff8000","0x480680017fff8000","0x0","0x48127ff27fff8000","0x10780017fff7fff","0x8","0x48127ff57fff8000","0x48127ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x6c","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x51","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x482480017ff88000","0x1","0x48307ff980007ffa","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff88000","0x1","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x2a","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x11","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x40780017fff7fff","0x5","0x482480017ff38000","0x1","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127fed7fff8000","0x48127ff47fff8000","0x10780017fff7fff","0x24","0x482480017ff38000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x7","0x48127ff37fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x10780017fff7fff","0x13","0x40780017fff7fff","0x8","0x482480017feb8000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0xf","0x48127feb7fff8000","0x48127fec7fff8000","0x48127fec7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x20680017fff7ffd","0x8c","0x48307ffb80007ffc","0x20680017fff7fff","0x4","0x10780017fff7fff","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff67fff8000","0x48127fc97fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xeb8","0x482480017fff8000","0xeb7","0x480080007fff8000","0x480080007fff8000","0x484480017fff8000","0x8","0x482480017fff8000","0x316aa","0xa0680017fff8000","0x8","0x48307ffe80007fc5","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007fef7fff","0x10780017fff7fff","0x56","0x48307ffe80007fc5","0x400080007ff07fff","0x482480017ff08000","0x1","0x480680017fff8000","0x476574457865637574696f6e496e666f","0x400280007ffb7fff","0x400280017ffb7ffd","0x480280037ffb8000","0x20680017fff7fff","0x3b","0x480280047ffb8000","0x48127ffc7fff8000","0x480280027ffb8000","0x480a7ff87fff8000","0x482680017ffb8000","0x5","0x48127fc27fff8000","0x480080027ffa8000","0x48127fea7fff8000","0x48127fea7fff8000","0x1104800180018000","0x5df","0x20680017fff7ffd","0x25","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127f2c7fff8000","0x48127f367fff8000","0x48127f547fff8000","0x48127f547fff8000","0x1104800180018000","0x2b1","0x20680017fff7ffd","0x11","0x40780017fff7fff","0x1","0x480680017fff8000","0x1","0x400080007ffe7fff","0x48127ff97fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x10780017fff7fff","0x11","0x48127ffb7fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff97fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x10780017fff7fff","0x9","0x480a7ff87fff8000","0x48127ffc7fff8000","0x480280027ffb8000","0x482680017ffb8000","0x6","0x480280047ffb8000","0x480280057ffb8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482480017fec8000","0x1","0x48127fbf7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ff77fff8000","0x48127fca7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fe37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x482480017ff48000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127ff47fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff87fff8000","0x48127ffc7fff8000","0x48127fee7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff87fff8000","0x482680017ff98000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ffa8000","0x100000000000000000000000000000000","0x400280007ff87fff","0x10780017fff7fff","0x148","0x4825800180007ffa","0x0","0x400280007ff87fff","0x482680017ff88000","0x1","0x48297ffc80007ffd","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffc8000","0x1","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x10780017fff7fff","0x8","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x6c","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x51","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x482480017ff88000","0x1","0x48307ff980007ffa","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ff88000","0x1","0x48127ff87fff8000","0x480680017fff8000","0x0","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x2a","0x480080007fff8000","0xa0680017fff8000","0x16","0x480080007ff88003","0x480080017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ffb","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff37ffd","0x20680017fff7ffe","0x11","0x402780017fff7fff","0x1","0x400080007ff87ffe","0x40780017fff7fff","0x5","0x482480017ff38000","0x1","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x0","0x48127fed7fff8000","0x48127ff47fff8000","0x10780017fff7fff","0x24","0x482480017ff38000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x7","0x48127ff37fff8000","0x48127ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x10780017fff7fff","0x13","0x40780017fff7fff","0x8","0x482480017feb8000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0xf","0x48127feb7fff8000","0x48127fec7fff8000","0x48127fec7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x20680017fff7ffd","0xa7","0x48307ffb80007ffc","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482480017ffa8000","0x1","0x48127ffa7fff8000","0x480680017fff8000","0x0","0x480080007ff78000","0x10780017fff7fff","0x8","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x7f","0xa0680017fff8004","0xe","0x4824800180047ffe","0x800000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8002","0x480080007ff17ffc","0x480080017ff07ffc","0x402480017ffb7ffd","0xffffffffffffffeeffffffffffffffff","0x400080027fef7ffd","0x10780017fff7fff","0x6d","0x484480017fff8001","0x8000000000000000000000000000000","0x48307fff80007ffd","0x480080007ff27ffd","0x480080017ff17ffd","0x402480017ffc7ffe","0xf8000000000000000000000000000000","0x400080027ff07ffe","0x482480017ff08000","0x3","0x48307ff680007ff7","0x20680017fff7fff","0x4","0x10780017fff7fff","0x12","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x400080007ffe7fff","0x480a7ff77fff8000","0x48127ffb7fff8000","0x480a7ff97fff8000","0x48127fd37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x1104800180018000","0xd1d","0x482480017fff8000","0xd1c","0x480080007fff8000","0x480080007fff8000","0x484480017fff8000","0x2","0x482480017fff8000","0x2beda","0x480080037ffc8000","0x484480017fff8000","0x2","0x48307ffd7fff8000","0xa0680017fff8000","0x8","0x48307ffe80007fcd","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff17fff","0x10780017fff7fff","0x27","0x48307ffe80007fcd","0x400080007ff27fff","0x482480017ff28000","0x1","0x48127ffe7fff8000","0x480a7ff77fff8000","0x480a7ff97fff8000","0x480a7ffb7fff8000","0x48127fe17fff8000","0x48127fe17fff8000","0x48127fe57fff8000","0x1104800180018000","0x6e3","0x20680017fff7ffd","0xe","0x40780017fff7fff","0x1","0x48127ff97fff8000","0x48127ff67fff8000","0x48127ff87fff8000","0x48127ff57fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x48127ff97fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ff77fff8000","0x48127ff97fff8000","0x48127ff67fff8000","0x48127ff87fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff77fff8000","0x482480017fee8000","0x1","0x480a7ff97fff8000","0x48127fc67fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x482480017fef8000","0x3","0x10780017fff7fff","0x5","0x40780017fff7fff","0x6","0x48127fef7fff8000","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x400080007ffe7fff","0x480a7ff77fff8000","0x48127ffc7fff8000","0x480a7ff97fff8000","0x48127fd37fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x400080007ffe7fff","0x480a7ff77fff8000","0x48127ff77fff8000","0x480a7ff97fff8000","0x48127fdf7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x480a7ff77fff8000","0x482680017ff88000","0x1","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x482480017ff78000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x3c87bf42ed4f01f11883bf54f43d91d2cbbd5fec26d1df9c74c57ae138800a4","0x400280007ffa7fff","0x400380017ffa7ffc","0x480280027ffa8000","0x400280037ffa7fff","0x400380047ffa7ffd","0x480280057ffa8000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480280007ff87ffc","0x480280017ff87ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400280027ff87ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480280007ff87ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480280017ff87ffd","0x400280027ff87ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482680017ffa8000","0x6","0x482680017ff88000","0x3","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400380017ffb7ff9","0x400280027ffb7ffc","0x400280037ffb7ffb","0x480280057ffb8000","0x20680017fff7fff","0x82","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x53","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x0","0x482480017ff58000","0x1","0x482480017ff78000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ffa7fff","0x400080017ffa7ff9","0x400080027ffa7ffc","0x400080037ffa7ffd","0x480080057ffa8000","0x20680017fff7fff","0x37","0x480080067ff98000","0x480080047ff88000","0x482480017ff78000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x11","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x40780017fff7fff","0xc","0x482480017fed8000","0x1","0x48127ff07fff8000","0x48127fe17fff8000","0x48127fef7fff8000","0x480680017fff8000","0x0","0x48127fe27fff8000","0x48127fea7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017ff28000","0x3","0x48127ff57fff8000","0x48127ff57fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x1a","0x40780017fff7fff","0xb","0x48127ff27fff8000","0x480080047fed8000","0x482480017fec8000","0x8","0x480080067feb8000","0x480080077fea8000","0x10780017fff7fff","0x21","0x40780017fff7fff","0x9","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017fe98000","0x3","0x48127fec7fff8000","0x48127fec7fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127fe17fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x14","0x48127fe97fff8000","0x480280047ffb8000","0x482680017ffb8000","0x8","0x480280067ffb8000","0x480280077ffb8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127fe17fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x20780017fff7ffa","0x13","0x40780017fff7fff","0x98","0x40780017fff7fff","0x1","0x480680017fff8000","0x45524332303a207472616e736665722066726f6d2030","0x400080007ffe7fff","0x480a7ff67fff8000","0x480a7ff77fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x20780017fff7ffb","0x13","0x40780017fff7fff","0x98","0x40780017fff7fff","0x1","0x480680017fff8000","0x45524332303a207472616e7366657220746f2030","0x400080007ffe7fff","0x480a7ff67fff8000","0x480a7ff77fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400280007ff87fff","0x400380017ff87ffa","0x480280027ff88000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480280007ff67ffc","0x480280017ff67ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400280027ff67ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480280007ff67ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480280017ff67ffd","0x400280027ff67ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482680017ff88000","0x3","0x482680017ff68000","0x3","0x480680017fff8000","0x53746f7261676552656164","0x400280007ff97fff","0x400380017ff97ff7","0x400280027ff97ffc","0x400280037ff97ffb","0x480280057ff98000","0x20680017fff7fff","0x2bc","0x480280067ff98000","0x480280047ff98000","0x482680017ff98000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x294","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x0","0x482480017ff58000","0x1","0x482480017ff78000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ffa7fff","0x400080017ffa7ff9","0x400080027ffa7ffc","0x400080037ffa7ffd","0x480080057ffa8000","0x20680017fff7fff","0x278","0x480080067ff98000","0x480080047ff88000","0x482480017ff78000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x250","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x48287ffd80017ffc","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x7","0x482480017ff68000","0x2","0x48127ffe7fff8000","0x480680017fff8000","0x1","0x48287ffc80017fed","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0xc","0x400080007ffb7fff","0x40780017fff7fff","0x5","0x482480017ff68000","0x1","0x48127ff97fff8000","0x48127ff57fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x1c","0x480680017fff8000","0x1","0x48307fff80017ffa","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffc7fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x20680017fff7fff","0x1f7","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400080007fdd7fff","0x400180017fdd7ffa","0x480080027fdd8000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080007ff67ffc","0x480080017ff57ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080027ff37ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080007ff67ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080017ff47ffd","0x400080027ff37ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482480017fd48000","0x3","0x482480017ff18000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007fe07fff","0x400080017fe07fdf","0x400080027fe07ffc","0x400080037fe07ffb","0x400080047fe07ff0","0x480080067fe08000","0x20680017fff7fff","0x1b5","0x480080057fdf8000","0x480680017fff8000","0x0","0x482480017ff88000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400080077fdb7fff","0x400080087fdb7ffc","0x400080097fdb7ffd","0x4000800a7fdb7ffe","0x4000800b7fdb7fec","0x4800800d7fdb8000","0x20680017fff7fff","0x19d","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400080007ff67fff","0x400180017ff67ffb","0x480080027ff68000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080007ff27ffc","0x480080017ff17ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080027fef7ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080007ff27ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080017ff07ffd","0x400080027fef7ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x4800800c7fd18000","0x480680017fff8000","0x0","0x482480017fec8000","0x3","0x482480017fec8000","0x3","0x480680017fff8000","0x53746f7261676552656164","0x4000800e7fcc7fff","0x4000800f7fcc7ffb","0x400080107fcc7ffc","0x400080117fcc7ffa","0x480080137fcc8000","0x20680017fff7fff","0x15a","0x480080147fcb8000","0x480080127fca8000","0x482480017fc98000","0x15","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x132","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x0","0x482480017ff48000","0x1","0x482480017ff78000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ffa7fff","0x400080017ffa7ff9","0x400080027ffa7ffc","0x400080037ffa7ffd","0x480080057ffa8000","0x20680017fff7fff","0x116","0x480080067ff98000","0x480080047ff88000","0x482480017ff78000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0xee","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x48287ffd7ffc8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x7","0x482480017ff68000","0x2","0x48127ffe7fff8000","0x480680017fff8000","0x1","0x48287ffc7fed8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0xc","0x400080007ffb7fff","0x40780017fff7fff","0x5","0x482480017ff68000","0x1","0x48127ff97fff8000","0x48127ff57fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x1c","0x480680017fff8000","0x1","0x48307fff7ffa8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffc7fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x20680017fff7fff","0x95","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400080007fdd7fff","0x400180017fdd7ffb","0x480080027fdd8000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080007ff67ffc","0x480080017ff57ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080027ff37ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080007ff67ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080017ff47ffd","0x400080027ff37ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482480017fd48000","0x3","0x482480017ff18000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007fe07fff","0x400080017fe07fdf","0x400080027fe07ffc","0x400080037fe07ffb","0x400080047fe07ff0","0x480080067fe08000","0x20680017fff7fff","0x53","0x480080057fdf8000","0x480680017fff8000","0x0","0x482480017ff88000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400080077fdb7fff","0x400080087fdb7ffc","0x400080097fdb7ffd","0x4000800a7fdb7ffe","0x4000800b7fdb7fec","0x4800800d7fdb8000","0x20680017fff7fff","0x3b","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ff37fff8000","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff17fff8000","0x1104800180018000","0x3fc","0x4800800c7fc28000","0x480680017fff8000","0x456d69744576656e74","0x4000800e7fc07fff","0x4000800f7fc07ffe","0x400080107fc07ffa","0x400080117fc07ffb","0x400080127fc07ffc","0x400080137fc07ffd","0x480080157fc08000","0x20680017fff7fff","0xe","0x48127fdd7fff8000","0x480080147fbe8000","0x48127fda7fff8000","0x482480017fbc8000","0x16","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127fdd7fff8000","0x480080147fbe8000","0x48127fda7fff8000","0x482480017fbc8000","0x18","0x480680017fff8000","0x1","0x480080167fba8000","0x480080177fb98000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x17","0x4800800c7fc38000","0x482480017fc28000","0x10","0x4800800e7fc18000","0x4800800f7fc08000","0x10780017fff7fff","0x9","0x40780017fff7fff","0x1c","0x480080057fc38000","0x482480017fc28000","0x9","0x480080077fc18000","0x480080087fc08000","0x48127fdd7fff8000","0x48127ffb7fff8000","0x48127fda7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2c","0x40780017fff7fff","0x1","0x480680017fff8000","0x753235365f616464204f766572666c6f77","0x400080007ffe7fff","0x48127fce7fff8000","0x48127fbd7fff8000","0x48127fae7fff8000","0x48127fbc7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x33","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017fbf8000","0x3","0x48127fc27fff8000","0x48127fc27fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x3e","0x48127fbf7fff8000","0x480080047fba8000","0x482480017fb98000","0x8","0x480080067fb88000","0x480080077fb78000","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x3c","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017fb68000","0x3","0x48127fb97fff8000","0x48127fb97fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0x47","0x48127fb67fff8000","0x480080127f838000","0x482480017f828000","0x16","0x480080147f818000","0x480080157f808000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127fae7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x57","0x4800800c7f838000","0x482480017f828000","0x10","0x4800800e7f818000","0x4800800f7f808000","0x10780017fff7fff","0x9","0x40780017fff7fff","0x5c","0x480080057f838000","0x482480017f828000","0x9","0x480080077f818000","0x480080087f808000","0x48127f9d7fff8000","0x48127ffb7fff8000","0x48127f9a7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x6c","0x40780017fff7fff","0x1","0x480680017fff8000","0x753235365f737562204f766572666c6f77","0x400080007ffe7fff","0x48127f8e7fff8000","0x48127f7d7fff8000","0x48127f6e7fff8000","0x48127f7c7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x73","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017f7f8000","0x3","0x48127f827fff8000","0x48127f827fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x7e","0x48127f7f7fff8000","0x480080047f7a8000","0x482480017f798000","0x8","0x480080067f788000","0x480080077f778000","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x7c","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017f768000","0x3","0x48127f797fff8000","0x48127f797fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0x87","0x48127f767fff8000","0x480280047ff98000","0x482680017ff98000","0x8","0x480280067ff98000","0x480280077ff98000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127f6e7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x480a7ff67fff8000","0x480a7ff77fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc14","0x20680017fff7ffd","0x82","0x480680017fff8000","0xffffffffffffffffffffffffffffffff","0x480680017fff8000","0xffffffffffffffffffffffffffffffff","0x48307ffe80007ffc","0x20680017fff7fff","0x4","0x10780017fff7fff","0x6","0x40780017fff7fff","0x1","0x10780017fff7fff","0x7","0x48307ffe80007ffc","0x20680017fff7fff","0x4","0x10780017fff7fff","0x63","0x48287ffd80017ffb","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ff27fff","0x10780017fff7fff","0xc","0x400080007ff37fff","0x40780017fff7fff","0x1","0x482480017ff28000","0x1","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x7","0x482480017ff28000","0x1","0x48127ffe7fff8000","0x480680017fff8000","0x1","0x48287ffc80017ff4","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0xc","0x400080007ffb7fff","0x40780017fff7fff","0x5","0x482480017ff68000","0x1","0x48127ff97fff8000","0x48127ff57fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x1c","0x480680017fff8000","0x1","0x48307fff80017ffa","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffc7fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x20680017fff7fff","0xd","0x48127ffc7fff8000","0x48127fe47fff8000","0x48127fe47fff8000","0x48127fe47fff8000","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x48127ff77fff8000","0x48127ff77fff8000","0x1104800180018000","0x2c","0x208b7fff7fff7ffe","0x40780017fff7fff","0x37","0x40780017fff7fff","0x1","0x480680017fff8000","0x753235365f737562204f766572666c6f77","0x400080007ffe7fff","0x48127fc37fff8000","0x48127fab7fff8000","0x48127fab7fff8000","0x48127fab7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x4a","0x48127fab7fff8000","0x48127fab7fff8000","0x48127fab7fff8000","0x48127fab7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x40780017fff7fff","0x4e","0x48127fab7fff8000","0x48127fab7fff8000","0x48127fab7fff8000","0x48127fab7fff8000","0x480680017fff8000","0x1","0x48127fab7fff8000","0x48127fab7fff8000","0x208b7fff7fff7ffe","0x20780017fff7ffa","0x13","0x40780017fff7fff","0x2d","0x40780017fff7fff","0x1","0x480680017fff8000","0x45524332303a20617070726f76652066726f6d2030","0x400080007ffe7fff","0x480a7ff67fff8000","0x480a7ff77fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x20780017fff7ffb","0x13","0x40780017fff7fff","0x2d","0x40780017fff7fff","0x1","0x480680017fff8000","0x45524332303a20617070726f766520746f2030","0x400080007ffe7fff","0x480a7ff67fff8000","0x480a7ff77fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x3c87bf42ed4f01f11883bf54f43d91d2cbbd5fec26d1df9c74c57ae138800a4","0x400280007ff87fff","0x400380017ff87ffa","0x480280027ff88000","0x400280037ff87fff","0x400380047ff87ffb","0x480280057ff88000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480280007ff67ffc","0x480280017ff67ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400280027ff67ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480280007ff67ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480280017ff67ffd","0x400280027ff67ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482680017ff88000","0x6","0x482680017ff68000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400280007ff97fff","0x400380017ff97ff7","0x400280027ff97ffc","0x400280037ff97ffb","0x400380047ff97ffc","0x480280067ff98000","0x20680017fff7fff","0x53","0x480280057ff98000","0x480680017fff8000","0x0","0x482480017ff88000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400280077ff97fff","0x400280087ff97ffc","0x400280097ff97ffd","0x4002800a7ff97ffe","0x4003800b7ff97ffd","0x4802800d7ff98000","0x20680017fff7fff","0x3b","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ff37fff8000","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff17fff8000","0x1104800180018000","0x1fa","0x4802800c7ff98000","0x480680017fff8000","0x456d69744576656e74","0x4002800e7ff97fff","0x4002800f7ff97ffe","0x400280107ff97ffa","0x400280117ff97ffb","0x400280127ff97ffc","0x400280137ff97ffd","0x480280157ff98000","0x20680017fff7fff","0xe","0x48127fdd7fff8000","0x480280147ff98000","0x48127fda7fff8000","0x482680017ff98000","0x16","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127fdd7fff8000","0x480280147ff98000","0x48127fda7fff8000","0x482680017ff98000","0x18","0x480680017fff8000","0x1","0x480280167ff98000","0x480280177ff98000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x17","0x4802800c7ff98000","0x482680017ff98000","0x10","0x4802800e7ff98000","0x4802800f7ff98000","0x10780017fff7fff","0x9","0x40780017fff7fff","0x1c","0x480280057ff98000","0x482680017ff98000","0x9","0x480280077ff98000","0x480280087ff98000","0x48127fdd7fff8000","0x48127ffb7fff8000","0x48127fda7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffb7fff","0x400380017ffb7ff9","0x400380027ffb7ffc","0x400380037ffb7ffd","0x480280057ffb8000","0x20680017fff7fff","0xed","0x480280067ffb8000","0x480280047ffb8000","0x482680017ffb8000","0x7","0xa0680017fff8000","0x12","0x4824800180007ffc","0x100000000","0x4844800180008002","0x8000000000000110000000000000000","0x4830800080017ffe","0x480280007ff87fff","0x482480017ffe8000","0xefffffffffffffde00000000ffffffff","0x480280017ff87fff","0x400280027ff87ffb","0x402480017fff7ffb","0xffffffffffffffffffffffffffffffff","0x20680017fff7fff","0xc3","0x402780017fff7fff","0x1","0x400280007ff87ffc","0x482480017ffc8000","0xffffffffffffffffffffffff00000000","0x400280017ff87fff","0x480680017fff8000","0x1f","0x482680017ff88000","0x2","0x20680017fff7ffe","0x17","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x400080007ffe7fff","0x48127ffd7fff8000","0x48127ff77fff8000","0x480a7ffa7fff8000","0x48127ff67fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff67fff8000","0x482480017ff58000","0x1","0x208b7fff7fff7ffe","0x480080007fff8004","0x4824800180037fff","0x1","0x48307ffe7fff7ffc","0x480080017ffc7ffe","0x480080027ffb7fff","0x40507ffe7ff97ffd","0x40307fff7ffd7ff4","0x480680017fff8000","0x0","0x480680017fff8000","0x427974654172726179","0x400380007ffa7ffd","0x400280017ffa7ffe","0x400280027ffa7fff","0x480280037ffa8000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080037ff37ffc","0x480080047ff27ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080057ff07ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080037ff37ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080047ff17ffd","0x400080057ff07ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x40780017fff7fff","0x1","0x482480017fef8000","0x6","0x48127fe97fff8000","0x482680017ffa8000","0x6","0x48127fe87fff8000","0x48127fef7fff8000","0x480a7ffc7fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x480a7ffd7fff8000","0x480680017fff8000","0x0","0x48127ff57fff8000","0x48127ff47fff8000","0x40137fe87fff8000","0x1104800180018000","0x15b","0x20680017fff7ff6","0x4f","0x20680017fff7ffd","0x3e","0x4825800180008000","0x0","0x20680017fff7fff","0x4","0x10780017fff7fff","0x23","0x48307ffb7ffa8000","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff27fff","0x400080017ff27ff0","0x400180027ff27ffc","0x400080037ff27ffe","0x480080057ff28000","0x20680017fff7fff","0x9","0x480080047ff18000","0x482480017ff08000","0x7","0x480a80007fff8000","0x480080067fee8000","0x10780017fff7fff","0x1a","0x48127fee7fff8000","0x480080047ff08000","0x48127fee7fff8000","0x482480017fee8000","0x8","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480080067fe98000","0x480080077fe88000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x3","0x48127fef7fff8000","0x48127ff07fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127fea7fff8000","0x48127ffb7fff8000","0x48127fea7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127fe97fff8000","0x48127fe97fff8000","0x48127ff77fff8000","0x48127ff57fff8000","0x208b7fff7fff7ffe","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff27fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff67fff8000","0x48127ff67fff8000","0x208b7fff7fff7ffe","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff27fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff67fff8000","0x48127ff67fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e76616c696420427974654172726179206c656e677468","0x400080007ffe7fff","0x482680017ff88000","0x3","0x48127ff47fff8000","0x480a7ffa7fff8000","0x48127ff37fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff67fff8000","0x482480017ff58000","0x1","0x208b7fff7fff7ffe","0x480a7ff87fff8000","0x480280047ffb8000","0x480a7ffa7fff8000","0x482680017ffb8000","0x8","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480280067ffb8000","0x480280077ffb8000","0x208b7fff7fff7ffe","0xa0680017fff8000","0x7","0x482680017ff98000","0xfffffffffffffffffffffffffffff722","0x400280007ff87fff","0x10780017fff7fff","0x2f","0x4825800180007ff9","0x8de","0x400280007ff87fff","0x482680017ff88000","0x1","0x48297ffa80007ffb","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ffa8000","0x1","0x480a7ffb7fff8000","0x480680017fff8000","0x0","0x480a7ffa7fff8000","0x10780017fff7fff","0x8","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0xe","0x480080007fff8000","0x400280007ffd7fff","0x48127ff97fff8000","0x48127ff77fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480a7ffc7fff8000","0x482680017ffd8000","0x1","0x1104800180018000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd7","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff88000","0x1","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480a7ff67fff8000","0x480a7ff77fff8000","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1","0x48127ff87fff8000","0x48127ff77fff8000","0x480680017fff8000","0x4d79546f6b656e","0x480680017fff8000","0x7","0x40137ff57fff8000","0x40137ff57fff8001","0x1104800180018000","0x197","0x20680017fff7ffc","0x4b","0x20680017fff7ffd","0x45","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0xb6ce5410fca59d078ee9b2a4371a9d684c530d697c64fbef0ae6d5e8f0ac72","0x480a80007fff8000","0x480a80017fff8000","0x480680017fff8000","0x4d544b","0x480680017fff8000","0x3","0x1104800180018000","0x183","0x20680017fff7ffc","0x29","0x20680017fff7ffd","0x23","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ff87fff8000","0x48127ff87fff8000","0x480a7ffd7fff8000","0x480a7ffb7fff8000","0x480a7ffc7fff8000","0x1104800180018000","0x24c","0x20680017fff7ffd","0xe","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127f5f7fff8000","0x48127ff87fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127ff97fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x48127f5f7fff8000","0x48127ff87fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x48127ffe7fff8000","0x48127ffe7fff8000","0x10780017fff7fff","0x4","0x48127ffe7fff8000","0x48127ffe7fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x10780017fff7fff","0xe","0x48127ffe7fff8000","0x48127ffe7fff8000","0x10780017fff7fff","0x4","0x48127ffe7fff8000","0x48127ffe7fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x48127ffa7fff8000","0x480a7ff87fff8000","0x48127ff97fff8000","0x48127ff97fff8000","0x480680017fff8000","0x1","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x20780017fff7ff5","0x10","0x480680017fff8000","0x99cd8bde557814842a3121e8ddfd433a539b8c9f14bf31ebf108d12e6196e9","0x400280007ffb7fff","0x400380017ffb7ff6","0x400380027ffb7ff7","0x400380007ffd7ff8","0x400380017ffd7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x3","0x480a7ffc7fff8000","0x482680017ffd8000","0x2","0x208b7fff7fff7ffe","0x480680017fff8000","0x134692b230b9e1ffa39098904722134159652b09c5bc41d88d6698779d228ff","0x400280007ffb7fff","0x400380017ffb7ff6","0x400380027ffb7ff7","0x400380007ffd7ff8","0x400380017ffd7ff9","0x480a7ffa7fff8000","0x482680017ffb8000","0x3","0x480a7ffc7fff8000","0x482680017ffd8000","0x2","0x208b7fff7fff7ffe","0x1104800180018000","0x586","0x482480017fff8000","0x585","0x480080007fff8000","0x480080037fff8000","0x482480017fff8000","0x47fe","0xa0680017fff8000","0x8","0x48317ffe80007ff3","0x482480017fff8000","0x100000000000000000000000000000000","0x400280007ff27fff","0x10780017fff7fff","0xee","0x48317ffe80007ff3","0x400280007ff27fff","0x482680017ff28000","0x1","0x4825800180007ff6","0x0","0x20680017fff7fff","0x4","0x10780017fff7fff","0xd1","0x482a7ff97ff88000","0x480680017fff8000","0x53746f7261676552656164","0x400280007ff57fff","0x400280017ff57ffb","0x400380027ff57ff7","0x400280037ff57ffe","0x480280057ff58000","0x20680017fff7fff","0xb5","0x480280067ff58000","0x480280047ff58000","0x482680017ff58000","0x7","0xa0680017fff8004","0xe","0x4824800180047ffc","0x100000000000000000000000000000000000000000000000000000000000000","0x484480017ffe8000","0x7000000000000110000000000000000","0x48307ffe7fff8002","0x480080007ff47ffc","0x480080017ff37ffc","0x402480017ffb7ffd","0xf8ffffffffffffeeffffffffffffffff","0x400080027ff27ffd","0x10780017fff7fff","0x8b","0x484480017fff8001","0x1000000000000000000000000000000","0x48307fff80007ffb","0x480080007ff57ffd","0x480080017ff47ffd","0x402480017ffc7ffe","0xff000000000000000000000000000000","0x400080027ff37ffe","0x400280007ffd7ff8","0x480680017fff8000","0x1","0x480a7ffc7fff8000","0x482680017ffd8000","0x1","0x48317ffd80017ff6","0xa0680017fff7fff","0x7","0x482480017fff8000","0x100000000000000000000000000000000","0x400080037fed7fff","0x10780017fff7fff","0x57","0x400080037fee7fff","0x480680017fff8000","0x1","0xa0680017fff8000","0x8","0x48327ffe7ff98000","0x4824800180007fff","0x100","0x400080047fea7fff","0x10780017fff7fff","0x10","0x48327ffe7ff98001","0x4824800180007fff","0xffffffffffffffffffffffffffffff00","0x400080047fea7ffe","0x40780017fff7fff","0xa","0x482480017fe08000","0x5","0x480a7ff47fff8000","0x480a7ffb7fff8000","0x480a7ff87fff8000","0x48127ff17fff8000","0x10780017fff7fff","0x2f","0x482680017ffb8000","0x1","0x480680017fff8000","0x427974654172726179","0x400380007ff47ffa","0x400280017ff47ffe","0x400280027ff47fff","0x480280037ff48000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080057fe37ffc","0x480080067fe27ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080077fe07ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080057fe37ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080067fe17ffd","0x400080077fe07ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x482480017fe08000","0x8","0x482680017ff48000","0x6","0x48127ff47fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127fe07fff8000","0x48127ffa7fff8000","0x48127fdf7fff8000","0x48127fe87fff8000","0x480a7ff77fff8000","0x48127ff87fff8000","0x48127ff87fff8000","0x480a7ffa7fff8000","0x48127ff47fff8000","0x48127fdf7fff8000","0x48127fdf7fff8000","0x1104800180018000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff63","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f737562204f766572666c6f77","0x400080007ffe7fff","0x482480017feb8000","0x4","0x48127ff07fff8000","0x480a7ff47fff8000","0x48127fef7fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff27fff8000","0x482480017ff18000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x496e76616c69642076616c7565","0x400080007ffe7fff","0x482480017ff08000","0x3","0x48127ff57fff8000","0x480a7ff47fff8000","0x48127ff47fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480a7ff67fff8000","0x480a7ffb7fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x48127ff27fff8000","0x482480017ff18000","0x1","0x208b7fff7fff7ffe","0x48127ffb7fff8000","0x480280047ff58000","0x480a7ff47fff8000","0x482680017ff58000","0x8","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480a7ff67fff8000","0x480a7ffb7fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480680017fff8000","0x1","0x480280067ff58000","0x480280077ff58000","0x208b7fff7fff7ffe","0x48127ffe7fff8000","0x48127ffc7fff8000","0x480a7ff47fff8000","0x480a7ff57fff8000","0x480680017fff8000","0x0","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x480a7ff67fff8000","0x480a7ffb7fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff28000","0x1","0x480a7ff37fff8000","0x480a7ff47fff8000","0x480a7ff57fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff27fff8000","0x482480017ff18000","0x1","0x208b7fff7fff7ffe","0x48297ffa80007ffb","0x484480017fff8000","0x1f","0xa0680017fff8000","0x7","0x4824800180007ffe","0x100000000","0x400280007ff47fff","0x10780017fff7fff","0xb9","0x482480017ffe8000","0xffffffffffffffffffffffff00000000","0x400280007ff47fff","0xa0680017fff8000","0x8","0x48287ffd7ffc8000","0x4824800180007fff","0x100000000","0x400280017ff47fff","0x10780017fff7fff","0xa2","0x48287ffd7ffc8001","0x4824800180007fff","0xffffffffffffffffffffffff00000000","0x400280017ff47ffe","0x482680017ff48000","0x2","0x480680017fff8000","0x53746f726167655772697465","0x400280007ff77fff","0x400380017ff77ff5","0x400380027ff77ff8","0x400380037ff77ff9","0x400280047ff77ffd","0x480280067ff78000","0x20680017fff7fff","0x86","0x480680017fff8000","0x0","0x480680017fff8000","0x427974654172726179","0x400380007ff67ff9","0x400280017ff67ffe","0x400280027ff67fff","0x480280037ff68000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080007ff67ffc","0x480080017ff57ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080027ff37ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080007ff67ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080017ff47ffd","0x400080027ff37ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x482480017ff38000","0x3","0x480280057ff78000","0x482680017ff68000","0x6","0x482680017ff78000","0x7","0x480a7ffa7fff8000","0x480a7ffb7fff8000","0x480a7ff97fff8000","0x480a7ff87fff8000","0x48127ff77fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x1104800180018000","0x348","0x20680017fff7ff7","0x42","0x20680017fff7ffd","0x35","0x4825800180007ffd","0x0","0x20680017fff7fff","0x4","0x10780017fff7fff","0x1e","0x48307ffb7ffa8000","0x480680017fff8000","0x53746f726167655772697465","0x400080007ff37fff","0x400080017ff37ff1","0x400180027ff37ff8","0x400080037ff37ffe","0x400180047ff37ffc","0x480080067ff38000","0x20680017fff7fff","0x7","0x480080057ff28000","0x482480017ff18000","0x7","0x10780017fff7fff","0x12","0x48127fef7fff8000","0x480080057ff18000","0x48127fef7fff8000","0x482480017fef8000","0x9","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x480080077fec8000","0x480080087feb8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x3","0x48127ff07fff8000","0x48127ff17fff8000","0x48127fed7fff8000","0x48127ffd7fff8000","0x48127fed7fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127ff37fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x48127ff37fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x48127ff37fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x48127ffd7fff8000","0x480280057ff78000","0x480a7ff67fff8000","0x482680017ff78000","0x9","0x480680017fff8000","0x0","0x480680017fff8000","0x1","0x480280077ff78000","0x480280087ff78000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f616464204f766572666c6f77","0x400080007ffe7fff","0x482680017ff48000","0x2","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x10780017fff7fff","0xc","0x40780017fff7fff","0x1","0x480680017fff8000","0x7533325f6d756c204f766572666c6f77","0x400080007ffe7fff","0x482680017ff48000","0x1","0x48127ffd7fff8000","0x482480017ffc8000","0x1","0x48127ffd7fff8000","0x480a7ff57fff8000","0x480a7ff67fff8000","0x480a7ff77fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x48127ff87fff8000","0x48127ff87fff8000","0x208b7fff7fff7ffe","0x20780017fff7ffb","0x13","0x40780017fff7fff","0x86","0x40780017fff7fff","0x1","0x480680017fff8000","0x45524332303a206d696e7420746f2030","0x400080007ffe7fff","0x480a7ff77fff8000","0x480a7ff87fff8000","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x480680017fff8000","0x0","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x480680017fff8000","0x53746f7261676552656164","0x400280007ffa7fff","0x400380017ffa7ff8","0x400280027ffa7ffd","0x400280037ffa7ffe","0x480280057ffa8000","0x20680017fff7fff","0x29d","0x480280067ffa8000","0x480280047ffa8000","0x482680017ffa8000","0x7","0xa0680017fff8000","0x16","0x480280007ff78003","0x480280017ff78003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400280027ff77ffd","0x20680017fff7ffe","0x275","0x402780017fff7fff","0x1","0x400280007ff77ffc","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x480680017fff8000","0x0","0x482480017ffe8000","0x1","0x482680017ff78000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ff97fff","0x400080017ff97ff8","0x400080027ff97ffc","0x400080037ff97ffd","0x480080057ff98000","0x20680017fff7fff","0x257","0x480080067ff88000","0x480080047ff78000","0x482480017ff68000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x22f","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x48287ffd7ffc8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x7","0x482480017ff68000","0x2","0x48127ffe7fff8000","0x480680017fff8000","0x1","0x48287ffc7fec8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0xc","0x400080007ffb7fff","0x40780017fff7fff","0x5","0x482480017ff68000","0x1","0x48127ff97fff8000","0x48127ff57fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x1c","0x480680017fff8000","0x1","0x48307fff7ffa8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffc7fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x20680017fff7fff","0x1d6","0x480680017fff8000","0x0","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x480680017fff8000","0x53746f726167655772697465","0x400080007fea7fff","0x400080017fea7fe9","0x400080027fea7ffd","0x400080037fea7ffe","0x400080047fea7ffa","0x480080067fea8000","0x20680017fff7fff","0x1b8","0x480680017fff8000","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x480080057fe88000","0x480680017fff8000","0x0","0x482480017ffd8000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400080077fe47fff","0x400080087fe47ffc","0x400080097fe47ffd","0x4000800a7fe47ffe","0x4000800b7fe47ff5","0x4800800d7fe48000","0x20680017fff7fff","0x19e","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400280007ff97fff","0x400380017ff97ffb","0x480280027ff98000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080007fec7ffc","0x480080017feb7ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080027fe97ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080007fec7ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080017fea7ffd","0x400080027fe97ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x4800800c7fda8000","0x480680017fff8000","0x0","0x482680017ff98000","0x3","0x482480017fe68000","0x3","0x480680017fff8000","0x53746f7261676552656164","0x4000800e7fd57fff","0x4000800f7fd57ffb","0x400080107fd57ffc","0x400080117fd57ffa","0x480080137fd58000","0x20680017fff7fff","0x15b","0x480080147fd48000","0x480080127fd38000","0x482480017fd28000","0x15","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0x133","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x480680017fff8000","0x0","0x482480017ff48000","0x1","0x482480017ff78000","0x1","0x480680017fff8000","0x53746f7261676552656164","0x400080007ffa7fff","0x400080017ffa7ff9","0x400080027ffa7ffc","0x400080037ffa7ffd","0x480080057ffa8000","0x20680017fff7fff","0x117","0x480080067ff98000","0x480080047ff88000","0x482480017ff78000","0x7","0xa0680017fff8000","0x16","0x480080007ff98003","0x480080017ff88003","0x4844800180017ffe","0x100000000000000000000000000000000","0x483080017ffd7ff9","0x482480017fff7ffd","0x800000000000010fffffffffffffffff7ffffffffffffef0000000000000001","0x20680017fff7ffc","0x6","0x402480017fff7ffd","0xffffffffffffffffffffffffffffffff","0x10780017fff7fff","0x4","0x402480017ffe7ffd","0xf7ffffffffffffef0000000000000000","0x400080027ff47ffd","0x20680017fff7ffe","0xef","0x402780017fff7fff","0x1","0x400080007ff97ffc","0x48287ffd7ffc8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffd7fff8000","0x480680017fff8000","0x0","0x10780017fff7fff","0x7","0x482480017ff68000","0x2","0x48127ffe7fff8000","0x480680017fff8000","0x1","0x48287ffc7fed8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080007ffa7fff","0x10780017fff7fff","0xc","0x400080007ffb7fff","0x40780017fff7fff","0x5","0x482480017ff68000","0x1","0x48127ff97fff8000","0x48127ff57fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x1c","0x480680017fff8000","0x1","0x48307fff7ffa8001","0xa0680017fff7fff","0x7","0x4824800180007fff","0x100000000000000000000000000000000","0x400080017ff67fff","0x10780017fff7fff","0xc","0x400080017ff77fff","0x40780017fff7fff","0x1","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffc7fff8000","0x48127ff57fff8000","0x10780017fff7fff","0x8","0x482480017ff68000","0x2","0x48127ffa7fff8000","0x48127ffd7fff8000","0x480680017fff8000","0x1","0x20680017fff7fff","0x96","0x480680017fff8000","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x400080007fdd7fff","0x400180017fdd7ffb","0x480080027fdd8000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080007ff67ffc","0x480080017ff57ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080027ff37ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080007ff67ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080017ff47ffd","0x400080027ff37ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x480680017fff8000","0x0","0x482480017fd48000","0x3","0x482480017ff18000","0x3","0x480680017fff8000","0x53746f726167655772697465","0x400080007fe07fff","0x400080017fe07fdf","0x400080027fe07ffc","0x400080037fe07ffb","0x400080047fe07ff0","0x480080067fe08000","0x20680017fff7fff","0x54","0x480080057fdf8000","0x480680017fff8000","0x0","0x482480017ff88000","0x1","0x480680017fff8000","0x53746f726167655772697465","0x400080077fdb7fff","0x400080087fdb7ffc","0x400080097fdb7ffd","0x4000800a7fdb7ffe","0x4000800b7fdb7fec","0x4800800d7fdb8000","0x20680017fff7fff","0x3c","0x40780017fff7fff","0x1","0x40780017fff7fff","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480a7ffb7fff8000","0x480a7ffc7fff8000","0x480a7ffd7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127ff37fff8000","0x48127ff27fff8000","0x48127ff27fff8000","0x48127ff17fff8000","0x1104800180018000","0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffc15","0x4800800c7fc28000","0x480680017fff8000","0x456d69744576656e74","0x4000800e7fc07fff","0x4000800f7fc07ffe","0x400080107fc07ffa","0x400080117fc07ffb","0x400080127fc07ffc","0x400080137fc07ffd","0x480080157fc08000","0x20680017fff7fff","0xe","0x48127fdd7fff8000","0x480080147fbe8000","0x48127fda7fff8000","0x482480017fbc8000","0x16","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x48127fdd7fff8000","0x480080147fbe8000","0x48127fda7fff8000","0x482480017fbc8000","0x18","0x480680017fff8000","0x1","0x480080167fba8000","0x480080177fb98000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x17","0x4800800c7fc38000","0x482480017fc28000","0x10","0x4800800e7fc18000","0x4800800f7fc08000","0x10780017fff7fff","0x9","0x40780017fff7fff","0x1c","0x480080057fc38000","0x482480017fc28000","0x9","0x480080077fc18000","0x480080087fc08000","0x48127fdd7fff8000","0x48127ffb7fff8000","0x48127fda7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x2c","0x40780017fff7fff","0x1","0x480680017fff8000","0x753235365f616464204f766572666c6f77","0x400080007ffe7fff","0x48127fce7fff8000","0x48127fbd7fff8000","0x48127fae7fff8000","0x48127fbc7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x33","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017fbf8000","0x3","0x48127fc27fff8000","0x48127fc27fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x3e","0x48127fbf7fff8000","0x480080047fba8000","0x482480017fb98000","0x8","0x480080067fb88000","0x480080077fb78000","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x3c","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017fb68000","0x3","0x48127fb97fff8000","0x48127fb97fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0x47","0x48127fb67fff8000","0x480080127f8c8000","0x482480017f8b8000","0x16","0x480080147f8a8000","0x480080157f898000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x48127fae7fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x57","0x4800800c7f8c8000","0x482480017f8b8000","0x10","0x4800800e7f8a8000","0x4800800f7f898000","0x10780017fff7fff","0x9","0x40780017fff7fff","0x5d","0x480080057f8c8000","0x482480017f8b8000","0x9","0x480080077f8a8000","0x480080087f898000","0x48127f977fff8000","0x48127ffb7fff8000","0x480a7ff97fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x40780017fff7fff","0x63","0x40780017fff7fff","0x1","0x480680017fff8000","0x753235365f616464204f766572666c6f77","0x400080007ffe7fff","0x48127f977fff8000","0x48127f867fff8000","0x480a7ff97fff8000","0x48127f857fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x482480017ff88000","0x1","0x208b7fff7fff7ffe","0x40780017fff7fff","0x6a","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482480017f888000","0x3","0x48127f8b7fff8000","0x48127f8b7fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x75","0x48127f887fff8000","0x480080047f828000","0x482480017f818000","0x8","0x480080067f808000","0x480080077f7f8000","0x10780017fff7fff","0x1a","0x40780017fff7fff","0x74","0x40780017fff7fff","0x1","0x480680017fff8000","0x53746f726555313238202d206e6f6e2075313238","0x400080007ffe7fff","0x482680017ff78000","0x3","0x48127f817fff8000","0x48127f817fff8000","0x48127ffb7fff8000","0x482480017ffa8000","0x1","0x10780017fff7fff","0xa","0x40780017fff7fff","0x7f","0x480a7ff77fff8000","0x480280047ffa8000","0x482680017ffa8000","0x8","0x480280067ffa8000","0x480280077ffa8000","0x48127ffb7fff8000","0x48127ffb7fff8000","0x480a7ff97fff8000","0x48127ffa7fff8000","0x480680017fff8000","0x1","0x48127ff97fff8000","0x48127ff97fff8000","0x208b7fff7fff7ffe","0x1104800180018000","0xca","0x482480017fff8000","0xc9","0x480080007fff8000","0x480080037fff8000","0x482480017fff8000","0x43c6","0xa0680017fff8000","0x8","0x48317ffe80007ff4","0x482480017fff8000","0x100000000000000000000000000000000","0x400280007ff37fff","0x10780017fff7fff","0xa0","0x48317ffe80007ff4","0x400280007ff37fff","0x482680017ff38000","0x1","0x48297ff780007ff8","0x20680017fff7fff","0x4","0x10780017fff7fff","0xa","0x482680017ff78000","0x1","0x480a7ff87fff8000","0x480680017fff8000","0x0","0x480a7ff77fff8000","0x10780017fff7fff","0x8","0x480a7ff77fff8000","0x480a7ff87fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x20680017fff7ffe","0x75","0x482a7ffc7ffb8000","0x480080007ffe8000","0x480680017fff8000","0x53746f726167655772697465","0x400280007ff67fff","0x400280017ff67ff6","0x400380027ff67ffa","0x400280037ff67ffd","0x400280047ff67ffe","0x480280067ff68000","0x20680017fff7fff","0x58","0x480680017fff8000","0x1","0x480280057ff68000","0x482680017ff68000","0x7","0xa0680017fff8000","0x8","0x48327ffc7ffc8000","0x4824800180007fff","0x100","0x400080007ff07fff","0x10780017fff7fff","0x10","0x48327ffc7ffc8001","0x4824800180007fff","0xffffffffffffffffffffffffffffff00","0x400080007ff07ffe","0x40780017fff7fff","0xa","0x482480017fe68000","0x1","0x480a7ff57fff8000","0x480a7ffd7fff8000","0x480a7ffb7fff8000","0x48127ff17fff8000","0x10780017fff7fff","0x2f","0x482680017ffd8000","0x1","0x480680017fff8000","0x427974654172726179","0x400380007ff57ff9","0x400280017ff57ffe","0x400280027ff57fff","0x480280037ff58000","0xa0680017fff8005","0xe","0x4824800180057ffe","0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00","0x484480017ffe8000","0x110000000000000000","0x48307ffe7fff8003","0x480080017fe97ffc","0x480080027fe87ffc","0x482480017ffb7ffd","0xffffffffffffffeefffffffffffffeff","0x400080037fe67ffc","0x10780017fff7fff","0x11","0x48127ffe7fff8005","0x484480017ffe8000","0x8000000000000000000000000000000","0x48307ffe7fff8003","0x480080017fe97ffd","0x482480017ffc7ffe","0xf0000000000000000000000000000100","0x480080027fe77ffd","0x400080037fe67ff9","0x402480017ffd7ff9","0xffffffffffffffffffffffffffffffff","0x20680017fff7ffd","0x4","0x402780017fff7fff","0x1","0x482480017fe68000","0x4","0x482680017ff58000","0x6","0x48127ff47fff8000","0x48127ffc7fff8000","0x480680017fff8000","0x0","0x48127ffb7fff8000","0x48127feb7fff8000","0x48127ffa7fff8000","0x48127fea7fff8000","0x48127fdf7fff8000","0x48127fdf7fff8000","0x480a7ff97fff8000","0x480a7ffa7fff8000","0x48127ff67fff8000","0x48127ff67fff8000","0x48127ff37fff8000","0x1104800180018000","0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff79","0x208b7fff7fff7ffe","0x48127ff67fff8000","0x480280057ff68000","0x480a7ff57fff8000","0x482680017ff68000","0x9","0x480680017fff8000","0x0","0x48127ff37fff8000","0x48127ff37fff8000","0x480a7ffd7fff8000","0x480a7ffb7fff8000","0x480a7ffc7fff8000","0x480680017fff8000","0x1","0x480280077ff68000","0x480280087ff68000","0x208b7fff7fff7ffe","0x48127ffa7fff8000","0x48127ff87fff8000","0x480a7ff57fff8000","0x480a7ff67fff8000","0x480680017fff8000","0x0","0x48127ff77fff8000","0x48127ff77fff8000","0x480a7ffd7fff8000","0x480a7ffb7fff8000","0x480a7ffc7fff8000","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x208b7fff7fff7ffe","0x40780017fff7fff","0x1","0x480680017fff8000","0x4f7574206f6620676173","0x400080007ffe7fff","0x482680017ff38000","0x1","0x480a7ff47fff8000","0x480a7ff57fff8000","0x480a7ff67fff8000","0x480680017fff8000","0x1","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x480680017fff8000","0x0","0x48127ff37fff8000","0x482480017ff28000","0x1","0x208b7fff7fff7ffe"],"bytecode_segment_lengths":[230,341,252,368,455,368,156,156,93,230,341,455,350,197,802,149,188,262,66,117,30,282,214,716,202],"hints":[[0,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[17,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[36,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x440c"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[60,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[67,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[69,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[104,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-7}}}}]],[111,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[113,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[134,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[150,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[172,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[200,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[215,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[230,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[263,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[267,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[277,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[292,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[315,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-20}},"dst":{"register":"AP","offset":0}}}]],[330,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[334,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[345,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[371,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[378,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[380,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[413,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-6}}}}]],[420,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[422,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[443,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[460,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[486,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[517,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[540,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[555,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[571,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[604,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[608,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[618,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[649,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[653,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[663,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[678,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[703,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-32}},"dst":{"register":"AP","offset":0}}}]],[724,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[747,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[770,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[792,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[807,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[823,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[856,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[860,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[870,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[902,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[904,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[949,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[951,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1025,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1050,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-47}},"dst":{"register":"AP","offset":0}}}]],[1066,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1083,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1122,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1138,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1160,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1175,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1191,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x410"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1224,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[1228,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[1238,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[1269,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[1273,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[1283,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[1315,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1317,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1362,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1364,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1438,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1463,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-58}},"dst":{"register":"AP","offset":0}}}]],[1479,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1508,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1555,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1571,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1593,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1615,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1630,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1646,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[1679,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[1683,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[1693,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[1725,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1727,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1772,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[1774,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[1848,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1873,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-47}},"dst":{"register":"AP","offset":0}}}]],[1889,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[1906,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1945,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1961,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1983,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[1998,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2016,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2033,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2056,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-9}},"dst":{"register":"AP","offset":0}}}]],[2083,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2138,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2154,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2172,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2189,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2212,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-9}},"dst":{"register":"AP","offset":0}}}]],[2239,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2294,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2310,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2326,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2343,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2362,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[2374,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2389,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2404,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2419,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2436,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2455,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x440c"},"rhs":{"Deref":{"register":"AP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[2479,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[2486,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2488,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[2523,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-7}}}}]],[2530,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2532,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[2553,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2569,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2591,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2619,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2634,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2649,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[2682,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[2686,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[2696,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[2711,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2734,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-20}},"dst":{"register":"AP","offset":0}}}]],[2749,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[2753,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[2764,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[2790,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[2797,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2799,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[2832,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-6}}}}]],[2839,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[2841,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[2862,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2879,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2905,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2936,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2959,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2974,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[2990,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x410"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[3023,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[3027,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[3037,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[3068,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[3072,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[3082,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[3114,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3116,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[3161,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3163,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[3237,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3262,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-58}},"dst":{"register":"AP","offset":0}}}]],[3278,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[3307,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3354,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3370,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3392,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3414,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3429,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3445,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x0"},"rhs":{"Deref":{"register":"FP","offset":-6}},"dst":{"register":"AP","offset":0}}}]],[3479,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3481,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[3526,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3528,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-2}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[3618,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x800000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[3622,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[3632,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-2}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[3647,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3677,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"AP","offset":-50}},"dst":{"register":"AP","offset":0}}}]],[3700,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3722,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3746,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3762,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3778,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3803,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[3807,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[3818,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[3844,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[3851,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3853,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[3886,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-6}}}}]],[3893,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[3895,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[3928,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3954,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[3996,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4015,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4035,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[4039,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4050,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4076,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-7}}}}]],[4083,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[4085,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[4118,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-6}}}}]],[4125,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[4127,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[4149,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4172,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4192,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4222,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[4226,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4237,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4264,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-32}}}}]],[4279,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-37},"b":{"Immediate":"0x7"}}}}}]],[4287,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[4291,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4302,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4329,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-52},"b":{"Immediate":"0xe"}}}}}]],[4336,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[4338,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[4371,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-6}}}}]],[4378,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[4380,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[4402,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4425,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4445,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4475,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[4479,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4490,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[4517,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-32}}}}]],[4532,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-37},"b":{"Immediate":"0x7"}}}}}]],[4535,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4537,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4567,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-64},"b":{"Immediate":"0xe"}}}}}]],[4619,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4636,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4662,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4720,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4737,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4763,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4823,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4846,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4866,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[4904,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4947,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4966,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[4989,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[4993,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5004,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5031,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-7}}}}]],[5046,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0x7"}}}}}]],[5049,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5051,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5081,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Immediate":"0xe"}}}}}]],[5139,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-5}}}}]],[5146,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Immediate":"0x0"}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[5150,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-1}},"scalar":{"Immediate":"0x8000000000000110000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":0},"y":{"register":"AP","offset":1}}}]],[5174,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5195,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-7}},"rhs":{"Deref":{"register":"AP","offset":-2}},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[5211,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[5215,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5226,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5240,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5278,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-14}}}}]],[5355,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5393,[{"TestLessThanOrEqual":{"lhs":{"Immediate":"0x8de"},"rhs":{"Deref":{"register":"FP","offset":-7}},"dst":{"register":"AP","offset":0}}}]],[5445,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5461,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5463,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5614,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"FP","offset":-13}},"dst":{"register":"AP","offset":0}}}]],[5639,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-11}}}}]],[5646,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000000000000000000000000000000000"},"dst":{"register":"AP","offset":4}}}]],[5650,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":3}},"scalar":{"Immediate":"0x7000000000000110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5660,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":-4}},"scalar":{"Immediate":"0x1000000000000000000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-1},"y":{"register":"AP","offset":0}}}]],[5675,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":-1}}}]],[5685,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-7},"b":{"Deref":{"register":"AP","offset":-1}}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[5715,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[5719,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5730,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5767,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5797,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5858,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[5891,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[5901,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-3},"b":{"Deref":{"register":"FP","offset":-3}}}},"rhs":{"Immediate":"0x100000000"},"dst":{"register":"AP","offset":0}}}]],[5922,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-9}}}}]],[5933,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[5937,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5948,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[5998,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-13}}}}]],[6069,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6081,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6106,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6131,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-6}}}}]],[6138,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[6140,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[6175,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-7}}}}]],[6182,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[6184,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[6206,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[6229,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[6249,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[6285,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-22}}}}]],[6302,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-28},"b":{"Immediate":"0x7"}}}}}]],[6310,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[6314,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[6325,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[6352,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-43},"b":{"Immediate":"0xe"}}}}}]],[6359,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[6361,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[6394,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-6}}}}]],[6401,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-3}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":0}}}]],[6403,[{"DivMod":{"lhs":{"Deref":{"register":"AP","offset":-4}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"quotient":{"register":"AP","offset":3},"remainder":{"register":"AP","offset":4}}}]],[6425,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[6448,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[6468,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":0}},"rhs":{"Immediate":"0x100000000000000000000000000000000"},"dst":{"register":"AP","offset":-1}}}]],[6498,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[6502,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[6513,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[6540,[{"SystemCall":{"system":{"Deref":{"register":"AP","offset":-32}}}}]],[6555,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-37},"b":{"Immediate":"0x7"}}}}}]],[6558,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6560,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6591,[{"SystemCall":{"system":{"BinOp":{"op":"Add","a":{"register":"AP","offset":-64},"b":{"Immediate":"0xe"}}}}}]],[6643,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6660,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6686,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6744,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6761,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6787,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]],[6826,[{"TestLessThanOrEqual":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Deref":{"register":"FP","offset":-12}},"dst":{"register":"AP","offset":0}}}]],[6868,[{"SystemCall":{"system":{"Deref":{"register":"FP","offset":-10}}}}]],[6876,[{"TestLessThan":{"lhs":{"BinOp":{"op":"Add","a":{"register":"FP","offset":-4},"b":{"Deref":{"register":"AP","offset":-3}}}},"rhs":{"Immediate":"0x100"},"dst":{"register":"AP","offset":0}}}]],[6906,[{"TestLessThan":{"lhs":{"Deref":{"register":"AP","offset":-1}},"rhs":{"Immediate":"0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00"},"dst":{"register":"AP","offset":5}}}]],[6910,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x110000000000000000"},"max_x":{"Immediate":"0xffffffffffffffffffffffffffffffff"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[6921,[{"LinearSplit":{"value":{"Deref":{"register":"AP","offset":4}},"scalar":{"Immediate":"0x8000000000000000000000000000000"},"max_x":{"Immediate":"0xfffffffffffffffffffffffffffffffe"},"x":{"register":"AP","offset":-2},"y":{"register":"AP","offset":-1}}}]],[6992,[{"AllocSegment":{"dst":{"register":"AP","offset":0}}}]]],"entry_points_by_type":{"EXTERNAL":[{"selector":"0x41b033f4a31df8067c24d1e9b550a2ce75fd4a29e1147af9752174f0e6cb20","offset":2990,"builtins":["pedersen","range_check"]},{"selector":"0x4c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9","offset":2326,"builtins":["range_check"]},{"selector":"0x80aa9fdbfaf9615e4afc7f5f722e265daca5ccc655360fa5ccacf9c267936d","offset":2419,"builtins":["range_check"]},{"selector":"0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e","offset":823,"builtins":["pedersen","range_check"]},{"selector":"0x1557182e4359a1f0c6301278e8f5b35a776ab58d39892581e357578fb287836","offset":0,"builtins":["range_check"]},{"selector":"0x1e888a1026b19c8c0b57c72d63ed1737106aa10034105b980ba117bd0c29fe1","offset":571,"builtins":["pedersen","range_check"]},{"selector":"0x216b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4","offset":2170,"builtins":["range_check","poseidon"]},{"selector":"0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c","offset":1646,"builtins":["pedersen","range_check"]},{"selector":"0x2e4263afad30923c891518314c3c95dbe830a16874e8abc5777a9a20b54c76e","offset":2649,"builtins":["pedersen","range_check"]},{"selector":"0x35a73cd311a05d46deda634c5ee045db92f811b4e74bca4437fcb5302b7af33","offset":230,"builtins":["pedersen","range_check"]},{"selector":"0x361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60","offset":2014,"builtins":["range_check","poseidon"]},{"selector":"0x3704ffe8fba161be0e994951751a5033b1462b918ff785c0a636be718dfdb68","offset":1191,"builtins":["pedersen","range_check"]}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","offset":3445,"builtins":["pedersen","range_check","poseidon"]}]}} \ No newline at end of file diff --git a/contracts/v1/artifacts/contract2_MyToken.contract_class.json b/contracts/v1/artifacts/contract2_MyToken.contract_class.json new file mode 100644 index 00000000..4931c374 --- /dev/null +++ b/contracts/v1/artifacts/contract2_MyToken.contract_class.json @@ -0,0 +1 @@ +{"sierra_program":["0x1","0x5","0x0","0x2","0x6","0x2","0x345","0xbb","0x79","0x52616e6765436865636b","0x800000000000000100000000000000000000000000000000","0x436f6e7374","0x800000000000000000000000000000000000000000000002","0x1","0x7","0x2","0x45524332303a206d696e7420746f2030","0x7533325f6d756c204f766572666c6f77","0x7533325f616464204f766572666c6f77","0x4172726179","0x800000000000000300000000000000000000000000000001","0x49","0x536e617073686f74","0x800000000000000700000000000000000000000000000001","0x4","0x537472756374","0x800000000000000700000000000000000000000000000002","0x0","0x149ee8c97f9cdd259b09b6ca382e10945af23ee896a644de8c7b57da1779da7","0x5","0x66656c74323532","0x800000000000000700000000000000000000000000000000","0x53746f726167654261736541646472657373","0x7538","0x800000000000000f00000000000000000000000000000001","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x456e756d","0x800000000000000300000000000000000000000000000003","0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99","0xa","0xb","0x800000000000000300000000000000000000000000000006","0x6","0x8","0x9","0xc","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0xe","0x1da860b08c8c086977f4d7b1cde9e72ae6fd06254c518bdbf96a0bcaf812e2","0xd","0xf","0x753634","0x496e76616c69642076616c7565","0x7533325f737562204f766572666c6f77","0x21","0x134692b230b9e1ffa39098904722134159652b09c5bc41d88d6698779d228ff","0x99cd8bde557814842a3121e8ddfd433a539b8c9f14bf31ebf108d12e6196e9","0x3","0x4d544b","0x800000000000000300000000000000000000000000000002","0x5b9304f5e1c8e3109707ef96fc2ba4cf5360d21752ceb905d488f0aef67c7","0x19","0x4d79546f6b656e","0x556e696e697469616c697a6564","0x800000000000000200000000000000000000000000000001","0x426f78","0x800000000000000700000000000000000000000000000003","0x18ef5e2178ac6be59ceafd15e6995810f636807e02c51d309c3f65e37000fc5","0x1e","0x496e76616c696420427974654172726179206c656e677468","0x753332","0x800000000000000300000000000000000000000000000007","0x24a2e6c198919387cc3601a2c9b7453f44da145a5a388719853301f9307a9c2","0x22","0x427974654172726179","0x4f7074696f6e3a3a756e77726170206661696c65642e","0x4e6f6e5a65726f","0x1f","0x436f6e747261637441646472657373","0x75313238","0x25e2ca4b84968c2d8b83ef476ca8549410346b00836ce79beaf538155990bb2","0x2c","0x800000000000000700000000000000000000000000000004","0x2647394a81063a92230c45a12cfb705f9ea43f2af4f9c7254cc829a3e7db7b2","0x2b","0x2d","0x45524332303a20617070726f766520746f2030","0x45524332303a20617070726f76652066726f6d2030","0xffffffffffffffffffffffffffffffff","0x753235365f737562204f766572666c6f77","0x753235365f616464204f766572666c6f77","0xad5378e5b9dd0bf2b0f93553241ca6c137099e0678d810f7b816ad1a97b097","0x3e03d6995a30531998e59ac4709350a9523415b273357be8eb79dd9fc9024d9","0x34","0x2e","0x2acf79c04e562a2c51ec8750281b87675f79c4a0399457642a31379e8115ca","0x35","0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972","0x45524332303a207472616e7366657220746f2030","0x45524332303a207472616e736665722066726f6d2030","0x3c87bf42ed4f01f11883bf54f43d91d2cbbd5fec26d1df9c74c57ae138800a4","0x37c0289627bda1e3ea41b223d1cb0616abe6f0185a5ce7f045b7d2fe6454711","0x63ad7314d299a06d688bc8d55276586d03e87e9f204a0e9ce50866f9f4c148","0x2d249c0bf3e30fe723f9bef624994a4a74ac2c209a3ebebefee352d530a8cc6","0x1f72341e565fbd2d04351ca017eb0654c9dd8b2d7692f6ef17e51f5d8121753","0x1c30f149832032ac1df3224b6c421687f7cad14632e8dd422e0562147b9c224","0x800000000000000f00000000000000000000000000000006","0x2f4bea4cf3e7fbe56f5d8de1751348420fdfbc131470a2102fb97f9f05230a8","0x3d","0x3e","0x3f","0x40","0x41","0x800000000000000f00000000000000000000000000000002","0xac885bfd5e72af43b9f0fd045781599e297e98c8c1ff750c9f7cd3acdadd03","0x42","0x800000000000000f00000000000000000000000000000003","0x43","0x96f99012e6e58035c7bf2b2f198ac12f6488ca85c7b7cdd4fb5befb7257292","0x44","0x12","0x74584e9f10ffb1a40aa5a3582e203f6758defc4a497d1a2d5a89f274a320e9","0x47","0x62797465733331","0x800000000000000300000000000000000000000000000004","0x36775737a2dc48f3b19f9a1f4bc3ab9cb367d1e2e827cef96323826fd39f53f","0x4a","0x2cbbb45dca0699384ab13c353365d8adcdb90cc4205f689fc51d138a420afb7","0x4c","0x276d9c79d6203e68b2f838afaa450f221ee214cd6b6b8cff7f9ebdb09888b70","0x4d","0x53797374656d","0x50","0x506f736569646f6e","0x52","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0xc843a0080391d7bbb156a78522f78c6dc7cb665abbd7f988b702873b178d2d","0x56","0x5f","0x60","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x5a","0x61","0x5c","0x1597b831feeb60c71f259624b79cf66995ea4f7e383403583674ab9c33b9cec","0x5d","0x80000000000000070000000000000000000000000000000e","0x348a62b7a38c0673e61e888d83a3ac1bf334ee7361a8514593d3d9532ed8b39","0x5b","0x5e","0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5","0x11","0x3342418ef16b3e2799b906b1e4e89dbb9b111332dd44f72458ce44f9895b508","0x800000000000000700000000000000000000000000000006","0x7d4d99e9ed8d285b5c61b493cedb63976bc3d9da867933d829f49ce838b5e7","0x59","0x58","0x62","0x12867ecd09c884a5cf1f6d9eb0193b4695ce3bb3b2d796a8367d0c371f59cb2","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0x65","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x2ce4352eafa6073ab4ecf9445ae96214f99c2c33a29c01fcae68ba501d10e2c","0x68","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0x3a4e8ec16e258a799fe707996fd5d21d42b29adc1499a370edf7f809d8c458a","0x506564657273656e","0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511","0x4f7574206f6620676173","0x53746f726555313238202d206e6f6e2075313238","0x53746f7261676541646472657373","0x4275696c74696e436f737473","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x71","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x4761734275696c74696e","0x13b","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x7374727563745f6465636f6e737472756374","0x73746f72655f74656d70","0x61727261795f736e617073686f745f706f705f66726f6e74","0x64726f70","0x61727261795f6e6577","0x636f6e73745f61735f696d6d656469617465","0x77","0x61727261795f617070656e64","0x7374727563745f636f6e737472756374","0x656e756d5f696e6974","0x76","0x78","0x6765745f6275696c74696e5f636f737473","0x75","0x77697468647261775f6761735f616c6c","0x73746f726167655f626173655f616464726573735f636f6e7374","0x110e2f729c9c2b988559994a3daccd838cf52faf88e18101373e67dd061455a","0x647570","0x73746f726167655f616464726573735f66726f6d5f62617365","0x73","0x74","0x73746f726167655f726561645f73797363616c6c","0x75313238735f66726f6d5f66656c74323532","0x72","0x2679d68052ccd03a53755ca9169677965fbd93e489df62f5f40d4f03c24f7a4","0x736e617073686f745f74616b65","0x72656e616d65","0x753132385f746f5f66656c74323532","0x70","0x6a756d70","0x6f","0x656e61626c655f61705f747261636b696e67","0x756e626f78","0x6e","0x656e756d5f6d61746368","0x21adb5788e32c84f69a1863d85ef9394b7bf761a0ce1190f826984e5075c371","0x64697361626c655f61705f747261636b696e67","0x6d","0x636f6e74726163745f616464726573735f746f5f66656c74323532","0x6c","0x706564657273656e","0xad292db4ff05a993c318438c1b6c8a8303266af2da151aa28ccece6726f1f1","0x6b","0x6a","0x66756e6374696f6e5f63616c6c","0x69","0x67","0x66","0x64","0x6765745f657865637574696f6e5f696e666f5f76325f73797363616c6c","0x63","0x57","0x55","0x54","0x10","0x616c6c6f635f6c6f63616c","0x66696e616c697a655f6c6f63616c73","0x4f","0x53","0x51","0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1","0x73746f72655f6c6f63616c","0x4e","0x4b","0x7374727563745f736e617073686f745f6465636f6e737472756374","0x61727261795f6c656e","0x7533325f746f5f66656c74323532","0x48","0xb6ce5410fca59d078ee9b2a4371a9d684c530d697c64fbef0ae6d5e8f0ac72","0x46","0x75385f746f5f66656c74323532","0x13","0x45","0x3c","0x66656c743235325f69735f7a65726f","0x3a","0x3b","0x39","0x753132385f6f766572666c6f77696e675f737562","0x38","0x37","0x73746f726167655f77726974655f73797363616c6c","0x753132385f6f766572666c6f77696e675f616464","0x36","0x14","0x656d69745f6576656e745f73797363616c6c","0x33","0x32","0x31","0x753132385f6571","0x30","0x2f","0x7533325f7472795f66726f6d5f66656c74323532","0x29","0x7533325f69735f7a65726f","0x2a","0x27","0x7533325f736166655f6469766d6f64","0x73746f726167655f616464726573735f746f5f66656c74323532","0x26","0x25","0x68616465735f7065726d75746174696f6e","0x24","0x15","0x23","0x7533325f6571","0x20","0x627974657333315f746f5f66656c74323532","0x1c","0x1b","0x16","0x1a","0x18","0x17","0x627974657333315f7472795f66726f6d5f66656c74323532","0x7533325f6f766572666c6f77696e675f737562","0x75385f6f766572666c6f77696e675f616464","0x66656c743235325f616464","0x7533325f776964655f6d756c","0x646f776e63617374","0x7533325f6f766572666c6f77696e675f616464","0x636f6e74726163745f616464726573735f636f6e7374","0x1428","0xffffffffffffffff","0x97","0x8a","0x1d","0x28","0x7e","0x82","0x174","0xb3","0xb8","0x162","0x15e","0xd0","0x14f","0x13a","0x128","0x121","0x114","0x135","0x141","0x145","0x166","0x7a","0x7b","0x7c","0x7d","0x7f","0x80","0x81","0x83","0x84","0x241","0x191","0x196","0x22f","0x22b","0x1a3","0x1a8","0x218","0x213","0x1c1","0x202","0x1fa","0x21d","0x233","0x34b","0x25e","0x263","0x339","0x335","0x26e","0x273","0x2a8","0x2a3","0x281","0x286","0x299","0x293","0x2b0","0x29d","0x2ab","0x323","0x2c6","0x312","0x300","0x2f7","0x309","0x85","0x86","0x87","0x88","0x89","0x8b","0x8c","0x8d","0x33d","0x8e","0x8f","0x90","0x91","0x92","0x93","0x94","0x95","0x96","0x98","0x99","0x49e","0x368","0x36d","0x48c","0x488","0x37a","0x37f","0x475","0x470","0x38a","0x38f","0x3c4","0x3bf","0x39d","0x3a2","0x3b5","0x3af","0x3cc","0x3b9","0x3c7","0x45d","0x3e3","0x44b","0x438","0x42b","0x422","0x442","0x9a","0x9b","0x9c","0x9d","0x9e","0x9f","0xa0","0xa1","0xa2","0xa3","0xa4","0xa5","0xa6","0xa7","0xa8","0xa9","0x47a","0xaa","0xab","0xac","0xad","0xae","0xaf","0xb0","0x490","0xb1","0xb2","0xb4","0xb5","0xb6","0xb7","0xb9","0xba","0xbb","0xbc","0x5a8","0x4bb","0x4c0","0x596","0x592","0x4cb","0x4d0","0x505","0x500","0x4de","0x4e3","0x4f6","0x4f0","0x50d","0x4fa","0x508","0x580","0x523","0x56f","0x55d","0x554","0x566","0x59a","0x648","0x5d4","0x637","0x628","0x624","0x61b","0x62d","0x6eb","0x677","0x6da","0x6cb","0x6c7","0x6be","0x6d0","0x734","0x712","0x727","0x7d9","0x757","0x7cc","0x7b9","0x7a7","0x7a0","0x793","0x7b4","0x7c0","0x7c4","0x8b6","0x7f5","0x7fa","0x8a4","0x8a0","0x812","0x891","0x87c","0x86a","0x863","0x856","0x877","0x883","0x887","0x8a8","0xa09","0x8d3","0x8d8","0x9f7","0x9f3","0x8e5","0x8ea","0x9e0","0x9db","0x8f5","0x8fa","0x92f","0x92a","0x908","0x90d","0x920","0x91a","0x937","0x924","0x932","0x9c8","0x94e","0x9b6","0x9a3","0x996","0x98d","0x9ad","0x9e5","0x9fb","0xafb","0xa24","0xa29","0xa5e","0xa59","0xa37","0xa3c","0xa4f","0xa49","0xa66","0xa53","0xa61","0xae9","0xa70","0xa75","0xad5","0xad0","0xa8f","0xabe","0xab5","0xada","0xb63","0xb4d","0xb46","0xb39","0xb5a","0xb6a","0xb88","0xb9f","0xd79","0xd63","0xd58","0xd47","0xbcc","0xbd2","0xbd9","0xbeb","0xbe3","0xd32","0xd1e","0xd15","0xcfd","0xce7","0xcdc","0xccb","0xc33","0xc39","0xc40","0xc52","0xc4a","0xcb6","0xbd","0xbe","0xbf","0xc0","0xc1","0xc2","0xc3","0xc4","0xca2","0xc5","0xc6","0xc7","0xc8","0xc9","0xca","0xcb","0xcc","0xc99","0xcd","0xce","0xcf","0xd1","0xd2","0xd3","0xd4","0xd5","0xd6","0xd7","0xd8","0xd9","0xda","0xdb","0xdc","0xdd","0xde","0xdf","0xe0","0xe1","0xc8e","0xe2","0xe3","0xe4","0xe5","0xe6","0xe7","0xe8","0xe9","0xea","0xeb","0xec","0xed","0xcad","0xee","0xef","0xf0","0xf1","0xf2","0xf3","0xf4","0xf5","0xf6","0xf7","0xf8","0xf9","0xfa","0xfb","0xfc","0xfd","0xcf8","0xfe","0xff","0x100","0x101","0xd08","0x102","0x103","0x104","0x105","0x106","0x107","0x108","0xd0c","0x109","0x10a","0x10b","0x10c","0x10d","0x10e","0xd29","0x10f","0x110","0x111","0x112","0x113","0x115","0x116","0x117","0x118","0x119","0x11a","0x11b","0x11c","0x11d","0x11e","0xd74","0x11f","0x120","0x122","0xd84","0x123","0x124","0x125","0x126","0x127","0x129","0xd88","0x12a","0x12b","0x12c","0xe1a","0xdb3","0xdbc","0xe0b","0xdc6","0xdcc","0xdd3","0xde5","0xddd","0xdf3","0xe3f","0xe56","0xeab","0xea2","0xe97","0xeb6","0xf62","0xf51","0xee1","0xf47","0xf38","0xf22","0xf15","0xf2d","0xf9a","0xf7b","0xf80","0xf8f","0x1015","0x100e","0x1000","0xffa","0xff0","0x1007","0x1023","0x101d","0x1051","0x10fb","0x10ee","0x10e2","0x10d2","0x10bd","0x1099","0x10af","0x11a9","0x119d","0x1190","0x12d","0x1185","0x12e","0x1176","0x1164","0x1159","0x116b","0x12f","0x130","0x131","0x132","0x133","0x11b4","0x134","0x11d1","0x1393","0x137e","0x1374","0x1364","0x11f8","0x11fe","0x1205","0x1217","0x120f","0x1350","0x133d","0x1335","0x131e","0x1309","0x12ff","0x12ef","0x1259","0x125f","0x1266","0x1278","0x1270","0x12db","0x12c8","0x12c0","0x136","0x12b5","0x12d2","0x1319","0x1328","0x132c","0x1347","0x138e","0x139d","0x13a1","0x1414","0x13b6","0x13bb","0x1405","0x13f8","0x13d5","0x13eb","0x137","0x138","0x139","0x183","0x250","0x35a","0x4ad","0x5b7","0x65a","0x6fd","0x742","0x7e7","0x8c5","0xa18","0xb0b","0xb73","0xd91","0xe2a","0xebf","0xf6f","0xfa8","0x102d","0x1074","0x1110","0x11bd","0x13aa","0xa8b2","0xd0140c02c0a01c060140400c0901c060140400c0801c060140400c0200400","0x1c018050300b06c130681105c1905c1805c160540505013048110400503c0e","0x2604c1a04425014240142301406014220141b04c21044200141f0141e04c1d","0x30b007018050100305c2b0a8050a4050a0130741c0800509c0506c1307411","0x400c3001c060140400c2f01c060140400c0501c2e0140400c2d01c0601404","0x30a8050d4050d0130741c0940506c130cc110c80701805010030c4070b805","0x3c0143b04c3a0700d0140f0e410014380dc3601c060140400c0601c2e01404","0x50900508c05018050b8050400506c130fc1105c3e0f407018050100307c05","0x60140400c4201c060140400c1301c240140400c2a014410144004c1d07025","0x4705c460b8050e037114070b805010030b80503c4410c07018050100304c07","0x4e01c060140400c4d0144c0144c0144b04c4a04449014490144804c3a04417","0x1114807018050100314407018050100314007124050100313c070180501003","0x400c580145704c1207056014550145404c3a0704d0144c0144c0145304c4a","0x4416c07018050100316807018050100307c0507c05164130e81c0140712405","0x6004c1a0445f04c1a0445e04c1a0445d04c1a0445c01c060140400c060140f","0x111ac051a8131a4111a00519c0519805194051900518c13188111841306811","0x1b04c1d0447001c240140400c2a0146f0146e04c1d0701f0146d0141b04c6c","0xe0b80501805040051d4131d01105c730a8051c8051c4130741c07c0508005","0x2a0147a0147904c1d070780141b04c3304420014760147704c1d070760140f","0x5010031fc0701805010031f8050e0370087d1f0050e0370087b1d8050e037","0xf0e4820140f0e42a014810148004c1d0701f0146b0141b04c6c0440501c06","0x5220130481121c0503c0e218050300b2140521013048110800503c0e20c05","0x8c014490148d0140601406014060148c014490144c014060148b04c8a04489","0x523c050180524013128111300523c0523c052381312811230050b8050b805","0x4d0149604c3a070950140f0e4060144c0144c01494014930149204c9104449","0x506c130481126407018050100307c052600525c130e81c0180503c3907c05","0x400c9c01c060140400c4c0144c0141b04c3a0442a0149b0149a04c1d0704d","0x7018050100328007018050100307c050180527c130e81c0089e2740701805","0x1d0701728c172881301c2e0140400c0501c240140400c8c0141b04c12044a1","0x8c014052b0132ac132a8132a4a8008a72980701805010030a8052940529013","0xad2c805014b101805014b026005014af21405014af01805014ae04c05014ad","0xb7014052b40501cb6014072d42a014052d027014052d006014052cc0601405","0xbe08c05014bd2f007014bb04cba2e405014ad04cb82d805014ad1f005014ad","0xc3014052c41330813304c0014052b42e014052b42e014052f4bf014052c413","0x5014bd13405014ad13405014af13405014c513405014b404cc408c05014ad","0x52d020014052bc20014053141331c490140531849014052bc4d014052b04d","0x5014af04cc908005014ad32005014b104c072d80501cb529405014b423005","0xca014052c420014053187c01405318b70140531813014053182e014052bc23","0xad21405014ad04c073340501cb501805014c601805014cc04ccb23005014af","0x4c014052bc133401333ccd014053380501ccd014072d41f014052d0cd01405","0x5014b435805014b107c05014af04cd504cd434c05014b104cd234405014ad","0x6d014052d06b014052d068014052d067014052d066014052d065014052d064","0xaf19405014af19005014af1ac05014ac1b405014ac1b405014af1b405014c5","0x52b0d901405338290c405360d7014052b4d7014052d067014052bc6601405","0x5014ce0140736c0501cb536c05014ad04c0736c0501cb536805014b126c05","0x52b413374dc014053380501cdc014072d4dc014052b41301cdc014072d4db","0x5014ad01805014af25005014af24c05014af25405014ac25405014cc37805","0x27014052bc2a014052b0e0014052c481014052bcdf01405338270c4053604c","0xe31f805014e338831014d838405014b120405014ac0a831014d813005014bd","0x7e014052b4e7014052bce6014052bce5014052bc13390760140538c7c01405","0xce1e805014ac3a805014ce1f005014e91f805014e923c31014d83a007014bb","0x52f476014053b0eb014052f476014052bc760140531476014053a47801405","0xac3bc05014ce1c031014d808805014ad08805014b404cee03405014ed05405","0x133c8f1014052c4f001c052eceb014052bc2e0140531815014052bc7201405","0xb43d405014b135c05014ac1a005014af1bc05014af3d005014ce3cc31014d8","0x6b014052bc133d80501cd9014072d4d9014052b41301cd9014072d49b01405","0xb504cfa3e405014b13e005014af37c05014ad0140737c0501cb53dc05014b1","0x52bcfc014052c40501cfb014072d4fb014052b449014052b41301cfb01407","0x73fc0501cb504c071600501cb515405014b404cfe04cfd3ec05014ce3ec05","0x1000c40536058014052b4ff01405338ff014052b4ff014052bcff0140531413","0xb11a005014c540c05014b140805014b104c0737c0501cb520405014b404d01","0x538c0501c58014072d456014052d107014052c506014052c4134150401405","0x5014b142c05014af30005014af04d0a42405014b104d0830005014bd0b805","0x52f510014052c50f014052c41343813434ea014052b40501cea014072d50c","0xd80b805014e904005014ad09005014ad44805014b103405014b004d1101805","0x78014072d410014052bc13454250140533841014052b11401405339130c405","0x71e00501cb51d805014b409005014af04c073a80501cb51e805014b401407","0x52b415014052b41301c45014072d40d014052b822014052b116014052c413","0x5014b404d1703405014c603405014cc11405014ce014071140501cb511405","0x100140538c0501cef014072d422014052bcef014052b41301cef014072d472","0xac46c05014ce46831014d804005014e91d805014ad46405014b146005014b1","0x1301cf4014072d46f014052d11d0c4053611d014052c51c014052c43501405","0x5014ac15405014bd46805014b116005014ce014073d00501cb53d005014ad","0x52cc1347824014052f456014052b056014052f513014052c44c0140531855","0x5014ad014074500501cb53cc05014b104d2104d2004d1f40005014b103405","0x25014072d41301d14014072d441014052d00501c25014072d470014052c514","0xd804005014c51d805014ac04d240b80523c0501d2323c05014ad04d2204c07","0x11b014052b41301d1b014072d435014052d029014052b0e2014053391c0c405","0x5014b404c070152501405014b101c05014b10c405014b10140746c0501cb5","0x1304d270141304c134980501ce2014072d4e2014052b41301ce2014072d429","0x127014310143104c1349c0504c0704c06088074a0150400749c070141301c05","0x1301c130800544c1f0900749c0708c05054130400549c05040050401308c05","0x130940549c0504c2304c1349c0507c050181304d27014240142204c1349c05","0x2504c27015270142909407080130a40549c050a40507c130a40549c0504c24","0x50401323c0549c053880509c133880549c0509c2a01c2904c2a0152701413","0x8f0148f04c070152701407014e204c1501527014150142a04c100152701410","0x7004c1349c05080050881304d270141301c1323c07054100400523c0549c05","0x129400f301d2701c70054100c50004c700152701470014f304c700152701413","0x11c4740749c0547405468134740549c0504d1304c1349c0504c0704d1a44c07","0x134651b01d270151b0143504d1b0152701413470130d40549c054700547413","0x11804cf301527014f30141004c3501527014350151904d1901527015190151b","0x507c1304d270141301c130b916114312c83c4a9180c52701c354640740010","0xf301d2a04d2a015270152a014e204d1801527015180142a04c3c015270143c","0x134300549c0504c3c04c1349c0504c0704d0f441120c4984504101d2701c3c","0x1346c0549c0546c0546c134ac0549c054311d01d1604d1d015270151d01445","0x3149c074ad1b4a9180411804c4101527014410141004d2b015270152b01519","0x50a8131300549c051300507c1304d270141301c131584d124312344c42d09","0x3139d0641c0749c071304101d2a04d0b015270150b014e204d090152701509","0x580152701506450070b8131540549c0504c2304c1349c0504c0704d0240d04","0x133f00549c053f0054481304d27014ff0151404cfc3fc0749c051600510413","0x1304d27014f70150c04cf73e40749c053ec0543c133ecfc01d27014fc01510","0x131900549c053d45501c2004cf501527014f80150904cf801527014f90152b","0x10904c6701527014660152b04c1349c0519405430131986501d27014fc0150f","0x131bc6d01d270146b0150b04c6b015270146819007080131a00549c0519c05","0x5158133c40549c053d005134133d00549c051bc051241304d270146d0144c","0x10b014e204d0901527015090142a04d0701527015070141004c7201527014f1","0x1304d270141301c131c90b42507040051c80549c051c80523c1342c0549c05","0x1270141308c1304d27015140150c04c1349c05408054301304d27015030150c","0x549c05034ef01c2004c0d015270140d0141f04c0d015270141341c133bc05","0x7a015270150b014e204c7801527015090142a04ceb01527015040141004c76","0x5450054301304d270141301c1304cc301413410133a80549c051d80541813","0x549c0513405388131f00549c05124050a8133940549c05104050401304d27","0x1100150c04c1349c0504c0704c134b00504d0404c7e01527014560150604ce7","0x1304d270151b0150204c1349c054740540c1304d270150f0150c04c1349c05","0xe601c2004ce101527014e10141f04ce1015270141341c133980549c0504c23","0x12a014e204c7801527015180142a04ceb01527015120141004ce001527014e1","0x51e005160132040549c053ac05154133a80549c0538005418131e80549c05","0x134b40504d0404c9301527014ea014fc04c94015270147a014ff04cdf01527","0x53cc050401304d270151d0150304c1349c0546c054081304d270141301c13","0x1270142e0150604ce70152701516014e204c7c01527014450142a04ce501527","0x549c0539c053fc1337c0549c051f005160132040549c0539405154131f805","0x8c0152701493214070a4132140549c0504c2504c93015270147e014fc04c94","0x1337c0549c0537c050a8132040549c05204050401321c0549c052300509c13","0x504c0704c87250df204100148701527014870148f04c940152701494014e2","0x132340549c052340507c132340549c0504cfb04c89015270141308c1304d27","0x132180549c052088301c2904c830152701413094132080549c052348901c20","0xe204d1a015270151a0142a04d1301527015130141004c95015270148601427","0x1270141301c132540746913040052540549c052540523c1301c0549c0501c05","0x507c133700549c0504cfb04cde015270141308c1304d2701431014f904c13","0xdb01c2904cdb0152701413094132600549c05370de01c2004cdc01527014dc","0x60142a04c2201527014220141004c9b01527014da0142704cda0152701498","0x7018220400526c0549c0526c0523c1301c0549c0501c05388130180549c05","0x504c0704c23018074b8220540749c0701c0501c0504c1349c0504c1304c9b","0x130540549c05054050401304d27014133dc130900549c05040050c41304d27","0x290152701420014f804c1349c0504c0704c250152f0801f01d2701c2401415","0x133880549c0507c05194130a80549c0509c051901309c0549c050a4053d413","0x549c0504c6704c1349c0504c0704c134c00504d0404c8f015270142a01466","0x8f01527014f30146604ce201527014250146504cf301527014700146804c70","0x749c074001501c6d04c1349c0504c0704d13015314000549c0723c051ac13","0x12701ce20141504d1a015270151a0141004c1349c0504c0704d1c015324751a","0x1349c050d4050881304d27014131bc1304d270141301c13464054cd1b0d407","0x504c2404d18015270141308c1304d270151d014f404c1349c0546c0501813","0x12701413094130f00549c054a91801c2004d2a015270152a0141f04d2a01527","0x12701413014f104c2e01527015160142704d16015270143c114070a41311405","0x549c050c405388130880549c05088050a8134680549c05468050401304c05","0x131bc1304d270141301c130b8310891a04c150142e015270142e0148f04c31","0x410152701441014f304c4101527014131c01304d27015190142204c1349c05","0x11d0147204c1349c0504c0704d0f440074d1124500749c07104224683140013","0x10c4ac130c40d04d2b015270152b0141f04d2b01527014133bc134300549c05","0x11a04c491300749c0542d1401c7604d0b015270150b0141f04d0b4240749c05","0x133dc1341c0549c0504d1c04c56015270144d0151d04c4d1240749c0512405","0x5424053c4134180549c054180546c134190701d27015070143504c1349c05","0x135409034103149c07159060c5120411804c4c015270144c0141004d0901527","0x549c05410050a8134080549c054080507c1304d270141301c133fc5815431","0x133e0f73e4314d8fb3f00749c074084c01d2a04d030152701503014e204d04","0x1070151b04c6401527014f512407458133d40549c0504c3c04c1349c0504c07","0x10341010460133f00549c053f005040131900549c05190054641341c0549c05","0x127014670141f04c1349c0504c0704c6d1ac680c53719c661943149c0719107","0x12701c673f0074a8131980549c0519805388131940549c05194050a81319c05","0x1270141308c1304d27014131bc1304d270141301c133bc723c4314e0f41bc07","0x53ac05450131e0eb01d27014760144104c7601527014f43ec070b81303405","0x1270147a0150f04c7a1e00749c051e005440131e00549c051e0054481304d27","0x549c051f005424131f00549c053a8054ac1304d27014e50150c04ce53a807","0x127014e60150c04ce13980749c051e00543c131f80549c0539c0d01c2004ce7","0x549c052047e01c2004c8101527014e00150904ce001527014e10152b04c13","0x8501527014930144904c1349c05250051301324c9401d27014df0150b04cdf","0x134240549c05424053c41321c0549c0523005158132300549c052140513413","0x8f04c660152701466014e204c6501527014650142a04c6f015270146f01410","0x127014720150c04c1349c0504c0704c87198651bd090540521c0549c0521c05","0x1341c132240549c0504c2304c1349c053ec054301304d27014ef0150c04c13","0xf10141004c82015270148d22407080132340549c052340507c132340549c05","0x520805418132540549c0519805388132180549c05194050a81320c0549c05","0x50401304d27014fb0150c04c1349c0504c0704c134e40504d0404cde01527","0x6d0150604cdb015270146b014e204c9801527014680142a04cdc01527014fc","0x10c04c1349c053dc054301304d270141301c1304d3a01413410133680549c05","0x549c0504c2304c1349c0541c054081304d27014490150304c1349c053e005","0xd701527014d926c07080133640549c053640507c133640549c0504d0704c9b","0x132540549c0540c05388132180549c05410050a81320c0549c053e40504013","0xff04cd301527014860145804cd601527014830145504cde01527014d701506","0x1270141301c1304d3b01413410133340549c05378053f0133440549c0525405","0x2a04cdc015270144c0141004c1349c051240540c1304d27015070150204c13","0x5154133680549c053fc054181336c0549c0516005388132600549c0515405","0xda014fc04cd101527014db014ff04cd301527014980145804cd601527014dc","0x549c05334ca01c2904cca01527014130941304d27014131bc133340549c05","0xd601527014d60141004d090152701509014f104ca501527014c80142704cc8","0x52940549c052940523c133440549c05344053881334c0549c0534c050a813","0x549c0504c2304c1349c05474053d01304d270141301c13294d134cd642415","0xc001527014bf30c07080132fc0549c052fc0507c132fc0549c0504cfb04cc3","0x132c80549c052d80509c132d80549c05300b901c2904cb9015270141309413","0xe204d0f015270150f0142a04d1001527015100141004c130152701413014f1","0x504c0704cb20c50f44013054052c80549c052c80523c130c40549c050c405","0x704c134f00504d0404cb7015270151c0141004c1349c05388050881304d27","0x549c05054050401304d27014e20142204c1349c0544c053ac1304d2701413","0x13d0141f04d3d01527014131e0130000549c0504c2304c1349c0504c6f04cb7","0x13e4fc070a4134fc0549c0504c2504d3e015270153d00007080134f40549c05","0x52dc050401304c0549c0504c053c4134b00549c055000509c135000549c05","0x1270152c0148f04c310152701431014e204c2201527014220142a04cb701527","0x1308c1304d2701410014f904c1349c0504c0704d2c0c4222dc13054054b005","0x55094101c2004d4201527015420141f04d4201527014133ec135040549c05","0x127015440142704d4401527015434b4070a4134b40549c0504c2504d4301527","0x549c0508c050a8130180549c05018050401304c0549c0504c053c41351405","0x135143108c0604c150154501527015450148f04c310152701431014e204c23","0x1349c0504c0704c2301807518220540749c0701c0501c0504c1349c0504c13","0x5054130540549c05054050401304d27014133dc130900549c05040050c413","0xf504c290152701420014f804c1349c0504c0704c25015470801f01d2701c24","0x5198133880549c0507c05194130a80549c0509c051901309c0549c050a405","0x131c00549c0504c6704c1349c0504c0704c135200504d0404c8f015270142a","0x6b04c8f01527014f30146604ce201527014250146504cf3015270147001468","0x11d4680749c074001501c6d04c1349c0504c0704d13015494000549c0723c05","0x3501d2701ce20141504d1a015270151a0141004c1349c0504c0704d1c0154a","0x549c05460053d4134600549c0546c053e01304d270141301c134640552d1b","0x116015270143c0146604c4501527014350146504c3c015270152a0146404d2a","0x1270142e0146804c2e015270141319c1304d270141301c1304d4c0141341013","0x549c07458051ac134580549c0510405198131140549c05464051941310405","0x704d0c0154e43d1001d2701d14468071b41304d270141301c134480553514","0x1342c0553d094ac0749c0711405054134400549c05440050401304d2701413","0x1349c05424050181304d270152b0142204c1349c0504c6f04c1349c0504c07","0x504c2404c4c015270141308c1304d270151d014f404c1349c0543c053d013","0x12701413094131340549c051244c01c2004c4901527014490141f04c4901527","0x12701413014f104d0601527015070142704d07015270144d158070a41315805","0x549c050c405388130880549c05088050a8134400549c05440050401304c05","0x50881304d270141301c13418310891004c150150601527015060148f04c31","0x104089100c50004d040152701504014f304d0401527014131c01304d270150b","0x504c7a04c1349c0504c6f04c1349c0504c0704c58154075410240c0749c07","0x133e40549c0504c7c04cfb0152701413394133f00549c0504cea04cff01527","0x549c053e005398133e00549c053dcf93ecfc3fc151f8133dc0549c0504ce7","0x6601527014650148104c1349c0519005380131946401d27014f5014e104cf5","0x127014680149304c1349c0519c05250131bc6d1ac6819c1549c051980537c13","0x133d00549c0543d1d01c8704c1349c051b4052301304d270146b0148504c13","0xe204c130152701413014f104d0201527015020142a04d03015270150301410","0x127014f41bc3104d0240c22234133d00549c053d005224130c40549c050c405","0x2304c1349c0504c0704c78015513ac0549c071d805208131d80d3bc723c415","0x5450131f0e501d27014ea0144104cea01527014eb0148304c7a0152701413","0x5430133987e01d27014e70150f04ce71f00749c051f0054401304d27014e5","0xe01e807080133800549c0538405424133840549c051f8054ac1304d27014e6","0x5250054ac1304d27014df0150c04c9437c0749c051f00543c132040549c05","0x52300542c132300549c052148101c2004c8501527014930150904c9301527","0x1270148d0144d04c8d01527014890144904c1349c0521c05130132248701d27","0x549c053c405040133bc0549c053bc053c41320c0549c05208051581320805","0x8301527014830148f04c0d015270140d014e204c7201527014720142a04cf1","0xef014f104c8601527014780142704c1349c0504c0704c83034723c4ef05405","0x503405388131c80549c051c8050a8133c40549c053c405040133bc0549c05","0x1304d270141301c132180d1c8f13bc150148601527014860148f04c0d01527","0x549c0504c2304c1349c05474053d01304d270150f014f404c1349c0504c6f","0xdc01527014de25407080133780549c053780507c133780549c0504cfb04c95","0x133680549c0536c0509c1336c0549c053709801c2904c98015270141309413","0xe204c5801527014580142a04c5501527014550141004c130152701413014f1","0x504c0704cda0c45815413054053680549c053680523c130c40549c050c405","0x1326c0549c05430050401304d270151d014f404c1349c05114050881304d27","0x1349c05114050881304d2701512014eb04c1349c0504c0704c135480504d04","0x504c2304c1349c0504c6f04c9b015270151a0141004c1349c05474053d013","0x127014d7364070801335c0549c0535c0507c1335c0549c0504c8604cd901527","0x549c053440509c133440549c05358d301c2904cd301527014130941335805","0x2201527014220142a04c9b015270149b0141004c130152701413014f104ccd","0x704ccd0c42226c13054053340549c053340523c130c40549c050c40538813","0x1354c0504d0404cca015270151c0141004c1349c05388050881304d2701413","0x5054050401304d27014e20142204c1349c0544c053ac1304d270141301c13","0x1f04ca501527014131e0133200549c0504c2304c1349c0504c6f04cca01527","0x70a4132fc0549c0504c2504cc301527014a532007080132940549c0529405","0x50401304c0549c0504c053c4132e40549c053000509c133000549c0530cbf","0xb90148f04c310152701431014e204c2201527014220142a04cca01527014ca","0x1304d2701410014f904c1349c0504c0704cb90c42232813054052e40549c05","0xb601c2004cb201527014b20141f04cb201527014133ec132d80549c0504c23","0x13d0142704d3d01527014b7000070a4130000549c0504c2504cb701527014b2","0x508c050a8130180549c05018050401304c0549c0504c053c4134f80549c05","0x3108c0604c150153e015270153e0148f04c310152701431014e204c2301527","0x504c0704c2301807550220540749c0701c0501c0504c1349c0504c1304d3e","0x130540549c05054050401304d27014133dc130900549c05040050c41304d27","0x290152701420014f804c1349c0504c0704c25015550801f01d2701c2401415","0x133880549c0507c05194130a80549c0509c051901309c0549c050a4053d413","0x549c0504c6704c1349c0504c0704c135580504d0404c8f015270142a01466","0x8f01527014f30146604ce201527014250146504cf301527014700146804c70","0x749c074001501c6d04c1349c0504c0704d13015574000549c0723c051ac13","0x12701ce20141504d1a015270151a0141004c1349c0504c0704d1c015584751a","0x50d405194134600549c0546c052541304d270141301c13464055651b0d407","0x6704c1349c0504c0704c135680504d0404c3c0152701518014de04d2a01527","0x116014de04d2a01527015190146504d160152701445014dc04c450152701413","0x2e014f804c1349c0504c0704c410155b0b80549c070f005260130f00549c05","0x112468074a8134480549c054480507c134480549c05450053d4134500549c05","0x134400549c05440050401304d270141301c134252b430315710f4400749c07","0x4d015270144c0149504c1349c0504c0704c490155d1310b01d2701d2a01415","0x1301c1304d5e014134101341c0549c0513405378131580549c0542c0519413","0x549c0512405194134100549c0541805370134180549c0504c6704c1349c05","0x1270141301c134080557d030152701d070149804d070152701504014de04c56","0x5801527014580141f04c580152701455014f504c550152701503014f804c13","0x10f01c2e04c1349c0504c0704cf73e4fb0c5603f0ff01d2701c58440074a813","0x560146504c6401527014ff0141004cf501527014f8014db04cf801527014fc","0x1304d270141301c1304d6101413410131980549c053d405368131940549c05","0x53ec050401304d270150f0150c04c1349c053dc054301304d27014f90150c","0x54301304d2701502014eb04c1349c0504c0704c135880504d0404c6701527","0x127014680149b04c68015270141319c1319c0549c05440050401304d270150f","0x549c051ac05368131940549c0515805194131900549c0519c05154131ac05","0x5424054301304d270152b0150c04c1349c0504c0704c135840504d0404c66","0x53ac1304d270141301c1304d6301413410131b40549c05430050401304d27","0x1270146f0149b04c6f015270141319c131b40549c05468050401304d2701441","0x549c053d005368131940549c054a805194131900549c051b405154133d005","0x749c07194050541304d270141301c131c805590f10152701c66014d904c66","0x1304d27014ef0142204c1349c0504c6f04c1349c0504c0704c7601565034ef","0x1270141308c1304d270151d014f404c1349c053c4054501304d270140d01406","0x549c051e0eb01c2004c7801527014780141f04c780152701413090133ac05","0x7c01527014e50142704ce5015270147a3a8070a4133a80549c0504c2504c7a","0x130880549c05088050a8131900549c05190050401304c0549c0504c053c413","0x1301c131f0310886404c150147c015270147c0148f04c310152701431014e2","0xe701527014e7014f304ce701527014131c01304d27014760142204c1349c05","0x7e0141004c1349c0504c0704ce038407598e61f80749c0739c221903140013","0x1270141301c132308524c3159c9437c810c52701c313980735c131f80549c05","0xd104c870152701494014d304c940152701494014d604c1349c0504c6f04c13","0x1304d270148d014ca04c1349c052240533413218832088d2241549c0521c05","0x127014133a8132540549c0504c7a04c1349c05218053201304d2701483014f4","0x7e04cdb015270141339c132600549c0504c7c04cdc01527014133941337805","0x549c05204050a8131f80549c051f805040133680549c0536c98370de25415","0x820152701482014a504cdf01527014df014e204c130152701413014f104c81","0x82368df04c811f82330c133c40549c053c405448134740549c054740529413","0x504c0704ccd015683440549c0734c052fc1334cd635cd926c1549c053c51d","0x1f04cc801527014132e4133280549c0504c2304c1349c05344053001304d27","0x132fcc301d27014a50150b04ca501527014c832807080133200549c0532005","0x5158132e40549c0530005134133000549c052fc051241304d27014c30144c","0xd90142a04c9b015270149b0141004cd701527014d7014f104cb601527014b9","0xd926cd7054052d80549c052d80523c133580549c0535805388133640549c05","0x1304d27014b2014b204cb72c80749c05334052d81304d270141301c132d8d6","0xe204d3e01527014d90142a04d3d015270149b0141004c0001527014d7014f1","0x1270141301c1304d6901413410135000549c052dc05418134fc0549c0535805","0x13014f104c1349c05474053d01304d27014f10151404c1349c0504c6f04c13","0x521405388134f80549c0524c050a8134f40549c051f805040130000549c05","0x127015404b0070a4134b00549c0504c2504d40015270148c0150604d3f01527","0x549c054f405040130000549c05000053c4135080549c055040509c1350405","0x14201527015420148f04d3f015270153f014e204d3e015270153e0142a04d3d","0x127014f10151404c1349c0504c6f04c1349c0504c0704d424fd3e4f40005405","0x507c134b40549c0504cfb04d43015270141308c1304d270151d014f404c13","0x14501c2904d450152701413094135100549c054b54301c2004d2d015270152d","0xe10141004c130152701413014f104d6b015270156a0142704d6a0152701544","0x55ac0523c130c40549c050c405388133800549c05380050a8133840549c05","0x53ac1304d27014131bc1304d270141301c135ac31380e104c150156b01527","0x16c015270141308c1304d270151d014f404c1349c05194050881304d2701472","0x135b80549c055b56c01c2004d6d015270156d0141f04d6d015270141321813","0xf104d70015270156f0142704d6f015270156e4a4070a4134a40549c0504c25","0x5388130880549c05088050a8131900549c05190050401304c0549c0504c05","0x1270141301c135c0310886404c150157001527015700148f04c310152701431","0x1301c1304d7201413410135c40549c05470050401304d27014e20142204c13","0x17101527014150141004c1349c05388050881304d2701513014eb04c1349c05","0x55d00507c135d00549c0504c7804d73015270141308c1304d27014131bc13","0x55d57601c2904d760152701413094135d40549c055d17301c2004d7401527","0x127015710141004c130152701413014f104d7801527015770142704d7701527","0x549c055e00523c130c40549c050c405388130880549c05088050a8135c405","0x504c2304c1349c05040053e41304d270141301c135e0310897104c1501578","0x1270157a5e407080135e80549c055e80507c135e80549c0504cfb04d7901527","0x549c055f00509c135f00549c055ed2801c2904d280152701413094135ec05","0x2301527014230142a04c0601527014060141004c130152701413014f104d7d","0x1304d7d0c42301813054055f40549c055f40523c130c40549c050c40538813","0x1304d270141301c1308c0601d7e0881501d2701c07014070141304d2701413","0x240141504c1501527014150141004c1349c0504cf704c24015270141001431","0x53d4130a40549c05080053e01304d270141301c13094055fc2007c0749c07","0x2a0146604ce2015270141f0146504c2a01527014270146404c270152701429","0x6804c70015270141319c1304d270141301c1304d80014134101323c0549c05","0x51ac1323c0549c053cc05198133880549c0509405194133cc0549c051c005","0x1824751a01d2701d00054071b41304d270141301c1344c05605000152701c8f","0x11b0d40749c0738805054134680549c05468050401304d270141301c1347005","0x12a0152701518014f504d18015270151b014f804c1349c0504c0704d1901583","0x134580549c050f005198131140549c050d405194130f00549c054a80519013","0x549c050b8051a0130b80549c0504c6704c1349c0504c0704c136100504d04","0x1140152701d160146b04d1601527014410146604c4501527015190146504c41","0x1301c13430056190f4400749c074511a01c6d04c1349c0504c0704d1201585","0x704d0b015874252b01d2701c450141504d1001527015100141004c1349c05","0x513005378131240549c054ac05194131300549c05424052541304d2701413","0x5370131580549c0504c6704c1349c0504c0704c136200504d0404c4d01527","0x4d0149804c4d0152701507014de04c49015270150b0146504d070152701456","0x103014f504d030152701506014f804c1349c0504c0704d04015894180549c07","0xff0c58a1605501d2701d02440074a8134080549c054080507c134080549c05","0xf73e40749c0712405054131540549c05154050401304d270141301c133ecfc","0x6401527014f90146504cf501527014f70149504c1349c0504c0704cf80158b","0x1270141319c1304d270141301c1304d8c01413410131940549c053d40537813","0x549c0519c05378131900549c053e0051941319c0549c05198053701319805","0x549c051a0053e01304d270141301c131ac05634680152701c650149804c65","0x749c071bc5501d2a04c6f015270146f0141f04c6f015270146d014f504c6d","0x536c131d80549c053c45801c2e04c1349c0504c0704c0d3bc720c58e3c4f4","0xeb014da04c7a01527014640146504c7801527014f40141004ceb0152701476","0x10c04c1349c053bc054301304d270141301c1304d8f01413410133a80549c05","0x19001413410133940549c051c8050401304d27014580150c04c1349c0503405","0x550141004c1349c05160054301304d270146b014eb04c1349c0504c0704c13","0x127014e50145504ce7015270147c0149b04c7c015270141319c133940549c05","0x1304d8f01413410133a80549c0539c05368131e80549c0519005194131e005","0x127014ff0141004c1349c053ec054301304d27014fc0150c04c1349c0504c07","0x1100141004c1349c05410053ac1304d270141301c1304d9101413410131f805","0x1270147e0145504ce101527014e60149b04ce6015270141319c131f80549c05","0x549c073a805364133a80549c0538405368131e80549c0512405194131e005","0x1301c1324c0564c9437c0749c071e8050541304d270141301c1320405648e0","0x11404c1349c05250050181304d27014df0142204c1349c0504c6f04c1349c05","0x549c0504c2304c1349c05474053d01304d270150f014f404c1349c0538005","0x87015270148c21407080132300549c052300507c132300549c0504c2404c85","0x132080549c052340509c132340549c0521c8901c2904c89015270141309413","0xe204c2201527014220142a04c7801527014780141004c130152701413014f1","0x504c0704c820c4221e013054052080549c052080523c130c40549c050c405","0x1320c0549c0520c053cc1320c0549c0504c7004c1349c0524c050881304d27","0x5218050401304d270141301c13370de01d942548601d2701c83088780c500","0x1349c0504c0704cd73649b0c595368db2603149c070c49501cd704c8601527","0xd134c1549c0535805344133580549c053680534c133680549c053680535813","0x1304d27014ca014f404c1349c05344053281304d27014d3014cd04cc8328cd","0x127014133941330c0549c0504cea04ca501527014131e81304d27014c8014c8","0x52e4c02fcc3294151f8132e40549c0504ce704cc001527014131f0132fc05","0x12701413014f104c9801527014980142a04c8601527014860141004cb601527","0x127014b2014a504cb24740749c05474052dc1336c0549c0536c053881304c05","0x127014b70151204cb73800749c0538005440133340549c0533405294132c805","0x140014bf04d404fd3e4f40005527014b7334b22d8db04c9821823000132dc05","0x1270152c0153d04c1349c0504c6f04c1349c0504c0704d41015964b00549c07","0x549c054f4050a8130000549c05000050401304d2701543014eb04d4350807","0x11d015270151d014a504d3f015270153f014e204d3e015270153e014f104d3d","0x11d5093f4f93d0002330c133800549c05380054481343c0549c0543c0529413","0x504c0704d6d015975b00549c075ac052fc135ad6a515444b41549c053810f","0x1f04d2901527014132e4135b80549c0504c2304c1349c055b0053001304d27","0x135c57001d270156f0150b04d6f01527015295b807080134a40549c054a405","0x5158135d00549c055cc05134135cc0549c055c4051241304d27015700144c","0x1440142a04d2d015270152d0141004d450152701545014f104d750152701574","0x1444b545054055d40549c055d40523c135a80549c055a805388135100549c05","0x1304d2701576014b204d775d80749c055b4052d81304d270141301c135d56a","0xe204d7a01527015440142a04d79015270152d0141004d780152701545014f1","0x1270141301c1304d9801413410134a00549c055dc05418135ec0549c055a805","0x11d014f404c1349c0543c053d01304d27014e00151404c1349c0504c6f04c13","0x1270153e014f104c1349c055f0052c8135f57c01d2701541014b604c1349c05","0x549c054fc05388135e80549c054f4050a8135e40549c0500005040135e005","0x504c6f04c1349c0504c0704c136600504d0404d28015270157d0150604d7b","0xf104c1349c05474053d01304d270150f014f404c1349c05380054501304d27","0x5388135e80549c0526c050a8135e40549c0521805040135e00549c0504c05","0x128664070a4136640549c0504c2504d2801527014d70150604d7b01527014d9","0x55e405040135e00549c055e0053c41366c0549c056680509c136680549c05","0x1270159b0148f04d7b015270157b014e204d7a015270157a0142a04d7901527","0xe00151404c1349c0504c6f04c1349c0504c0704d9b5ed7a5e5780540566c05","0x136700549c0504c2304c1349c05474053d01304d270150f014f404c1349c05","0x2504d9e015270159d67007080136740549c056740507c136740549c0504cfb","0x53c4136840549c056800509c136800549c056799f01c2904d9f0152701413","0x31014e204cdc01527014dc0142a04cde01527014de0141004c130152701413","0x1349c0504c0704da10c4dc37813054056840549c056840523c130c40549c05","0x543c053d01304d270147a0142204c1349c05204053ac1304d27014131bc13","0x1f04da301527014134f8136880549c0504c2304c1349c05474053d01304d27","0x70a4136940549c0504c2504da401527015a3688070801368c0549c0568c05","0x50401304c0549c0504c053c41369c0549c056980509c136980549c05691a5","0x1a70148f04c310152701431014e204c2201527014220142a04c780152701478","0x1304d27014450142204c1349c0504c0704da70c4221e0130540569c0549c05","0x1270141301c1304da901413410136a00549c05430050401304d270151d014f4","0x50401304d270151d014f404c1349c05114050881304d2701512014eb04c13","0x1ab0152701413218136a80549c0504c2304c1349c0504c6f04da8015270151a","0x136b40549c0504c2504dac01527015ab6a807080136ac0549c056ac0507c13","0x1304c0549c0504c053c4136bc0549c056b80509c136b80549c056b1ad01c29","0x8f04c310152701431014e204c2201527014220142a04da801527015a801410","0x127014e20142204c1349c0504c0704daf0c4226a013054056bc0549c056bc05","0x113014eb04c1349c0504c0704c136c40504d0404db0015270151c0141004c13","0x1304d27014131bc136c00549c05054050401304d27014e20142204c1349c05","0x1b201c2004db301527015b30141f04db301527014131e0136c80549c0504c23","0x1b50142704db5015270152f6d0070a4136d00549c0504c2504d2f01527015b3","0x5088050a8136c00549c056c0050401304c0549c0504c053c4136d80549c05","0x31089b004c15015b601527015b60148f04c310152701431014e204c2201527","0x504cfb04db7015270141308c1304d2701410014f904c1349c0504c0704db6","0x12701413094136e00549c054c1b701c2004d3001527015300141f04d3001527","0x12701413014f104dbb01527015ba0142704dba01527015b86e4070a4136e405","0x549c050c4053881308c0549c0508c050a8130180549c05018050401304c05","0x70141304d270141304c136ec3108c0604c15015bb01527015bb0148f04c31","0x2401527014100143104c1349c0504c0704c23018076f0220540749c0701c05","0x56f42007c0749c0709005054130540549c05054050401304d27014133dc13","0x6404c270152701429014f504c290152701420014f804c1349c0504c0704c25","0x134101323c0549c050a805198133880549c0507c05194130a80549c0509c05","0x133cc0549c051c0051a0131c00549c0504c6704c1349c0504c0704c136f805","0x56fd000152701c8f0146b04c8f01527014f30146604ce2015270142501465","0x1270141301c13470057011d4680749c074001501c6d04c1349c0504c0704d13","0x504c0704d19015c146c3501d2701ce20141504d1a015270151a0141004c13","0x549c0546005378134a80549c050d405194134600549c0546c052541304d27","0x511405370131140549c0504c6704c1349c0504c0704c137080504d0404c3c","0x12701c3c0149804c3c0152701516014de04d2a01527015190146504d1601527","0x12701514014f504d14015270142e014f804c1349c0504c0704c41015c30b805","0x1094ad0c0c5c443d1001d2701d12468074a8134480549c054480507c1344805","0x57144c42c0749c074a805054134400549c05440050401304d270141301c13","0xde04c56015270150b0146504c4d015270144c0149504c1349c0504c0704c49","0x106015270141319c1304d270141301c1304dc6014134101341c0549c0513405","0x1341c0549c0541005378131580549c0512405194134100549c054180537013","0x131540549c0540c053e01304d270141301c134080571d030152701d0701498","0xfc3fc0749c071611001d2a04c5801527014580141f04c580152701455014f5","0x53e00536c133e00549c053f10f01c2e04c1349c0504c0704cf73e4fb0c5c8","0x127014f5014da04c6501527014560146504c6401527014ff0141004cf501527","0xf70150c04c1349c053e4054301304d270141301c1304dc9014134101319805","0x1304dca014134101319c0549c053ec050401304d270150f0150c04c1349c05","0x127015100141004c1349c0543c054301304d2701502014eb04c1349c0504c07","0x6401527014670145504c6b01527014680149b04c68015270141319c1319c05","0x1301c1304dc901413410131980549c051ac05368131940549c051580519413","0x6d015270150c0141004c1349c05424054301304d270152b0150c04c1349c05","0x1270151a0141004c1349c05104053ac1304d270141301c1304dcb0141341013","0x64015270146d0145504cf4015270146f0149b04c6f015270141319c131b405","0x1cc3c40549c0719805364131980549c053d005368131940549c054a80519413","0x1270141301c131d8057340d3bc0749c07194050541304d270141301c131c805","0xf10151404c1349c05034050181304d27014ef0142204c1349c0504c6f04c13","0x131e00549c0504c2404ceb015270141308c1304d270151d014f404c1349c05","0x2904cea0152701413094131e80549c051e0eb01c2004c7801527014780141f","0x1004c130152701413014f104c7c01527014e50142704ce5015270147a3a807","0x523c130c40549c050c405388130880549c05088050a8131900549c0519005","0x1349c051d8050881304d270141301c131f0310886404c150147c015270147c","0x7e01d2701ce7088640c50004ce701527014e7014f304ce701527014131c013","0x70c4e601cd704c7e015270147e0141004c1349c0504c0704ce038407738e6","0x53581304d27014131bc1304d270141301c132308524c3173c9437c810c527","0x8620c82234890552701487014d104c870152701494014d304c940152701494","0x86014c804c1349c0520c053d01304d270148d014ca04c1349c052240533413","0x133700549c0504ce504cde01527014133a8132540549c0504c7a04c1349c05","0xda01527014db260dc378950547e04cdb015270141339c132600549c0504c7c","0x1304c0549c0504c053c4132040549c05204050a8131f80549c051f80504013","0x11204d1d015270151d014a504c820152701482014a504cdf01527014df014e2","0xd3358d73649b05527014f147482368df04c811f8234fc133c40549c053c405","0x1304d27014d1014c004c1349c0504c0704ccd015d03440549c0734c052fc13","0xca01c2004cc801527014c80141f04cc801527014132e4133280549c0504c23","0xbf0144904c1349c0530c05130132fcc301d27014a50150b04ca501527014c8","0x535c053c4132d80549c052e405158132e40549c0530005134133000549c05","0x127014d6014e204cd901527014d90142a04c9b015270149b0141004cd701527","0xb604c1349c0504c0704cb6358d926cd7054052d80549c052d80523c1335805","0x5040130000549c0535c053c41304d27014b2014b204cb72c80749c0533405","0xb70150604d3f01527014d6014e204d3e01527014d90142a04d3d015270149b","0x54501304d27014131bc1304d270141301c1304dd101413410135000549c05","0x1270147e0141004c000152701413014f104c1349c05474053d01304d27014f1","0x549c0523005418134fc0549c0521405388134f80549c0524c050a8134f405","0x14201527015410142704d4101527015404b0070a4134b00549c0504c2504d40","0x134f80549c054f8050a8134f40549c054f405040130000549c05000053c413","0x1301c135093f4f93d000150154201527015420148f04d3f015270153f014e2","0x2304c1349c05474053d01304d27014f10151404c1349c0504c6f04c1349c05","0x12d50c07080134b40549c054b40507c134b40549c0504cfb04d430152701413","0x55a80509c135a80549c055114501c2904d450152701413094135100549c05","0x127014e00142a04ce101527014e10141004c130152701413014f104d6b01527","0x16b0c4e038413054055ac0549c055ac0523c130c40549c050c4053881338005","0x127014650142204c1349c051c8053ac1304d27014131bc1304d270141301c13","0x507c135b40549c0504c8604d6c015270141308c1304d270151d014f404c13","0x12901c2904d290152701413094135b80549c055b56c01c2004d6d015270156d","0x640141004c130152701413014f104d70015270156f0142704d6f015270156e","0x55c00523c130c40549c050c405388130880549c05088050a8131900549c05","0x1004c1349c05388050881304d270141301c135c0310886404c150157001527","0x1349c0544c053ac1304d270141301c1304dd201413410135c40549c0547005","0x504c2304c1349c0504c6f04d7101527014150141004c1349c053880508813","0x127015745cc07080135d00549c055d00507c135d00549c0504c7804d7301527","0x549c055dc0509c135dc0549c055d57601c2904d760152701413094135d405","0x2201527014220142a04d7101527015710141004c130152701413014f104d78","0x704d780c4225c413054055e00549c055e00523c130c40549c050c40538813","0x17a01527014133ec135e40549c0504c2304c1349c05040053e41304d2701413","0x134a00549c0504c2504d7b015270157a5e407080135e80549c055e80507c13","0x1304c0549c0504c053c4135f40549c055f00509c135f00549c055ed2801c29","0x8f04c310152701431014e204c2301527014230142a04c06015270140601410","0x127014134b0130880549c0504d4004d7d0c42301813054055f40549c055f405","0x1301c0504c1349c0504c1304c1349c0504d4204c1f01527014135041308c05","0x130a80549c05040050c41304d270141301c1309c2901dd30942001d2701c07","0x1349c0504c0704c70015d423ce201d2701c2a0141504c20015270142001410","0x220152d04c1349c0507c0550c1304d270148f0140604c1349c053880508813","0x134000549c0504c2404cf3015270141308c1304d27014230154404c1349c05","0x2904d1a01527014130941344c0549c05400f301c2004d0001527015000141f","0x14504c2001527014200141004d1c015270151d0142704d1d015270151346807","0x523c130c40549c050c405388130940549c05094050a8130140549c0501405","0x1349c051c0050881304d270141301c134703109405080150151c015270151c","0x11b01d2701c35094200c50004c350152701435014f304c3501527014131c013","0x549c050f005474130f00549c0504d6a04c1349c0504c0704d2a4600775519","0x134640549c05464050a81346c0549c0546c05040134580549c0504d1c04c45","0x11904d1601527015160151b04c310152701431014e204c05015270140501545","0xf704d14018151042e0552701445458310151946c225ac131140549c0511405","0x55b8130180549c050182301d6d04c150152701415088075b01304d2701413","0x55bc1343c0549c05448054a41304d270141301c1344005759120152701d14","0x1270141308c1304d27014131bc1304d270141301c134300575c240152701d0f","0x5424055cc1342d0901d27014240157104c24015270142407c075c0134ac05","0x4d014c804c56134490c5270144c0157504c4c42c0749c0542c055d01304d27","0x127015070157704d071240749c05124055d81304d27014560150204c1349c05","0x127015044ac07080134100549c054100507c134100549c05418055e01341805","0x549c05104050a8130b80549c050b805040134080549c05124055e41340c05","0x540d021042e0417b04d0301527015030150604d0201527015020157a04c41","0x55f01304d270141301c133ec05760fc0152701cff0152804cff160550c527","0x55d4133e10b01d270150b0157404c1349c053dc053ac133dcf901d27014fc","0x64014f504c1349c05194054081304d27014f50157d04c65190f50c527014f8","0x17d04c6d1ac680c5270150b0157504c6701527014663e407080131980549c05","0x51bc055e0131bc0549c051b4056641304d270146b014c804c1349c051a005","0x720144c04cef1c80749c053c40542c133c40549c053d06701c2004cf401527","0x127014760145604c76015270140d0144d04c0d01527014ef0144904c1349c05","0x549c05160050a8130540549c0505405514131540549c0515405040133ac05","0x133ac061601515415014eb01527014eb0148f04c060152701406014e204c58","0x515405040131e00549c053ec0509c1304d270150b0159a04c1349c0504c07","0x12701406014e204c5801527014580142a04c1501527014150154504c5501527","0x14304c1349c0504c0704c780185805455054051e00549c051e00523c1301805","0x1349c0504c0704c137640504d0404c7a015270150c0150604c1349c0507c05","0x10604c1349c053a8052c813394ea01d2701510014b604c1349c0507c0550c13","0x51e87c01c2904c7c01527014130941304d27014131bc131e80549c0539405","0x127014150154504c2e015270142e0141004c7e01527014e70142704ce701527","0x549c051f80523c130180549c0501805388131040549c05104050a81305405","0x220152d04c1349c0507c0550c1304d270141301c131f806104150b8150147e","0x133840549c0504cfb04ce6015270141308c1304d27014230154404c1349c05","0x2904c810152701413094133800549c05384e601c2004ce101527014e10141f","0x14504d1801527015180141004c9401527014df0142704cdf01527014e020407","0x523c130c40549c050c405388134a80549c054a8050a8130140549c0501405","0x1349c05040053e41304d270141301c13250314a80546015014940152701494","0x504c2304c1349c05088054b41304d270141f0154304c1349c0508c0551013","0x1270148524c07080132140549c052140507c132140549c0504cfb04c9301527","0x549c052240509c132240549c052308701c2904c8701527014130941323005","0x2701527014270142a04c0501527014050154504c2901527014290141004c8d","0x14004c8d0c42701429054052340549c052340523c130c40549c050c40538813","0x1349c0504d4204c1f01527014135041308c0549c0504d2c04c220152701413","0x1270141301c1309c2901dda0942001d2701c0704c070141304d270141304c13","0xe201d2701c2a0141504c2001527014200141004c2a01527014100143104c13","0x1304d270148f0140604c1349c05388050881304d270141301c131c00576c8f","0x1270141308c1304d27014230154404c1349c05088054b41304d270141f01543","0x549c05400f301c2004d0001527015000141f04d000152701413090133cc05","0x11c015270151d0142704d1d0152701513468070a4134680549c0504c2504d13","0x130940549c05094050a8130140549c0501405514130800549c050800504013","0x1301c134703109405080150151c015270151c0148f04c310152701431014e2","0x350152701435014f304c3501527014131c01304d27014700142204c1349c05","0x504d9b04c1349c0504c0704d2a460077711946c0749c070d4250803140013","0x549c0546c05040134580549c0504d1c04c45015270143c0151d04c3c01527","0x310152701431014e204c0501527014050154504d1901527015190142a04d1b","0x45458310151946c225ac131140549c0511405464134580549c054580546c13","0x16d04c150152701415088075b01304d27014133dc1345006054410b81549c05","0x1304d270141301c1344005775120152701d140156e04c06015270140608c07","0x1304d270141301c1343005778240152701d0f0156f04d0f015270151201529","0x240157104c24015270142407c075c0134ac0549c0504c2304c1349c0504c6f","0x4c0157504c4c42c0749c0542c055d01304d27015090157304d0b4240749c05","0x5124055d81304d27014560150204c1349c0513405320131584d1243149c05","0x54100507c134100549c05418055e0134180549c0541c055dc1341c4901d27","0x50b805040134080549c05124055e41340c0549c054112b01c2004d0401527","0x127015030150604d0201527015020157a04c4101527014410142a04c2e01527","0x577cfc0152701cff0152804cff160550c52701503408410b8105ec1340c05","0x17404c1349c053dc053ac133dcf901d27014fc0157c04c1349c0504c0704cfb","0x1304d27014f50157d04c65190f50c527014f80157504cf842c0749c0542c05","0x17504c6701527014663e407080131980549c05190053d41304d270146501502","0x56641304d270146b014c804c1349c051a0055f4131b46b1a03149c0542c05","0x542c133c40549c053d06701c2004cf4015270146f0157804c6f015270146d","0xd0144d04c0d01527014ef0144904c1349c051c805130133bc7201d27014f1","0x505405514131540549c0515405040133ac0549c051d805158131d80549c05","0x127014eb0148f04c060152701406014e204c5801527014580142a04c1501527","0x509c1304d270150b0159a04c1349c0504c0704ceb0185805455054053ac05","0x580142a04c1501527014150154504c5501527014550141004c7801527014fb","0x5805455054051e00549c051e00523c130180549c0501805388131600549c05","0x10404c7a015270150c0150604c1349c0507c0550c1304d270141301c131e006","0xea01d2701510014b604c1349c0507c0550c1304d270141301c1304de001413","0x130941304d27014131bc131e80549c05394054181304d27014ea014b204ce5","0x2e0141004c7e01527014e70142704ce7015270147a1f0070a4131f00549c05","0x501805388131040549c05104050a8130540549c0505405514130b80549c05","0x1304d270141301c131f806104150b8150147e015270147e0148f04c0601527","0x1270141308c1304d27014230154404c1349c05088054b41304d270141f01543","0x549c05384e601c2004ce101527014e10141f04ce101527014133ec1339805","0x9401527014df0142704cdf01527014e0204070a4132040549c0504c2504ce0","0x134a80549c054a8050a8130140549c0501405514134600549c054600504013","0x1301c13250314a805460150149401527014940148f04c310152701431014e2","0x1304d270141f0154304c1349c0508c055101304d2701410014f904c1349c05","0x52140507c132140549c0504cfb04c93015270141308c1304d27014220152d","0x52308701c2904c870152701413094132300549c052149301c2004c8501527","0x127014050154504c2901527014290141004c8d01527014890142704c8901527","0x549c052340523c130c40549c050c4053881309c0549c0509c050a81301405","0x1e10541001d2701c0504c070141304d270141304c132343109c050a4150148d","0x1001527014100141004c2301527014310143104c1349c0504c0704c0608807","0x1349c05090050881304d270141301c13080057881f0900749c0708c0505413","0x290141f04c290152701413090130940549c0504c2304c1349c0507c0501813","0x270a8070a4130a80549c0504c2504c27015270142909407080130a40549c05","0x5054050a8130400549c05040050401323c0549c053880509c133880549c05","0x8f01c15040100148f015270148f0148f04c070152701407014e204c1501527","0x51c0053cc131c00549c0504c7004c1349c05080050881304d270141301c13","0x1304d270141301c134691301de3400f301d2701c70054100c50004c7001527","0x350141f04c35015270151c0159d04d1c0152701413670134740549c0504c23","0x5130134611901d270151b0150b04d1b015270143547407080130d40549c05","0x50f005158130f00549c054a805134134a80549c05460051241304d2701519","0x12701407014e204d0001527015000142a04cf301527014f30141004c4501527","0x1308c1304d270141301c1311407400f3040051140549c051140523c1301c05","0x50b91601c2004c2e015270142e0141f04c2e01527014133ec134580549c05","0x127015120142704d120152701441450070a4134500549c0504c2504c4101527","0x549c0501c05388134680549c05468050a81344c0549c0544c050401344005","0x31014f904c1349c0504c0704d1001d1a44c100151001527015100148f04c07","0x10c015270150c0141f04d0c01527014133ec1343c0549c0504c2304c1349c05","0x10b015270152b424070a4134240549c0504c2504d2b015270150c43c0708013","0x130180549c05018050a8130880549c0508805040131300549c0542c0509c13","0x504c1304c4c01c06088100144c015270144c0148f04c070152701407014e2","0x50c41304d270141301c130182201de40541001d2701c0504c070141304d27","0x20015e507c2401d2701c230141504c1001527014100141004c230152701431","0x1270141308c1304d270141f0140604c1349c05090050881304d270141301c13","0x549c050a42501c2004c2901527014290141f04c2901527014130901309405","0x8f01527014e20142704ce201527014270a8070a4130a80549c0504c2504c27","0x1301c0549c0501c05388130540549c05054050a8130400549c050400504013","0x127014200142204c1349c0504c0704c8f01c15040100148f015270148f0148f","0x749c071c01504031400131c00549c051c0053cc131c00549c0504c7004c13","0x1270151d0151a04d1d015270141344c1304d270141301c134691301de6400f3","0x749c0546c050d41346c0549c0504d1c04c35015270151c0151d04d1c47407","0x549c053cc05040130d40549c050d405464134640549c054640546c134651b","0x1349c0504c0704c2e458450c5e70f12a4603149c070d51901d000411804cf3","0x134a80549c054a805388134600549c05460050a8130f00549c050f00507c13","0x127014130f01304d270141301c1343d10448317a1141040749c070f0f301d2a","0x1270151b0151b04d2b015270150c47407458134740549c05474051141343005","0x12b46d2a46010460131040549c0510405040134ac0549c054ac054641346c05","0x4c015270144c0141f04c1349c0504c0704c56134490c5e91310b4243149c07","0x10701d2701c4c104074a81342c0549c0542c05388134240549c05424050a813","0x54191401c2e04c55015270141308c1304d270141301c1340903410317a906","0x127014fc0151204c1349c053fc05450133f0ff01d27014580144104c5801527","0x53dc05430133dcf901d27014fb0150f04cfb3f00749c053f005440133f005","0x127014f515407080133d40549c053e005424133e00549c053e4054ac1304d27","0x549c05198054ac1304d27014650150c04c661940749c053f00543c1319005","0x749c051ac0542c131ac0549c051a06401c2004c6801527014670150904c67","0xf101527014f40144d04cf4015270146f0144904c1349c051b405130131bc6d","0x134240549c05424050a81341c0549c0541c05040131c80549c053c40515813","0x504c0704c7242d0941c100147201527014720148f04d0b015270150b014e2","0x2304c1349c05450054301304d27015020150c04c1349c0540c054301304d27","0xd3bc07080130340549c050340507c130340549c0504d0704cef0152701413","0x542c05388131e00549c05424050a8133ac0549c0541005040131d80549c05","0x10c04c1349c0504c0704c137ac0504d0404cea01527014760150604c7a01527","0x4d014e204c7c01527014490142a04ce501527014410141004c1349c0545005","0x1304d270141301c1304dec01413410131f80549c05158054181339c0549c05","0x546c054081304d270151d0150304c1349c0543c054301304d27015100150c","0x133840549c053840507c133840549c0504d0704ce6015270141308c1304d27","0x131e00549c05460050a8133ac0549c0544805040133800549c05384e601c20","0x5804c8101527014eb0145504cea01527014e00150604c7a015270152a014e2","0x134101324c0549c053a8053f0132500549c051e8053fc1337c0549c051e005","0x1004c1349c054740540c1304d270151b0150204c1349c0504c0704c137b405","0x54181339c0549c0545805388131f00549c05114050a8133940549c053cc05","0xe7014ff04cdf015270147c0145804c8101527014e50145504c7e015270142e","0x524c8501c2904c8501527014130941324c0549c051f8053f0132500549c05","0x127014df0142a04c8101527014810141004c87015270148c0142704c8c01527","0x1321c9437c810400521c0549c0521c0523c132500549c05250053881337c05","0x1270148d0141f04c8d01527014133ec132240549c0504c2304c1349c0504c07","0x1270148220c070a41320c0549c0504c2504c82015270148d224070801323405","0x549c05468050a81344c0549c0544c05040132540549c052180509c1321805","0x704c9501d1a44c100149501527014950148f04c070152701407014e204d1a","0xdc01527014133ec133780549c0504c2304c1349c050c4053e41304d2701413","0x1336c0549c0504c2504c9801527014dc37807080133700549c053700507c13","0x130880549c05088050401326c0549c053680509c133680549c05260db01c29","0x100149b015270149b0148f04c070152701407014e204c0601527014060142a","0x1308c0601dee0881501d2701c07014070141304d270141304c1326c0701822","0x127014150141004c1349c0504cf704c2401527014100143104c1349c0504c07","0x5080053e01304d270141301c13094057bc2007c0749c07090050541305405","0x1270141f0146504c2a01527014270146404c270152701429014f504c2901527","0x1319c1304d270141301c1304df0014134101323c0549c050a8051981338805","0x53cc05198133880549c0509405194133cc0549c051c0051a0131c00549c05","0x100054071b41304d270141301c1344c057c5000152701c8f0146b04c8f01527","0x5054134680549c05468050401304d270141301c13470057c91d4680749c07","0x350142204c1349c0504c6f04c1349c0504c0704d19015f346c3501d2701ce2","0x134600549c0504c2304c1349c05474053d01304d270151b0140604c1349c05","0x2504c3c015270152a46007080134a80549c054a80507c134a80549c0504c24","0x53c4130b80549c054580509c134580549c050f04501c2904c450152701413","0x31014e204c2201527014220142a04d1a015270151a0141004c130152701413","0x1349c0504c0704c2e0c42246813054050b80549c050b80523c130c40549c05","0x5104053cc131040549c0504c7004c1349c05464050881304d27014131bc13","0x1304d270141301c1343d1001df44491401d2701c410891a0c50004c4101527","0x31034134ac0549c054ac0507c134ac0549c0504cef04d0c015270151d01472","0x4c01d270150b450071d81342c0549c0542c0507c1342d0901d270150c4ac13","0x1070152701413470131580549c0513405474131344901d27014490151a04c49","0xf104d0601527015060151b04d0641c0749c0541c050d41304d27014133dc13","0x1040c52701c564183144810460131300549c0513005040134240549c0542405","0x1040142a04d0201527015020141f04c1349c0504c0704cff160550c5f540903","0xf90c5f63ecfc01d2701d02130074a81340c0549c0540c05388134100549c05","0x131900549c053d44901d1604cf501527014130f01304d270141301c133e0f7","0x11804cfc01527014fc0141004c6401527014640151904d0701527015070151b","0x507c1304d270141301c131b46b1a0317dc67198650c52701c6441d0341010","0xfc01d2a04c660152701466014e204c6501527014650142a04c670152701467","0x2304c1349c0504c6f04c1349c0504c0704cef1c8f10c5f83d06f01d2701c67","0x11404c783ac0749c051d805104131d80549c053d0fb01c2e04c0d0152701413","0x543c131e87801d27014780151004c7801527014780151204c1349c053ac05","0x7c0150904c7c01527014ea0152b04c1349c053940543013394ea01d270147a","0x543013384e601d27014780150f04c7e01527014e7034070801339c0549c05","0x811f807080132040549c0538005424133800549c05384054ac1304d27014e6","0x524c051241304d27014940144c04c932500749c0537c0542c1337c0549c05","0x12701509014f104c87015270148c0145604c8c01527014850144d04c8501527","0x549c0519805388131940549c05194050a8131bc0549c051bc050401342405","0x54301304d270141301c1321c661946f424150148701527014870148f04c66","0x89015270141308c1304d27014fb0150c04c1349c053bc054301304d2701472","0x132080549c052348901c2004c8d015270148d0141f04c8d015270141341c13","0x10604c950152701466014e204c8601527014650142a04c8301527014f101410","0x1349c053ec054301304d270141301c1304df901413410133780549c0520805","0x1336c0549c051ac05388132600549c051a0050a8133700549c053f00504013","0x127014f70150c04c1349c0504c0704c137e80504d0404cda015270146d01506","0x1308c1304d27015070150204c1349c051240540c1304d27014f80150c04c13","0x53649b01c2004cd901527014d90141f04cd9015270141341c1326c0549c05","0x12701503014e204c8601527015040142a04c8301527014f90141004cd701527","0x549c0521805160133580549c0520c05154133780549c0535c054181325405","0x704c137ec0504d0404ccd01527014de014fc04cd10152701495014ff04cd3","0x549c05130050401304d27014490150304c1349c0541c054081304d2701413","0xda01527014ff0150604cdb0152701458014e204c9801527014550142a04cdc","0x133440549c0536c053fc1334c0549c0526005160133580549c053700515413","0xcd328070a4133280549c0504c2504c1349c0504c6f04ccd01527014da014fc","0x535805040134240549c05424053c4132940549c053200509c133200549c05","0x127014a50148f04cd101527014d1014e204cd301527014d30142a04cd601527","0x1308c1304d270151d014f404c1349c0504c0704ca5344d3359090540529405","0x52fcc301c2004cbf01527014bf0141f04cbf01527014133ec1330c0549c05","0x127014b60142704cb601527014c02e4070a4132e40549c0504c2504cc001527","0x549c0543c050a8134400549c05440050401304c0549c0504c053c4132c805","0x132c83143d1004c15014b201527014b20148f04c310152701431014e204d0f","0x1fc01413410132dc0549c05470050401304d27014e20142204c1349c0504c07","0x150141004c1349c05388050881304d2701513014eb04c1349c0504c0704c13","0x134f40549c0504c7804c00015270141308c1304d27014131bc132dc0549c05","0x2904d3f0152701413094134f80549c054f40001c2004d3d015270153d0141f","0x1004c130152701413014f104d2c01527015400142704d40015270153e4fc07","0x523c130c40549c050c405388130880549c05088050a8132dc0549c052dc05","0x1349c05040053e41304d270141301c134b031088b704c150152c015270152c","0x7080135080549c055080507c135080549c0504cfb04d41015270141308c13","0x509c135100549c0550d2d01c2904d2d01527014130941350c0549c0550941","0x230142a04c0601527014060141004c130152701413014f104d450152701544","0x2301813054055140549c055140523c130c40549c050c4053881308c0549c05","0x1301c1308c0601dfd0881501d2701c07014070141304d270141304c1351431","0x1501527014150141004c1349c0504cf704c2401527014100143104c1349c05","0x549c05080053e01304d270141301c13094057f82007c0749c070900505413","0xe2015270141f0146504c2a01527014270146404c270152701429014f504c29","0x1270141319c1304d270141301c1304dff014134101323c0549c050a80519813","0x549c053cc05198133880549c0509405194133cc0549c051c0051a0131c005","0x12701d00054071b41304d270141301c1344c05801000152701c8f0146b04c8f","0x738805054134680549c05468050401304d270141301c13470058051d46807","0x118014f504d18015270151b014f804c1349c0504c0704d190160246c3501d27","0x50f005198131140549c050d405194130f00549c054a805190134a80549c05","0x51a0130b80549c0504c6704c1349c0504c0704c1380c0504d0404d1601527","0x1160146b04d1601527014410146604c4501527015190146504c41015270142e","0x58150f4400749c074511a01c6d04c1349c0504c0704d12016044500549c07","0x2064252b01d2701c450141504d1001527015100141004c1349c0504c0704d0c","0x131240549c054ac05194131300549c05424052541304d270141301c1342c05","0x549c0504c6704c1349c0504c0704c1381c0504d0404c4d015270144c014de","0x4d0152701507014de04c49015270150b0146504d070152701456014dc04c56","0x1030152701506014f804c1349c0504c0704d04016084180549c071340526013","0x5501d2701d02440074a8134080549c054080507c134080549c0540c053d413","0x712405054131540549c05154050401304d270141301c133ecfc3fc3182458","0xf90146504cf501527014f70149504c1349c0504c0704cf80160a3dcf901d27","0x1304d270141301c1304e0b01413410131940549c053d405378131900549c05","0x5378131900549c053e0051941319c0549c0519805370131980549c0504c67","0x53e01304d270141301c131ac05830680152701c650149804c650152701467","0x5501d2a04c6f015270146f0141f04c6f015270146d014f504c6d0152701468","0x549c053c45801c2e04c1349c0504c0704c0d3bc720c60d3c4f401d2701c6f","0x7a01527014640146504c7801527014f40141004ceb0152701476014db04c76","0x53bc054301304d270141301c1304e0e01413410133a80549c053ac0536813","0x133940549c051c8050401304d27014580150c04c1349c05034054301304d27","0x1349c05160054301304d270146b014eb04c1349c0504c0704c1383c0504d04","0x5504ce7015270147c0149b04c7c015270141319c133940549c051540504013","0x13410133a80549c0539c05368131e80549c0519005194131e00549c0539405","0x1004c1349c053ec054301304d27014fc0150c04c1349c0504c0704c1383805","0x1349c05410053ac1304d270141301c1304e1001413410131f80549c053fc05","0x5504ce101527014e60149b04ce6015270141319c131f80549c054400504013","0x5364133a80549c0538405368131e80549c0512405194131e00549c051f805","0x58489437c0749c071e8050541304d270141301c1320405844e00152701cea","0x5250050181304d27014df0142204c1349c0504c6f04c1349c0504c0704c93","0x2304c1349c05474053d01304d270150f014f404c1349c05380054501304d27","0x8c21407080132300549c052300507c132300549c0504c2404c850152701413","0x52340509c132340549c0521c8901c2904c8901527014130941321c0549c05","0x127014220142a04c7801527014780141004c130152701413014f104c8201527","0x820c4221e013054052080549c052080523c130c40549c050c4053881308805","0x520c053cc1320c0549c0504c7004c1349c0524c050881304d270141301c13","0x1304d270141301c13370de01e132548601d2701c83088780c50004c8301527","0x704cd73649b0c614368db2603149c070c49501cd704c86015270148601410","0x535805344133580549c053680534c133680549c05368053581304d2701413","0xca014f404c1349c05344053281304d27014d3014cd04cc8328cd344d305527","0x1330c0549c0504cea04ca501527014131e81304d27014c8014c804c1349c05","0xc3294151f8132e40549c0504ce704cc001527014131f0132fc0549c0504ce5","0xf104c9801527014980142a04c8601527014860141004cb601527014b9300bf","0xa504cb24740749c05474052dc1336c0549c0536c053881304c0549c0504c05","0x11204cb73800749c0538005440133340549c0533405294132c80549c052c805","0x1404fd3e4f40005527014b7334b22d8db04c9821823000132dc0549c052dc05","0x13d04c1349c0504c6f04c1349c0504c0704d41016154b00549c07500052fc13","0x50a8130000549c05000050401304d2701543014eb04d435080749c054b005","0x11d014a504d3f015270153f014e204d3e015270153e014f104d3d015270153d","0x13d0002330c133800549c05380054481343c0549c0543c05294134740549c05","0x16d016165b00549c075ac052fc135ad6a515444b41549c053810f475424fd3e","0x127014132e4135b80549c0504c2304c1349c055b0053001304d270141301c13","0x1270156f0150b04d6f01527015295b807080134a40549c054a40507c134a405","0x549c055cc05134135cc0549c055c4051241304d27015700144c04d715c007","0x12d015270152d0141004d450152701545014f104d7501527015740145604d74","0x55d40549c055d40523c135a80549c055a805388135100549c05510050a813","0x176014b204d775d80749c055b4052d81304d270141301c135d56a5112d51415","0x127015440142a04d79015270152d0141004d780152701545014f104c1349c05","0x1304e1701413410134a00549c055dc05418135ec0549c055a805388135e805","0x1349c0543c053d01304d27014e00151404c1349c0504c6f04c1349c0504c07","0xf104c1349c055f0052c8135f57c01d2701541014b604c1349c05474053d013","0x5388135e80549c054f4050a8135e40549c0500005040135e00549c054f805","0x1349c0504c0704c1385c0504d0404d28015270157d0150604d7b015270153f","0x5474053d01304d270150f014f404c1349c05380054501304d27014131bc13","0x549c0526c050a8135e40549c0521805040135e00549c0504c053c41304d27","0x136640549c0504c2504d2801527014d70150604d7b01527014d9014e204d7a","0x135e00549c055e0053c41366c0549c056680509c136680549c054a19901c29","0x8f04d7b015270157b014e204d7a015270157a0142a04d79015270157901410","0x1349c0504c6f04c1349c0504c0704d9b5ed7a5e5780540566c0549c0566c05","0x504c2304c1349c05474053d01304d270150f014f404c1349c053800545013","0x1270159d67007080136740549c056740507c136740549c0504cfb04d9c01527","0x549c056800509c136800549c056799f01c2904d9f01527014130941367805","0xdc01527014dc0142a04cde01527014de0141004c130152701413014f104da1","0x704da10c4dc37813054056840549c056840523c130c40549c050c40538813","0x1304d270147a0142204c1349c05204053ac1304d27014131bc1304d2701413","0x127014134f8136880549c0504c2304c1349c05474053d01304d270150f014f4","0x549c0504c2504da401527015a3688070801368c0549c0568c0507c1368c05","0x549c0504c053c41369c0549c056980509c136980549c05691a501c2904da5","0x310152701431014e204c2201527014220142a04c7801527014780141004c13","0x450142204c1349c0504c0704da70c4221e0130540569c0549c0569c0523c13","0x1304e1801413410136a00549c05430050401304d270151d014f404c1349c05","0x1270151d014f404c1349c05114050881304d2701512014eb04c1349c0504c07","0x13218136a80549c0504c2304c1349c0504c6f04da8015270151a0141004c13","0x504c2504dac01527015ab6a807080136ac0549c056ac0507c136ac0549c05","0x504c053c4136bc0549c056b80509c136b80549c056b1ad01c2904dad01527","0x12701431014e204c2201527014220142a04da801527015a80141004c1301527","0x2204c1349c0504c0704daf0c4226a013054056bc0549c056bc0523c130c405","0x1349c0504c0704c138640504d0404db0015270151c0141004c1349c0538805","0x131bc136c00549c05054050401304d27014e20142204c1349c0544c053ac13","0x1b301527015b30141f04db301527014131e0136c80549c0504c2304c1349c05","0x1b5015270152f6d0070a4136d00549c0504c2504d2f01527015b36c80708013","0x136c00549c056c0050401304c0549c0504c053c4136d80549c056d40509c13","0x15015b601527015b60148f04c310152701431014e204c2201527014220142a","0x1b7015270141308c1304d2701410014f904c1349c0504c0704db60c4226c013","0x136e00549c054c1b701c2004d3001527015300141f04d3001527014133ec13","0xf104dbb01527015ba0142704dba01527015b86e4070a4136e40549c0504c25","0x53881308c0549c0508c050a8130180549c05018050401304c0549c0504c05","0x1270141304c136ec3108c0604c15015bb01527015bb0148f04c310152701431","0x150143104c1349c0504c0704c2408c07868060880749c070c40501c0504c13","0x749c0707c05054130880549c05088050401304d27014133dc1307c0549c05","0x127014200146504c2701527014250149504c1349c0504c0704c290161b09420","0x1319c1304d270141301c1304e1c01413410133880549c0509c05378130a805","0x51c005378130a80549c050a405194131c00549c0523c053701323c0549c05","0x53cc053e01304d270141301c1340005874f30152701ce20149804ce201527","0x74682201d2a04d1a015270151a0141f04d1a0152701513014f504d1301527","0x1504d1d015270151d0141004c1349c0504c0704d1946c350c61e4711d01d27","0x131140549c054a8052541304d270141301c130f00587d2a4600749c070a805","0x504c0704c138800504d0404c2e0152701445014de04d16015270151801465","0x116015270143c0146504d140152701441014dc04c41015270141319c1304d27","0x1349c0504c0704d10016214480549c070b805260130b80549c054500537813","0x134300549c054300507c134300549c0543c053d41343c0549c05448053e013","0x109470070b81304d270141301c131244c42c31889094ac0749c074311d01d2a","0x5458051941341c0549c054ac05040131580549c051340536c131340549c05","0x10c04c1349c0504c0704c1388c0504d0404d040152701456014da04d0601527","0x1270150b0141004c1349c05470054301304d27014490150c04c1349c0513005","0x11c0150c04c1349c05440053ac1304d270141301c1304e24014134101340c05","0x549c054080526c134080549c0504c6704d03015270151d0141004c1349c05","0x1040152701455014da04d0601527015160146504d0701527015030145504c55","0x127015190150c04c1349c0546c054301304d270141301c1304e230141341013","0x100014eb04c1349c0504c0704c138940504d0404c5801527014350141004c13","0x549c053fc0526c133fc0549c0504c6704c5801527014220141004c1349c05","0x10401527014fc014da04d06015270142a0146504d0701527014580145504cfc","0xf701d2701d060141504c1349c0504c0704cf9016263ec0549c074100536413","0x549c05190053d4131900549c053e0053e01304d270141301c133d40589cf8","0x6801527014660146604c6701527014f70146504c6601527014650146404c65","0x1270146b0146804c6b015270141319c1304d270141301c1304e280141341013","0x549c071a0051ac131a00549c051b4051981319c0549c053d405194131b405","0x704cef0162a1c8f101d2701c6f41c071b41304d270141301c133d0058a46f","0x133ac058ac760340749c0719c05054133c40549c053c4050401304d2701413","0x1349c051d8050181304d270140d0142204c1349c0504c6f04c1349c0504c07","0x504c2404c78015270141308c1304d27014fb0151404c1349c051c8053d013","0x12701413094133a80549c051e87801c2004c7a015270147a0141f04c7a01527","0x12701413014f104ce7015270147c0142704c7c01527014ea394070a41339405","0x549c05018050a81301c0549c0501c05514133c40549c053c4050401304c05","0xe70400601cf104c22014e701527014e70148f04c100152701410014e204c06","0x51f8053cc131f80549c0504c7004c1349c053ac050881304d270141301c13","0x1304d270141301c13204e001e2c384e601d2701c7e018f10c50004c7e01527","0x549c0504ce504c9401527014133a81337c0549c0504c7a04c1349c0504c6f","0x1270148c21493250df0547e04c8c015270141339c132140549c0504c7c04c93","0x549c05384050a8133980549c0539805040132240549c0521c053981321c05","0x100152701410014e204c0701527014070154504c130152701413014f104ce1","0x890400704ce139823678131c80549c051c805294133ec0549c053ec0544813","0x1301c13260058b4dc0152701cde0159f04cde2548620c822342249c051c8fb","0xda01d27014db0150b04cdb015270141308c1304d27014dc015a004c1349c05","0x1335c0549c0536405134133640549c0526c051241304d27014da0144c04c9b","0x14504c8d015270148d0141004c830152701483014f104cd601527014d701456","0x523c132540549c0525405388132080549c05208050a8132180549c0521805","0x127014980142704c1349c0504c0704cd6254822188d20c22014d601527014d6","0x549c0521805514132340549c05234050401320c0549c0520c053c41334c05","0xd301527014d30148f04c950152701495014e204c8201527014820142a04c86","0x51c8053d01304d27014131bc1304d270141301c1334c95208862348308805","0x1f04ccd01527014133ec133440549c0504c2304c1349c053ec054501304d27","0x70a4133200549c0504c2504cca01527014cd34407080133340549c0533405","0x50401304c0549c0504c053c41330c0549c052940509c132940549c05328c8","0x10014e204c8101527014810142a04c0701527014070154504ce001527014e0","0x1270141301c1330c1020407380130880530c0549c0530c0523c130400549c05","0x10404cbf01527014ef0141004c1349c053ec054501304d27014670142204c13","0x1304d27014670142204c1349c053d0053ac1304d270141301c1304e2e01413","0x1270141308c1304d27014131bc132fc0549c0541c050401304d27014fb01514","0x549c052e4c001c2004cb901527014b90141f04cb901527014132181330005","0x1527014b70142704cb701527014b62c8070a4132c80549c0504c2504cb6","0x1301c0549c0501c05514132fc0549c052fc050401304c0549c0504c053c413","0x220140001527014000148f04c100152701410014e204c0601527014060142a","0x1349c053e4053ac1304d27014131bc1304d270141301c1300010018072fc13","0x13e0141f04d3e01527014131e0134f40549c0504c2304c1349c054180508813","0x13f500070a4135000549c0504c2504d3f015270153e4f407080134f80549c05","0x541c050401304c0549c0504c053c4135040549c054b00509c134b00549c05","0x12701410014e204c0601527014060142a04c0701527014070154504d0701527","0x1304d270141301c13504100180741c13088055040549c055040523c1304005","0x550c0507c1350c0549c0504cfb04d42015270141308c1304d2701415014f9","0x54b54401c2904d440152701413094134b40549c0550d4201c2004d4301527","0x127014230141004c130152701413014f104d6a01527015450142704d4501527","0x549c0504005388130900549c05090050a81301c0549c0501c055141308c05","0x1304d2701410015a104d6a0402401c2304c220156a015270156a0148f04c10","0x1f04c24015270141368c1308c0549c05088051c8130182201d2701415015a2","0x2501527014060147204c2007c0749c0508c2401c31034130900549c0509005","0x127014270141f04c270a40749c050942007c31034130800549c050800507c13","0x8f0151d04c8f3880749c0538805468133882a01d270142704c071d81309c05","0x54000546c13400f301d27014f30143504cf30152701413470131c00549c05","0x1000c4050411804c2a015270142a0141004c290152701429014f104d0001527","0x549c054740507c1304d270141301c1346c35470318bd1d469130c52701c70","0x749c074742a01d2a04d1a015270151a014e204d1301527015130142a04d1d","0x11638807458134580549c0504c3c04c1349c0504c0704c450f12a0c63046119","0x546405040130b80549c050b805464133cc0549c053cc0546c130b80549c05","0x504c0704d0c43d100c631449141043149c070b8f3469130411804d1901527","0x549c0545005388131040549c05104050a8134480549c054480507c1304d27","0x70b81304d270141301c131244c42c318c9094ac0749c074491901d2a04d14","0x50401341c0549c0515805694131580549c0513405690131340549c0542518","0x114014e204c290152701429014f104c4101527014410142a04d2b015270152b","0x1349c0504c0704d07450291052b0540541c0549c0541c05698134500549c05","0x504c2304c1349c05460054301304d27014490150c04c1349c051300543013","0x1270150441807080134100549c054100507c134100549c0504d0704d0601527","0x549c0545005388131540549c05104050a8134080549c0542c050401340c05","0x1180150c04c1349c0504c0704c138cc0504d0404cff01527015030150604c58","0x1270150f014e204cfb01527015100142a04cfc01527015190141004c1349c05","0x54301304d270141301c1304e3401413410133dc0549c0543005418133e405","0x1349c053cc054081304d27014e20150304c1349c05114054301304d270143c","0x7080133d40549c053d40507c133d40549c0504d0704cf8015270141308c13","0x5388131540549c0544c050a8134080549c054a805040131900549c053d4f8","0xff194070a4131940549c0504c2504cff01527014640150604c58015270151a","0x5154050a8134080549c05408050401319c0549c051980569c131980549c05","0x12701467015a604c580152701458014e204c290152701429014f104c5501527","0x540c1304d27014f30150204c1349c0504c0704c6716029155020540519c05","0x50d405388133ec0549c05470050a8133f00549c050a8050401304d27014e2","0x127014f71a0070a4131a00549c0504c2504cf7015270151b0150604cf901527","0x549c053ec050a8133f00549c053f005040131b40549c051ac0569c131ac05","0x6d015270146d015a604cf901527014f9014e204c290152701429014f104cfb","0x130900549c0508c051c81308c1501d2701415014b704c6d3e4293ecfc05405","0x54501304d2701410015aa04c1349c0504c0704c1f0163504d2701c24015a8","0x20015270141308c1304d2701415014f404c1349c05088053d01304d2701406","0x130a40549c050942001c2004c2501527014250141f04c2501527014136ac13","0x1004ce2015270142a015ac04c2a015270142909c070a41309c0549c0504c25","0x53881301c0549c0501c053c4130140549c05014050a81304c0549c0504c05","0x1270141301c133883101c0504c15014e201527014e2015ad04c310152701431","0x70015270148f0147204c8f0880749c05088052dc1304d270141f015ae04c13","0x11404c1349c05040056a81304d270141301c133cc058d81349c071c0056a013","0x549c0504c2304c1349c05054053d01304d2701422014f404c1349c0501805","0x11a0152701513400070801344c0549c0544c0507c1344c0549c0504daf04d00","0x130d40549c05470056b0134700549c054691d01c2904d1d015270141309413","0xe204c070152701407014f104c0501527014050142a04c13015270141301410","0x504c0704c350c40701413054050d40549c050d4056b4130c40549c050c405","0x549c0546c051c81346c1501d2701415014b704c1349c053cc056b81304d27","0x749c054651801c31034134600549c054600507c134600549c0504cef04d19","0x545805468134584501d270143c04c071d8130f00549c050f00507c130f12a","0x127015140143504d140152701413470131040549c050b805474130b91601d27","0x127014450141004d2a015270152a014f104d1201527015120151b04d1245007","0x1270141301c1342d094ac318dd0c43d100c52701c4144831014104601311405","0x10f015270150f014e204d1001527015100142a04d0c015270150c0141f04c13","0x504c3c04c1349c0504c0704d071584d0c6381244c01d2701d0c114074a813","0x541005464134500549c054500546c134100549c054191601d1604d0601527","0x2391550240c3149c074111443d100411804c4c015270144c0141004d0401527","0x549c0540c050a8131540549c051540507c1304d270141301c133f0ff16031","0x133d4f83dc318e8f93ec0749c071544c01d2a04d020152701502014e204d03","0x1b004c661940749c051900543c131900601d27014060151004c1349c0504c07","0x549c0504c6704c1349c0504c0704c6d1ac078ec6819c0749c07198f93ec31","0x720152701468015b304cf101527014670141004cf4015270146f015b204c6f","0x1270141319c1304d270141301c1304e3c01413410133bc0549c053d0054bc13","0x549c051b4056cc133c40549c051ac05040131d80549c05034056d01303405","0x133a87a01e3d1e0eb01d2701c65124f10c5b004cef01527014760152f04c72","0x72015b304c7c0152701478015b304ce501527014eb0141004c1349c0504c07","0x1304d270141301c1304e3e01413410131f80549c053bc054bc1339c0549c05","0xe03840749c07398721e8316c0133980549c05398056cc133980549c0504db5","0x549c053a8056cc133940549c05384050401304d270141301c1337c8101e3f","0x704c138f80504d0404c7e01527014ef0152f04ce701527014e0015b304c7c","0x549c05250056d0132500549c0504c6704c1349c053bc056d81304d2701413","0xe701527014df015b304c7c01527014ea015b304ce501527014810141004c93","0x1349c0504c0704c8c016402140549c071f8056dc131f80549c0524c054bc13","0x132240549c0521c051c81321c1501d2701415014b704c1349c05214053ac13","0x832080749c052248d4a831034132340549c052340507c132340549c0504cef","0x549c051f005424132548601d2701483394071d81320c0549c0520c0507c13","0xdb0152701413470132600549c0537005474133709501d27014950151a04cde","0x820152701482014f104cda01527014da0151b04cda36c0749c0536c050d413","0xd635c31904d926c0749c07378983690240c154c0132180549c052180504013","0x7458133340549c0504c3c04cd101527014e70150904c1349c0504c0704cd3","0x54641336c0549c0536c0546c1326c0549c0526c050a8133280549c0533495","0x704cc02fcc30c642294c801d2701cd1328db3649b0553004cca01527014ca","0x504cef04cb601527014b90147204cb90880749c05088052dc1304d2701413","0x507c13000b701d27014b62c8820c40d04cb201527014b20141f04cb201527","0x134fd3e01d270153e0151a04d3e4f40749c050008601c7604c000152701400","0x2a04d414b00749c054b0050d4134b00549c0504d1c04d40015270153f0151d","0x5040132dc0549c052dc053c4135040549c055040546c133200549c0532005","0x704d6a515440c6434b5435083149c0750141294c80411804d3d015270153d","0x550c05388135080549c05508050a8134b40549c054b40507c1304d2701413","0x1304d270141301c134a56e5b4319116c5ac0749c074b53d01d2a04d4301527","0x11904d2c015270152c0151b04d70015270156f4f807458135bc0549c0504c3c","0x1710c52701d704b14350810460135ac0549c055ac05040135c00549c055c005","0x1710142a04d7401527015740141f04c1349c0504c0704d775d9750c6455d173","0x17a0c6465e57801d2701d745ac074a8135cc0549c055cc05388135c40549c05","0x17d01d270157c0150f04d7c0180749c05018054401304d270141301c134a17b","0x1319c1304d270141301c136759c01e4766d9a01d2701d995e5780c5b804d99","0x566c056cc136800549c05668050401367c0549c05678056c8136780549c05","0x6704c1349c0504c0704c139200504d0404da2015270159f0152f04da101527","0x19d015b304da0015270159c0141004da401527015a3015b404da30152701413","0x7925a66940749c075f56c680316e0136880549c05690054bc136840549c05","0x136ac0549c05698056cc136a80549c05694050401304d270141301c136a1a7","0x504c0704c139280504d0404dad01527015a20152f04dac01527015a1015b3","0x12701dae685a70c5b804dae01527015ae015b304dae01527014136d41304d27","0x1a8015b304daa01527015af0141004c1349c0504c0704db36c80792db06bc07","0x24a01413410136b40549c05688054bc136b00549c056c0056cc136ac0549c05","0x12f015b404d2f015270141319c1304d27015a2015b604c1349c0504c0704c13","0x56cc056cc136ac0549c056a0056cc136a80549c056c805040136d00549c05","0x1301c136d805931b50152701dad015b704dad01527015b40152f04dac01527","0x127015b70147204db70880749c05088052dc1304d27015b5014eb04c1349c05","0x127015306e0b70c40d04db801527015b80141f04db801527014133bc134c005","0x1ab0150904e4d6ec0749c056e9aa01c7604dba01527015ba0141f04dba6e407","0x504d1c04e50015270164f0151d04e4f9340749c0593405468139380549c05","0x56e4053c4139480549c059480546c1394a5101d27016510143504e5101527","0x2559525301d2701e4e942525cd710553004dbb01527015bb0141004db901527","0x25a01527014130f0139640549c056b0054241304d270141301c139625795831","0x25101527016510151b04e5301527016530142a04e5b015270165a9340745813","0x26097c3197a5d9700749c079665b9465494c154c01396c0549c0596c0546413","0x150c5b904e62015270141308c134cc0549c0504c2304c1349c0504c0704e61","0x5934139940549c05990056ec139900549c0598c056e81398c0549c0501822","0x2670165004e6701527016670164f04c1349c05998059381399e6601d2701665","0x549c054cc05418139a00549c059a0059441304d270141301c139a00549c05","0x59a40542c139aa6901d27016624ce680c65204e6201527016620150604d33","0x59b405130139ba6d01d270166a0150b04c1349c059ac05130139b26b01d27","0x549c05970050a8139c00549c059b805124139bc0549c059b0051241304d27","0x1304d270141301c139da759d0319ce729c40749c079c26f9765c0425304e5c","0x1004e7901527016780165604e78015270167704007950139dc0549c0504c67","0x5388136e40549c056e4053c4139c40549c059c4050a8136ec0549c056ec05","0x1270141301c139e6726e6716ec15016790152701679015ad04e720152701672","0x139ec0549c059da7a01c2904e7a01527014130941304d2701410015aa04c13","0xf104e7401527016740142a04dbb01527015bb0141004e7c015270167b015ac","0x1bb054059f00549c059f0056b4139d40549c059d405388136e40549c056e405","0x1304d27014060151404c1349c05040056a81304d270141301c139f2756e674","0x260014e204e7d015270165f0142a04c1349c05054053d01304d2701422014f4","0x1304d270141301c1304e8001413410139fc0549c0598405418139f80549c05","0x5054053d01304d2701422014f404c1349c05018054501304d2701410015aa","0x2a04c1349c05944054081304d27015ac0150c04c1349c059340540c1304d27","0x13094139fc0549c0596005418139f80549c0595c05388139f40549c0595805","0x1bb0141004e830152701682015ac04e82015270167fa04070a413a040549c05","0x59f805388136e40549c056e4053c4139f40549c059f4050a8136ec0549c05","0x1304d270141301c13a0e7e6e67d6ec15016830152701683015ad04e7e01527","0x5018054501304d2701410015aa04c1349c056ac054301304d27015b6014eb","0x2304c1349c056b0054301304d2701415014f404c1349c05088053d01304d27","0x285a100708013a140549c05a140507c13a140549c0504e5704e840152701413","0x5a20056b013a200549c05a1a8701c2904e87015270141309413a180549c05","0x127014b7014f104d7101527015710142a04daa01527015aa0141004e8901527","0x2895ccb75c5aa05405a240549c05a24056b4135cc0549c055cc05388132dc05","0x55b0054301304d27015280150c04c1349c055ec054301304d270141301c13","0xf404c1349c05088053d01304d27014060151404c1349c05040056a81304d27","0x1270168b0141f04e8b015270141341c13a280549c0504c2304c1349c0505405","0x127015710142a04e8d015270157a0141004e8c015270168ba280708013a2c05","0x1304e910141341013a400549c05a300541813a3c0549c055cc0538813a3805","0x127014060151404c1349c05040056a81304d270156c0150c04c1349c0504c07","0x2a04e92015270156b0141004c1349c05054053d01304d2701422014f404c13","0x1341013a540549c055dc0541813a500549c055d80538813a4c0549c055d405","0x1aa04c1349c054a4054301304d270156e0150c04c1349c0504c0704c13a5805","0x12701415014f404c1349c05088053d01304d27014060151404c1349c0504005","0x1341c13a5c0549c0504c2304c1349c054b0054081304d270153e0150304c13","0x16d0141004e990152701698a5c0708013a600549c05a600507c13a600549c05","0x5a640541813a3c0549c0550c0538813a380549c05508050a813a340549c05","0x1270168f014ff04e9b015270168e0145804e9a015270168d0145504e9001527","0x54081304d270141301c1304e9e0141341013a740549c05a40053f013a7005","0x1349c05088053d01304d27014060151404c1349c05040056a81304d270152c","0x50a813a480549c054f4050401304d270153e0150304c1349c05054053d013","0x2920145504e95015270156a0150604e940152701545014e204e930152701544","0x5a54053f013a700549c05a50053fc13a6c0549c05a4c0516013a680549c05","0x127016a0015ac04ea0015270169da7c070a413a7c0549c0504c2504e9d01527","0x549c052dc053c413a6c0549c05a6c050a813a680549c05a680504013a8405","0x13a869c2de9ba6815016a101527016a1015ad04e9c015270169c014e204cb7","0x12701422014f404c1349c05018054501304d2701410015aa04c1349c0504c07","0x13a8c0549c052fc0538813a880549c0530c050a81304d2701415014f404c13","0x12701410015aa04c1349c0504c0704c13a940504d0404ea401527014c001506","0x540c1304d2701415014f404c1349c05088053d01304d27014060151404c13","0x549c0535c050a81304d27014db0150204c1349c0539c054301304d2701495","0x13a980549c0504c2504ea401527014d30150604ea301527014d6014e204ea2","0x132180549c052180504013aa00549c05a9c056b013a9c0549c05a92a601c29","0x1ad04ea301527016a3014e204c820152701482014f104ea201527016a20142a","0x1270148c014eb04c1349c0504c0704ea8a8c82a888605405aa00549c05aa005","0x53d01304d27014060151404c1349c051f0054301304d2701410015aa04c13","0x2a9015270141308c1304d27014e70150c04c1349c05054053d01304d2701422","0x134e00549c05aaaa901c2004eaa01527016aa0141f04eaa015270141396013","0x1004ead01527016ac015ac04eac0152701538aac070a413aac0549c0504c25","0x5388134a80549c054a8053c41340c0549c0540c050a8133940549c0539405","0x1270141301c13ab5024a90339415016ad01527016ad015ad04d020152701502","0x54301304d2701410015aa04c1349c053d4054301304d27014f80150c04c13","0x1349c05054053d01304d2701422014f404c1349c05018054501304d2701449","0x708013abc0549c05abc0507c13abc0549c0504d0704eae015270141308c13","0x538813ac80549c0540c050a813ac40549c053dc0504013ac00549c05abeae","0x1349c0504c0704c13ad40504d0404eb401527016b00150604eb30152701502","0x22014f404c1349c05018054501304d27014490150c04c1349c05040056a813","0x549c05160050a813ad80549c05130050401304d2701415014f404c1349c05","0x704c13ae40504d0404eb801527014fc0150604d3701527014ff014e204eb7","0x1349c05040056a81304d27015070150c04c1349c05158054301304d2701413","0x1160150304c1349c05054053d01304d2701422014f404c1349c050180545013","0x13aec0549c0504d0704eba015270141308c1304d27015140150204c1349c05","0x13ac40549c051340504013af00549c05aeeba01c2004ebb01527016bb0141f","0x5504eb401527016bc0150604eb3015270150f014e204eb201527015100142a","0x53f0134d80549c05acc053fc13af80549c05ac80516013af40549c05ac405","0x1304d2701410015aa04c1349c0504c0704c13b000504d0404ebf01527016b4","0x5054053d01304d2701422014f404c1349c05018054501304d270151401502","0x2b7015270152b0142a04eb601527014450141004c1349c054580540c1304d27","0x13af40549c05ad80515413ae00549c0542c05418134dc0549c054240538813","0x2504ebf01527016b8014fc04d360152701537014ff04ebe01527016b701458","0x504013b0c0549c05b08056b013b080549c05afec101c2904ec10152701413","0x136014e204d2a015270152a014f104ebe01527016be0142a04ebd01527016bd","0x12701410014df04ec34d92aafabd05405b0c0549c05b0c056b4134d80549c05","0x130a81501d2701415014b704c270a40749c0509405964130942007c2408c15","0x1301527014130141004c8f01527014e20a80721c133882201d2701422014b7","0x130c40549c050c4053881301c0549c0501c053c4130140549c05014050a813","0x1346913400f31c01549c0523c270c407014130888d04c8f015270148f01489","0x130d40549c054740520c1304d270141301c1347005b111d0152701d1a01482","0x70b8134a80549c0504e5a04d180152701413968134651b01d270143501441","0x54401304d27014450151404d161140749c050f005104130f00549c054a918","0x54481304d27015140150c04d141040749c050b80543c130b91901d2701519","0x10c04d0f4400749c054480543c134491601d27015160151004d160152701516","0x10c01e5b04d2b01527015100152b04d0c01527014410152b04c1349c0543c05","0x127015190151404c1349c05458054501304d270141301c1304ec504d2701d2b","0x54301342d0901d27015190150f04c1349c0504c0704c13b180504d0404c13","0x542c054ac1304d270144c0150c04c491300749c054580543c1304d2701509","0x504c0704c13b1c1349c071584d01e5b04c5601527014490152b04c4d01527","0x1061c0316c01340d0401d27014060150f04d0641c0749c0546c0543c1304d27","0x1b204cfc015270141319c1304d270141301c133fc5801ec81550201d2701d03","0x54bc133dc0549c05154056cc133e40549c0540805040133ec0549c053f005","0x133d40549c0504c6704c1349c0504c0704c13b240504d0404cf801527014fb","0x12f04cf701527014ff015b304cf901527014580141004c6401527014f5015b4","0x504c0704c6819c07b28661940749c07411073e4316c0133e00549c0519005","0x549c053dc056cc131b40549c05198056cc131ac0549c05194050401304d27","0x504db504c1349c0504c0704c13b2c0504d0404cf401527014f80152f04c6f","0xd01ecc3bc7201d2701cf13dc670c5b004cf101527014f1015b304cf101527","0x1b304c6d0152701468015b304c6b01527014720141004c1349c0504c0704c76","0x1270141301c1304ecb01413410133d00549c053e0054bc131bc0549c053bc05","0x1004c7801527014eb015b404ceb015270141319c1304d27014f8015b604c13","0x54bc131bc0549c051d8056cc131b40549c051a0056cc131ac0549c0503405","0x53ac1304d270141301c133a805b347a0152701cf4015b704cf40152701478","0x7c015270146f1b4070b8133940549c050a42007c2408c151f81304d270147a","0x134000549c05400053c4133cc0549c053cc050a8131ac0549c051ac0504013","0x11204c220152701422014a504c150152701415014a504d130152701513014e2","0xe0384e61f8e7055270147c0881539513400f31ac234fc131f00549c051f005","0x5088053d01304d27014ea014eb04c1349c0504c0704ce0384e61f8e705405","0x1a104c1349c051bc054301304d270146d0150c04c1349c05054053d01304d27","0x127014240149304c1349c0507c052141304d27014200148c04c1349c050a405","0x507c1337c0549c0504e5804c81015270141308c1304d27014230149404c13","0x9301c2904c930152701413094132500549c0537c8101c2004cdf01527014df","0xf30142a04c6b015270146b0141004c8c0152701485015ac04c850152701494","0x5230056b41344c0549c0544c05388134000549c05400053c4133cc0549c05","0xf404c1349c05088053d01304d270141301c1323113400f31ac150148c01527","0x1f090230547e04c1349c0546c054501304d27014060151404c1349c0505405","0x5958132340549c052248701e5404c89015270141319c1321c0549c050a420","0x100014f104cf301527014f30142a04c7001527014700141004c82015270148d","0x1003cc70054052080549c05208056b41344c0549c0544c05388134000549c05","0x53d01304d2701422014f404c1349c0508c052501304d270141301c1320913","0x1349c05080052301304d2701429015a104c1349c05018054501304d2701415","0x50401320c0549c05470056b01304d27014240149304c1349c0507c0521413","0x113014e204d000152701500014f104cf301527014f30142a04c700152701470","0x12701415014b704c8344d003cc700540520c0549c0520c056b41344c0549c05","0x504c0704c1f016ce04d2701c24015a804c2401527014230147204c2305407","0xf404c1349c05088053d01304d27014060151404c1349c05040056a81304d27","0x127014250141f04c250152701413970130800549c0504c2304c1349c0505405","0x1270142909c070a41309c0549c0504c2504c290152701425080070801309405","0x549c05014050a81304c0549c0504c05040133880549c050a8056b0130a805","0xe201527014e2015ad04c310152701431014e204c070152701407014f104c05","0x5088052dc1304d270141f015ae04c1349c0504c0704ce20c4070141305405","0x1301c133cc05b3c1349c071c0056a0131c00549c0523c051c81323c2201d27","0x1304d2701422014f404c1349c05018054501304d2701410015aa04c1349c05","0x544c0507c1344c0549c0504e5d04d00015270141308c1304d2701415014f4","0x54691d01c2904d1d0152701413094134680549c0544d0001c2004d1301527","0x127014050142a04c1301527014130141004c35015270151c015ac04d1c01527","0x549c050d4056b4130c40549c050c4053881301c0549c0501c053c41301405","0x15014b704c1349c053cc056b81304d270141301c130d43101c0504c1501435","0x54600507c134600549c0504da304d19015270151b0147204d1b0540749c05","0x7204c450880749c05088052dc130f12a01d2701519460070c40d04d1801527","0x410b80749c054583c4a831034130f00549c050f00507c134580549c0511405","0x749c0501805440134491401d270144104c071d8131040549c051040507c13","0x127015120151a04d2b015270150f0150904d0c43c0749c054400543c1344006","0x749c05130050d4131300549c0504d1c04d0b01527015090151d04d0944807","0x549c0545005040130b80549c050b8053c4131240549c051240546c131244c","0x1349c0504c0704d04419070c6d01584d01d2701d2b42c490c4050553004d14","0x131540549c054091201d1604d0201527014130f01340c0549c054300542413","0x13004c5501527014550151904c4c015270144c0151b04c4d015270144d0142a","0x1308c1304d270141301c133e4fb3f031b44ff1600749c0740c551305613415","0xf50166004cf50152701406088150c65f04cf8015270141308c133dc0549c05","0x660164e04c671980749c0519405934131940549c05190056ec131900549c05","0x1349c0504c0704c6801527014670165004c6701527014670164f04c1349c05","0x133e00549c053e005418133dc0549c053dc05418131a00549c051a00594413","0x1270146f0144c04cf41bc0749c051ac0542c131b46b01d27014f83dc680c652","0xef01527014f40144904c1349c053c405130131c8f101d270146d0150b04c13","0x12701c0d3bcff1601094c131600549c05160050a8130340549c051c80512413","0x1001e5404ce5015270141319c1304d270141301c133a87a1e031b48eb1d807","0x760142a04d1401527015140141004ce7015270147c0165604c7c01527014e5","0x539c056b4133ac0549c053ac05388130b80549c050b8053c4131d80549c05","0x2504c1349c05040056a81304d270141301c1339ceb0b87645015014e701527","0x5040133840549c05398056b0133980549c053a87e01c2904c7e0152701413","0x7a014e204c2e015270142e014f104c7801527014780142a04d140152701514","0x1349c0504c0704ce11e82e1e114054053840549c05384056b4131e80549c05","0x15014f404c1349c05088053d01304d27014060151404c1349c05040056a813","0x127014f90150604c8101527014fb014e204ce001527014fc0142a04c1349c05","0x60151404c1349c05040056a81304d270141301c1304ed3014134101337c05","0x1304d27015120150304c1349c05054053d01304d2701422014f404c1349c05","0x106014e204ce001527015070142a04c1349c05130054081304d270150c0150c","0x537c9401c2904c9401527014130941337c0549c0541005418132040549c05","0x127014e00142a04d1401527015140141004c850152701493015ac04c9301527","0x549c05214056b4132040549c0520405388130b80549c050b8053c41338005","0x504c6f04c1349c0504d4204c06015270141398413214810b8e04501501485","0x3101410460130901501d27014150153304c230400749c05040050d41304d27","0x127014250141f04c1349c0504c0704c2a09c290c6d40942007c3149c0709023","0x12701c2504c07988130800549c05080053881307c0549c0507c050a81309405","0x127014f30151b04cf3015270141398c1304d270141301c131c005b548f38807","0x1270141301c1340005b581349c073cc05990133880549c0538805040133cc05","0x54081304d27014060166604c1349c05054059941304d27014100150204c13","0x549c054680507c134680549c0504e6704d13015270141308c1304d270148f","0x549c054751c01c2904d1c0152701413094134740549c054691301c2004d1a","0x1f015270141f0142a04ce201527014e20141004d1b01527014350166804c35","0x546c0549c0546c059a4130800549c05080053881301c0549c0501c0551413","0x13089184643149c054008f388319a81304d270141301c1346c2001c1f38815","0x26d04c4501527014139b0130f00549c054a8059ac134a81501d270141501533","0x507c130b80549c050b80507c130b84501d27014450166e04d160152701413","0x12701512014c804d10449141041049c054582e0f0070426f04d160152701516","0x10f01d2701514464071d8134500549c054500507c1304d2701510014c804c13","0x2a04d0f015270150f0141004d0901527014139c4134ac0549c0504e7004d0c","0x546c130800549c0508005388131040549c05104055141307c0549c0507c05","0x51141342c0549c0542c0546c1342c1001d27014100143504d180152701518","0x450141f04c1501527014150151904d0901527015090167204d0c015270150c","0x10f0827604c220152701422018079d4134ac0549c054ac059d0131140549c05","0x549c0741c059dc1341c56134491301549c054ac45055094310b460201041f","0x10204cfc3fc581550240c2249c05418059e01304d270141301c1341005b5d06","0x704cf9016d83ec0549c073f0059e41304d2701455014c804c1349c0540805","0x1304d27014133dc133dc0549c0504d1c04c1349c053ec053ac1304d2701413","0x1304d270141301c1304ed904d2701cf73e0079e8133e02201d270142201435","0x12701cf50405612410460133d40549c053d405464133d40549c053fc5801d16","0xe204c6d01527014640142a04c1349c0504c0704c6b1a0670c6da1986519031","0x13410133c40549c051980507c133d00549c050880546c131bc0549c0519405","0x59ec1304d27014220150204c1349c0504c6f04c1349c0504c0704c13b6c05","0x53bc059f8133bc0549c051c8059f4131c80549c051ac059f01304d2701503","0x1270144d0154504c6701527014670142a04c4c015270144c0141004c0d01527","0xd1a04d19c4c054050340549c05034059a4131a00549c051a0053881313405","0x53fc059fc1304d27014100150204c1349c05088054081304d270141301c13","0x2a04ceb0152701413470131d80549c0504e6c04c1349c051600540c1304d27","0x507c133d00549c053ac0546c131bc0549c0515805388131b40549c0512405","0x780168204c7801527014f43c5030c68104c1349c0504c6f04cf10152701476","0x513005040133940549c053a8059f8133a80549c051e8059f4131e80549c05","0x1270146f014e204c4d015270144d0154504c6d015270146d0142a04c4c01527","0x10204c1349c0504c0704ce51bc4d1b44c054053940549c05394059a4131bc05","0x127014ff0167f04c1349c05040054081304d27015030167b04c1349c0508805","0x1339c0549c051f0059f4131f00549c053e4059f01304d27014580150304c13","0x14504c4901527014490142a04c4c015270144c0141004c7e01527014e70167e","0x4c054051f80549c051f8059a4131580549c0515805388131340549c0513405","0x1304d27014100150204c1349c05088054081304d270141301c131f85613449","0x14504c4901527014490142a04c4c015270144c0141004ce6015270150401668","0x4c054053980549c05398059a4131580549c0515805388131340549c0513405","0x1304d27014100150204c1349c05018059981304d270141301c133985613449","0x53800507c133800549c0504e8304ce1015270141308c1304d270141501665","0x537c059f41337c0549c05204059f0132040549c05380e101c2004ce001527","0x1270141f0142a04c7001527014700141004c9301527014940167e04c9401527","0x549c0524c059a4130800549c05080053881301c0549c0501c055141307c05","0x150166504c1349c05018059981304d270141301c1324c2001c1f1c01501493","0x549c05214059f4132140549c050a8059f01304d27014100150204c1349c05","0x2901527014290142a04c1301527014130141004c87015270148c0167e04c8c","0x521c0549c0521c059a41309c0549c0509c053881301c0549c0501c0551413","0x2201edc0541001d2701c0504c070141304d27014131bc1321c2701c2904c15","0x100141004c1349c0504cf704c2301527014070168404c1349c0504c0704c06","0x5a181304d270141301c1308005b741f0900749c0708c05a14130400549c05","0x504d0404c2701527014250168804c2901527014240168704c25015270141f","0x28704ce2015270142a0168904c2a015270141319c1304d270141301c1304ede","0x70016df23c0549c0709c05a281309c0549c0538805a20130a40549c0508005","0x53cc05a30133cc0549c0523c05a2c1304d27014131bc1304d270141301c13","0x544c3101c2004d1301527015130141f04d1301527015000168d04d0001527","0x127014150142a04c1001527014100141004d1d01527014290157904d1a01527","0x11a47415040105ec134680549c0546805418134740549c05474055e81305405","0xeb04c1349c0504c6f04c1349c0504c0704d1b0d51c0c40546c354703149c05","0x54643101e8e04d19015270141319c1304d27014290157d04c1349c051c005","0x127014150142a04c1001527014100141004d2a01527015180168f04d1801527","0x310144c04c1349c0504c0704d2a054100c4054a80549c054a805a401305405","0x131140549c0504cfb04c3c015270141308c1304d27014070169204c1349c05","0x2904c2e0152701413094134580549c051143c01c2004c4501527014450141f","0x2a04c2201527014220141004d1401527014410169304c4101527015160b807","0x549c0504e9404d14018220c4054500549c0545005a40130180549c0501805","0x127014139c01307c0549c0504e7004c1349c0504c6f04c1349c0504d4204c24","0x130a40549c0504e9504c2501527014200151d04c2001527014135a81308c05","0x1004ce201527014270a41f0c68104c2a01527014134701309c0549c0504e97","0x5388130c40549c050c405514130140549c05014050a81304c0549c0504c05","0xe20169804c2501527014250151904c2a015270142a0151b04c100152701410","0x127014e20942a040310141301a9a04c23015270142309007a64133880549c05","0x704d1d016e04680549c0744c05a6c1304d27014133dc1344d003cc7023c15","0x704d1b016e10d40549c07470059e4134700549c0546805a701304d2701413","0x549c0546405474134640549c0504d9b04c1349c050d4053ac1304d2701413","0x31a04131140549c0504d1c04c3c0152701413a7c134a80549c0504e9d04d18","0x14504c7001527014700142a04c8f015270148f0141004d16015270143c4a823","0x5464131140549c051140546c134000549c0540005388133cc0549c053cc05","0x1270151646045400f31c08f01a9a04d1601527015160169804d180152701518","0x704d0c016e243c0549c0744005a6c1304d27014133dc1344112450410b815","0x704d0b016e34240549c074ac059e4134ac0549c0543c05a701304d2701413","0x1270142e0141004c4c01527014150148104c1349c05424053ac1304d2701413","0x549c05448053881301c0549c0501c053c4131040549c05104050a8130b805","0x4c448071042e01aa004c2201527014220151204c060152701406014a504d12","0x504c0704d03016e44100549c07418052fc13419071584d1241549c0508806","0x1304d2701455014eb04c554080749c05410054f41304d27014131bc1304d27","0x2a204cfc01527014ff16007a84133fc0549c0504c6704c580152701502014e6","0x53c4131340549c05134050a8131240549c0512405040133ec0549c053f005","0xfb016a304d070152701507014e204d1401527015140154504c560152701456","0x1304d27014131bc1304d270141301c133ed074505613449088053ec0549c05","0xf104c4d015270144d0142a04c4901527014490141004cf90152701503016a4","0x5a8c1341c0549c0541c05388134500549c0545005514131580549c0515805","0x127014220151404c1349c0504c0704cf941d141584d12422014f901527014f9","0x10404cf7015270150b0150604c1349c05054053801304d2701406014f404c13","0x1304d2701406014f404c1349c05088054501304d270141301c1304ee501413","0x54181304d27014f8014b204cf53e00749c05430052d81304d2701415014e0","0x127014410142a04c64015270142e0141004c1349c0504c6f04cf701527014f5","0x549c053dc054181319c0549c0544805388131980549c05450055141319405","0x5088054501304d2701415014e004c1349c0504c0704c13b980504d0404c68","0x131ac0549c0546c054181304d27014230167b04c1349c05018053d01304d27","0x1349c05088054501304d2701415014e004c1349c0504c0704c13b9c0504d04","0xb204c6f1b40749c05474052d81304d27014230167b04c1349c05018053d013","0x1270148f0141004c1349c0504c6f04c6b015270146f0150604c1349c051b405","0x549c0540005388131980549c053cc05514131940549c051c0050a81319005","0xf101527014683d0070a4133d00549c0504c2504c68015270146b0150604c67","0x131940549c05194050a8131900549c0519005040131c80549c053c405a9013","0x2a304c670152701467014e204c6601527014660154504c070152701407014f1","0x10016e80c40549c0704c05a98131c8671980719464088051c80549c051c805","0x501c2004c1501527014150141f04c150152701413a9c1304d270141301c13","0x1307c2408c3149c0501805aa4130183101d2701431016a804c220152701415","0x200147204c200152701423016aa04c1349c0507c054501304d2701424014f4","0x5aa41309c3101d2701431016a804c29015270142508807080130940549c05","0xe2016aa04c1349c0523c054501304d270142a014f404c8f3882a0c52701427","0x31016a904d0001527014f30a407080133cc0549c051c0051c8131c00549c05","0x5474054401304d270151a014f404c1349c0544c053d0134751a44c3149c05","0x50d4054ac1304d270151b0150c04d1b0d40749c054700543c134711d01d27","0x54740543c134a80549c054600701c2004d1801527015190150904d1901527","0x127015160150904d1601527014450152b04c1349c050f005430131143c01d27","0x127014410150604d0001527015000150604c41015270142e4a807080130b805","0x127015140141f04d1401527014134e01304d270141301c131050001c0510405","0x544005ab0134401001d2701410016ab04d120152701514014070801345005","0x1270150f016aa04c1349c054ac054501304d270150c014f404d2b4310f0c527","0x12701410016ab04c4c015270150b448070801342c0549c05424051c81342405","0x541c054501304d270144d014f404d071584d0c52701449016ac04c4904007","0x1270150413007080134100549c05418051c8134180549c0515805aa81304d27","0x12701455014f404c1349c05408053d013160554083149c0504005ab01340c05","0x127014fb0150c04cfb3f00749c053fc0543c133fc5801d27014580151004c13","0x549c053dc0701c2004cf701527014f90150904cf901527014fc0152b04c13","0x6501527014640152b04c1349c053d40543013190f501d27014580150f04cf8","0x10301527015030150604c6701527014663e007080131980549c051940542413","0x12701c0504c070141304d27014131bc1319d0301c0519c0549c0519c0541813","0x5040050d4130a80549c0504d1c04c1349c0504c0704c270a407ba42508007","0x1301c1304eea04d2701c2a388079e8130800549c0508005040133881001d27","0x8f01d1604c700180749c0501805ab41323c2201d27014220151a04c1349c05","0x10460133cc0549c053cc05464134001501d27014150143504cf30152701470","0x11d0141f04c1349c0504c0704d1b0d51c0c6eb4751a44c3149c073cd000c425","0x11d08007ab8134680549c05468053881344c0549c0544c050a8134740549c05","0x2b004c3c015270151807c07abc1304d270141301c134a805bb1184640749c07","0x1190c6b104c3c015270143c0167404c4501527014450151b04c450152701413","0x134480549c0504c3c04c1349c0504c0704d1410407bb42e4580749c0711410","0x2ee43d1001d2701d12019160c6b204d1201527015120167204c1349c0504cf7","0x10b01527014070154504d0901527015100141004c1349c0504c0704d2b43007","0x131340549c0543c059c8131240549c0508805114131300549c050900507c13","0x1349c050880540c1304d270152b0167f04c1349c0504c0704c13bbc0504d04","0x134180549c0504cb904d0701527014560166b04c5608c0749c0508c054cc13","0x26e04d0401527015040141f04d0301527014139b4134100549c054182401eb3","0x1049c0540d0241c070426f04d0301527015030141f04d024100749c0541005","0x549c051600507c1304d27014fc014c804c1349c053fc05320133f0ff16055","0x549c053ec05040133dc0549c0504e7104cf93ec0749c051610c01c7604c58","0x4901527014f90144504c4c01527015040141f04d0b01527014550154504d09","0x50a8134240549c05424050401304d27014131bc131340549c053dc059c813","0x2e0151b04d1a015270151a014e204d0b015270150b0154504d130152701513","0x5134059c8131240549c0512405114130540549c050540546c130b80549c05","0x1270143c0167404c4c015270144c0141f04c2301527014230151904c4d01527","0x519865190f53e01549c050f04c08c4d124150b91a42d13424209d8130f005","0x1270143c0167b04c1349c05450054081304d270141301c1319865190f53e015","0x59fc1304d27014150150204c1349c0508c059941304d27014220150304c13","0x680152701413ad01319c0549c0504c2304c1349c05090053201304d2701406","0x131b40549c0504c2504c6b015270146819c07080131a00549c051a00507c13","0x131040549c0510405040133d00549c051bc05ad8131bc0549c051ac6d01c29","0x2b704d1a015270151a014e204c0701527014070154504d1301527015130142a","0x127014230166504c1349c0504c0704cf44680744c41054053d00549c053d005","0x507c131c80549c0504d3704cf1015270141308c1304d27014150150204c13","0x22ae8130340549c053bc05ae0133bc0549c051c8f101c2004c720152701472","0x549c054a805040133ac0549c051d805aec131d80549c0503406088240401f","0x11a015270151a014e204c0701527014070154504d1301527015130142a04d2a","0x230166504c1349c0504c0704ceb4680744d2a054053ac0549c053ac05adc13","0x220901007c22ae8131e00549c0546c05ae01304d27014150150204c1349c05","0x50a8130800549c0508005040133a80549c051e805aec131e80549c051e006","0xea016b704c350152701435014e204c0701527014070154504d1c015270151c","0x1304d27014230166504c1349c0504c0704cea0d40747020054053a80549c05","0x1f08aba04c7c01527014e5016bc04ce5015270141319c1304d270141501502","0x2001527014200141004c7e01527014e7016bb04ce7015270147c0182209010","0x130c40549c050c4053881301c0549c0501c05514130940549c05094050a813","0x5040054081304d270141301c131f83101c25080150147e015270147e016b7","0x27f04c1349c05054054081304d27014230166504c1349c050880540c1304d27","0x549c0504c2304c1349c05090053201304d270141f0167b04c1349c0501805","0xe001527014e139807080133840549c053840507c133840549c0504cfb04ce6","0x132500549c0537c05ad81337c0549c053808101c2904c81015270141309413","0xe204c0701527014070154504c2701527014270142a04c29015270142901410","0x504c6f04c940c40709c29054052500549c0525005adc130c40549c050c405","0x5090055d4130902301d27014230157404c230180749c05088055c41304d27","0x1270141f0157704c1349c05094054081304d2701420014c804c250801f0c527","0x549c0509c2901ebd04c2901527014290151b04c27015270141398c130a405","0x1301c131c005bc08f3880749c070a81301d3604c2a015270142a016be04c2a","0x5400053201304d27014f30157d04d13400f30c527014230157504c1349c05","0x11b0d407bc51c4740749c074688f38831afc134680549c0544c056641304d27","0x13304d180400749c05040050d4134640549c05470055e01304d270141301c13","0x12701d194a9180c4050553004d1d015270151d0141004d2a0540749c0505405","0x13441124503149c0501805b041304d270141301c131042e45831bc8450f007","0x26d04d2b01527014139b0134300549c0543c059ac1343c1501d270141501533","0x507c1342c0549c0542c0507c1342d2b01d270152b0166e04d090152701413","0x1270144d014c804c56134491301049c054250b430070426f04d090152701509","0x10701d2701449474071d8131240549c051240507c1304d2701456014c804c13","0x134080549c0504e7104c1349c05410059ec1340d0401d2701514016c204d06","0x14504c3c015270143c0142a04d0701527015070141004c55015270150301579","0x5464131540549c05154055e8131140549c0511405388131300549c0513005","0x5114131600549c051600546c131601001d27014100143504c150152701415","0x10707ec304d2b015270152b0141f04d0201527015020167204d060152701506","0xf80152701cf7016f304cf73e4fb3f0ff055270152b4090616015154451303c","0x640169204c6819c661946405527014f8016f504c1349c0504c0704cf5016f4","0x504c0704c6d016f61ac0549c071a0059e41304d2701465014c804c1349c05","0x79e81304d27014133dc131bc0549c0504d1c04c1349c051ac053ac1304d27","0x5464133d00549c0519c6601d1604c1349c0504c0704c13bdc1349c071bd10","0x704c76034ef0c6f81c8f101d2701d123d0103e4fc0553004cf401527014f4","0x2f901413410131e00549c051c805388133ac0549c053c4050a81304d2701413","0x7a016fa04c7a0152701476016b804c1349c0504c6f04c1349c0504c0704c13","0x53bc050a8133fc0549c053fc05040133940549c053a805bec133a80549c05","0x127014e5016fc04c0d015270140d014e204cfb01527014fb0154504cef01527","0x54081304d2701512014c804c1349c0504c0704ce5034fb3bcff0540539405","0x549c053f0050a81304d27014660150304c1349c0519c059fc1304d2701410","0x5af0131f00549c0504c6704c1349c0504c6f04c7801527014f9014e204ceb","0xff0141004ce6015270147e016fb04c7e01527014e7016fa04ce7015270147c","0x51e005388133ec0549c053ec05514133ac0549c053ac050a8133fc0549c05","0x1304d270141301c13398783eceb3fc15014e601527014e6016fc04c7801527","0x51980540c1304d27014670167f04c1349c05040054081304d2701512014c8","0xe001527014e1016fa04ce1015270146d016b804c1349c05440054081304d27","0x133f00549c053f0050a8133fc0549c053fc05040132040549c0538005bec13","0x15014810152701481016fc04cf901527014f9014e204cfb01527014fb01545","0x1349c05040054081304d2701512014c804c1349c0504c0704c813e4fb3f0ff","0x2a04cff01527014ff0141004cdf01527014f5016fd04c1349c054400540813","0x5bf0133e40549c053e405388133ec0549c053ec05514133f00549c053f005","0x1349c05054059941304d270141301c1337cf93ecfc3fc15014df01527014df","0x5be8132500549c0510405ae01304d27014060157304c1349c050400540813","0x1160142a04d1d015270151d0141004c850152701493016fb04c930152701494","0x521405bf0130b80549c050b8053881301c0549c0501c05514134580549c05","0x26504c1349c0546c054081304d270141301c132142e01d16474150148501527","0x549c0504c2304c1349c05018055cc1304d27014100150204c1349c0505405","0x890152701487230070801321c0549c0521c0507c1321c0549c0504efe04c8c","0x1301c1304eff01413410132080549c0522405418132340549c050d40504013","0x1304d27014060157304c1349c05040054081304d27014150166504c1349c05","0x52180507c132180549c0504f0004c83015270141308c1304d27014230159a","0x525405418132340549c051c005040132540549c052188301c2004c8601527","0x127014dc016fd04cdc0152701482378070a4133780549c0504c2504c8201527","0x549c0501c05514130140549c05014050a8132340549c05234050401326005","0x132603101c0523415014980152701498016fc04c310152701431014e204c07","0x5c041349c0708c056a01308c0549c05018051c8130181501d2701415014b7","0x220151404c1349c05054053d01304d2701410015aa04c1349c0504c0704c24","0x2001527014200141f04c2001527014134e41307c0549c0504c2304c1349c05","0x2701527014250a4070a4130a40549c0504c2504c25015270142007c0708013","0x130140549c05014050a81304c0549c0504c05040130a80549c0509c056b013","0x150142a015270142a015ad04c310152701431014e204c070152701407014f1","0xe2015270141344c1304d2701424015ae04c1349c0504c0704c2a0c40701413","0x133cc0549c0504d1c04c70015270148f0151d04c8f3880749c053880546813","0x131c00549c051c005464134000549c054000546c13400f301d27014f301435","0x1f04c1349c0504c0704d1b0d51c0c7024751a44c3149c071c1000c40504118","0x74a8134680549c05468053881344c0549c0544c050a8134740549c0547405","0x11601527014130f01304d270141301c131143c4a831c0d184640749c0747413","0xf301527014f30151b04c2e015270151638807458133880549c053880511413","0x12701c2e3cd1a44c10460134640549c0546405040130b80549c050b80546413","0x2a04d1201527015120141f04c1349c0504c0704d0c43d100c7044491410431","0x3054252b01d2701d12464074a8134500549c0545005388131040549c0510405","0x1270144d0150f04c4d0880749c05088054401304d270141301c131244c42c31","0x1304d270141301c134090301f064110601d2701d074252b0c5b804d0715807","0x56cc133fc0549c0541805040131600549c05154056c8131540549c0504c67","0x1349c0504c0704c13c1c0504d0404cfb01527014580152f04cfc0152701504","0x1b304cff01527015030141004cf701527014f9015b404cf9015270141319c13","0xf53e00749c07159183fc316e0133ec0549c053dc054bc133f00549c0540805","0x549c053d4056cc131980549c053e0050401304d270141301c131946401f08","0x704c13c240504d0404c6b01527014fb0152f04c6801527014fc015b304c67","0x6d3f0640c5b804c6d015270146d015b304c6d01527014136d41304d2701413","0x1b304c66015270146f0141004c1349c0504c0704c723c407c28f41bc0749c07","0x13410131ac0549c053ec054bc131a00549c053d0056cc1319c0549c0519405","0x1b404cef015270141319c1304d27014fb015b604c1349c0504c0704c13c2405","0x56cc1319c0549c05194056cc131980549c053c405040130340549c053bc05","0x133ac05c2c760152701c6b015b704c6b015270140d0152f04c680152701472","0x127014670150904c78015270141344c1304d2701476014eb04c1349c0504c07","0x549c0504d1c04ce501527014ea0151d04cea1e00749c051e005468131e805","0x549c05394054641339c0549c0539c0546c1339c7c01d270147c0143504c7c","0x1349c0504c0704c81380e10c70c3987e01d2701c7a394e7450410553004ce5","0x11604c7801527014780144504c9401527014130f01337c0549c051a00542413","0x11904c7c015270147c0151b04c7e015270147e0142a04c9301527014941e007","0x132348921c31c348c2140749c0737c931f0e61f8154c01324c0549c0524c05","0x133bc1320c0549c05208051c8132081501d2701415014b704c1349c0504c07","0x1f04cde2540749c0520c8601c31034132180549c052180507c132180549c05","0xdb2600749c052600546813260dc01d27014de198071d8133780549c0537805","0x133649b01d270149b0143504c9b0152701413470133680549c0536c0547413","0x1004c950152701495014f104cd901527014d90151b04c8501527014850142a","0x13328cd34431c38d3358d70c52701cda3648c21410460133700549c0537005","0xd6014e204cd701527014d70142a04cd301527014d30141f04c1349c0504c07","0x1349c0504c0704cc02fcc30c70f294c801d2701cd3370074a8133580549c05","0x1326c0549c0526c0546c132d80549c052e49801d1604cb901527014130f013","0x3149c072d89b358d70411804cc801527014c80141004cb601527014b601519","0x50a8130000549c050000507c1304d270141301c134fd3e4f431c40002dcb2","0x31c452c5000749c07000c801d2a04cb701527014b7014e204cb201527014b2","0x749c054b40543c134b42201d27014220151004c1349c0504c0704d4350941","0x6704c1349c0504c0704d6d5b007c496b5a80749c075152c500316e01351544","0x16b015b304d6f015270156a0141004d29015270156e015b204d6e0152701413","0x1304d270141301c1304f1301413410135c40549c054a4054bc135c00549c05","0x56cc135bc0549c055b005040135d00549c055cc056d0135cc0549c0504c67","0x3145d97501d2701d442956f0c5b804d7101527015740152f04d70015270156d","0x17a0152701576015b304d7901527015750141004c1349c0504c0704d785dc07","0x1301c1304f1501413410134a00549c055c4054bc135ec0549c055c0056cc13","0x75f1705dc316e0135f00549c055f0056cc135f00549c0504db504c1349c05","0x56cc135e40549c055f4050401304d270141301c1366d9a01f166657d01d27","0x504d0404d2801527015710152f04d7b0152701599015b304d7a0152701578","0x56d0136700549c0504c6704c1349c055c4056d81304d270141301c1304f15","0x19b015b304d7a0152701578015b304d79015270159a0141004d9d015270159c","0x704d9f017176780549c074a0056dc134a00549c05674054bc135ec0549c05","0x5680051c8136801501d2701415014b704c1349c05678053ac1304d2701413","0x5685a225431034136880549c056880507c136880549c0504cef04da101527","0x542413699a501d27015a45e4071d8136900549c056900507c13691a301d27","0x13470136a80549c056a005474136a1a601d27015a60151a04da7015270157a","0x1a3014f104dac01527015ac0151b04dac6ac0749c056ac050d4136ac0549c05","0x1ae6b40749c0769daa6b0b72c8154c0136940549c05694050401368c0549c05","0x549c0504c3c04db3015270157b0150904c1349c0504c0704db26c1af0c718","0x549c056ac0546c136b40549c056b4050a8136d00549c054bda601d1604d2f","0x1b70c7196d9b501d2701db36d1ab6b9ad0553004db401527015b40151904dab","0x1308c136e80549c0504c2304db90152701413c681304d270141301c136e130","0x56ec139380549c05934056e8139340549c05088156e4316e4136ec0549c05","0x2510164f04c1349c0594005938139465001d270164f0164d04e4f015270164e","0x549c05948059441304d270141301c139480549c0594405940139440549c05","0x127015bb6ea520c65204dbb01527015bb0150604dba01527015ba0150604e52","0x127016540150b04c1349c05958051301395e5601d27016530150b04e5494c07","0x549c0596405124139680549c0595c051241304d27016580144c04e5996007","0x26097c31c6e5d9700749c0796e5a6d9b50425304db501527015b50142a04e5b","0x25604e62015270153304007950134cc0549c0504c6704c1349c0504c0704e61","0x53c4139700549c05970050a8136940549c05694050401398c0549c0598805","0x25c69415016630152701663015ad04e5d015270165d014e204da301527015a3","0x2904e6401527014130941304d2701410015aa04c1349c0504c0704e63975a3","0x2a04da501527015a50141004e660152701665015ac04e65015270166199007","0x56b4139800549c05980053881368c0549c0568c053c41397c0549c0597c05","0x1349c05040056a81304d270141301c1399a6068e5f69415016660152701666","0x53881399c0549c056dc050a81304d27014220151404c1349c05054053d013","0x1349c0504c0704c13c700504d0404e6901527015b80150604e680152701530","0x1a60150304c1349c05088054501304d2701415014f404c1349c05040056a813","0x26701527015af0142a04c1349c056ac054081304d270157b0150c04c1349c05","0x2904e6a0152701413094139a40549c056c805418139a00549c056c00538813","0x2a04da501527015a50141004e6c015270166b015ac04e6b01527016699a807","0x56b4139a00549c059a0053881368c0549c0568c053c41399c0549c0599c05","0x1349c0567c053ac1304d270141301c139b26868e67694150166c015270166c","0x220151404c1349c05054053d01304d2701410015aa04c1349c055e80543013","0x139b80549c0504e5704e6d015270141308c1304d270157b0150c04c1349c05","0x2904e700152701413094139bc0549c059ba6d01c2004e6e015270166e0141f","0x2a04d7901527015790141004e720152701671015ac04e71015270166f9c007","0x56b4132dc0549c052dc05388132540549c05254053c4132c80549c052c805","0x1349c05508054301304d270141301c139c8b7254b25e415016720152701672","0x15014f404c1349c05040056a81304d27014a50150c04c1349c0550c0543013","0x139d40549c0504d0704e74015270141308c1304d27014220151404c1349c05","0x139dc0549c0550405040139d80549c059d67401c2004e7501527016750141f","0x10404e7a01527016760150604e7901527014b7014e204e7801527014b20142a","0x1304d2701410015aa04c1349c05294054301304d270141301c1304f1d01413","0x13d0142a04e7b01527014c80141004c1349c05088054501304d2701415014f4","0x31e01413410139f80549c054fc05418139f40549c054f805388139f00549c05","0x10015aa04c1349c05300054301304d27014bf0150c04c1349c0504c0704c13","0x1304d27014980150304c1349c05088054501304d2701415014f404c1349c05","0x5a040507c13a040549c0504d0704e7f015270141308c1304d270149b01502","0x535c050a8139dc0549c0530c0504013a080549c05a067f01c2004e8101527","0x127016770145504e7a01527016820150604e7901527014d6014e204e7801527","0x549c059e8053f013a140549c059e4053fc13a100549c059e00516013a0c05","0x5040056a81304d270149b0150204c1349c0504c0704c13c7c0504d0404e86","0x1004c1349c052600540c1304d27014220151404c1349c05054053d01304d27","0x5418139f40549c0533405388139f00549c05344050a8139ec0549c0537005","0x27d014ff04e84015270167c0145804e83015270167b0145504e7e01527014ca","0x5a1a8701c2904e87015270141309413a180549c059f8053f013a140549c05","0x127016840142a04e8301527016830141004e890152701688015ac04e8801527","0x549c05a24056b413a140549c05a1405388132540549c05254053c413a1005","0x15014f404c1349c05040056a81304d270141301c13a268525684a0c1501689","0x549c052240538813a280549c0521c050a81304d27014220151404c1349c05","0x10015aa04c1349c0504c0704c13c800504d0404e8c015270148d0150604e8b","0x1304d27014780150304c1349c05088054501304d2701415014f404c1349c05","0xe0014e204e8a01527014e10142a04c1349c051f0054081304d27014680150c","0x5a328d01c2904e8d015270141309413a300549c052040541813a2c0549c05","0x1270168a0142a04c6601527014660141004e8f015270168e015ac04e8e01527","0x549c05a3c056b413a2c0549c05a2c053881301c0549c0501c053c413a2805","0x10015aa04c1349c053ac053ac1304d270141301c13a3e8b01e8a198150168f","0x1304d27014670150c04c1349c05088054501304d2701415014f404c1349c05","0x5a480507c13a480549c0504e5704e90015270141308c1304d27014680150c","0x5a4e9401c2904e94015270141309413a4c0549c05a4a9001c2004e9201527","0x127014410142a04c6601527014660141004e970152701695015ac04e9501527","0x549c05a5c056b4134500549c05450053881301c0549c0501c053c41310405","0x490150c04c1349c05130054301304d270141301c13a5d1401c411981501697","0x1304d27014220151404c1349c05054053d01304d2701410015aa04c1349c05","0x5a640507c13a640549c0504d0704e98015270141308c1304d27015180150c","0x5104050a813a6c0549c0542c0504013a680549c05a669801c2004e9901527","0x13c840504d0404e9f015270169a0150604e9d0152701514014e204e9c01527","0x5088054501304d2701415014f404c1349c05040056a81304d270141301c13","0x2a101527015100142a04ea001527015190141004c1349c05460054301304d27","0x1301c1304f220141341013a8c0549c054300541813a880549c0543c0538813","0x1304d2701410015aa04c1349c05114054301304d270143c0150c04c1349c05","0x53cc054081304d27014220151404c1349c05054053d01304d27014e201503","0x13a980549c05a980507c13a980549c0504d0704ea4015270141308c1304d27","0x13a700549c0544c050a813a6c0549c054a80504013a9c0549c05a9aa401c20","0x5804ea8015270169b0145504e9f01527016a70150604e9d015270151a014e2","0x13410134e00549c05a7c053f013aa80549c05a74053fc13aa40549c05a7005","0xf404c1349c053880540c1304d2701410015aa04c1349c0504c0704c13c8c05","0x127014130141004c1349c053cc054081304d27014220151404c1349c0505405","0x549c0546c0541813a880549c050d40538813a840549c05470050a813a8005","0x2aa01527016a2014ff04ea901527016a10145804ea801527016a00145504ea3","0x13ab00549c054e2ab01c2904eab0152701413094134e00549c05a8c053f013","0xf104ea901527016a90142a04ea801527016a80141004ead01527016ac015ac","0x2a805405ab40549c05ab4056b413aa80549c05aa8053881301c0549c0501c05","0x130a42501f240801f01d2701c0504c070141304d27014131bc13ab6aa01ea9","0x1270141f0141004c1349c0504cf704c2701527014100168404c1349c0504c07","0x538805a181304d270141301c1323c05c94e20a80749c0709c05a141307c05","0x13c980504d0404d0001527014700168804cf3015270142a0168704c7001527","0x8f0168704d1a01527015130168904d13015270141319c1304d270141301c13","0x740005a28134740549c053cc055e4134000549c0546805a20133cc0549c05","0x5018054681346c0549c0547005a2c1304d270141301c130d405c9d1c01527","0x5a30134a80549c054611901d1604d1808c0749c0508c05ab4134640601d27","0x5464134582201d27014220143504c45015270143c0168d04c3c015270151b","0x2e01d2701c454a9160c4200553004c4501527014450141f04d2a015270152a","0x1270150f0167204d0f01527014130f01304d270141301c134411245031ca041","0x743c2307c31ac8131040549c0510405388130b80549c050b8050a81343c05","0x5514131300549c05430050401304d270141301c1342d0901f294ad0c01d27","0x12b0167204c5601527014060144504c4d01527014240141f04c490152701407","0x10304c1349c0542c059fc1304d270141301c1304f2a014134101341c0549c05","0x132e4134100549c05418059ac134181501d27014150153304c1349c0501805","0x54080507c131540549c0504e6d04d02015270150309007acc1340c0549c05","0x10401c109bc131540549c051540507c131610201d27015020166e04d0201527","0x1f04c1349c053e4053201304d27014fb014c804cf93ecfc3fc1049c0515458","0x1004cf501527014139c4133e0f701d27014fc424071d8133f00549c053f005","0x5114131340549c054080507c131240549c053fc05514131300549c053dc05","0x1270144c0141004c1349c0504c6f04d0701527014f50167204c5601527014f8","0x549c0510405388131240549c0512405514130b80549c050b8050a81313005","0x2201527014220151b04c1501527014150151904d1d015270151d0157a04c41","0x131340549c051340507c1341c0549c0541c059c8131580549c051580511413","0x6619464054051a067198651901549c0513507158220551d104490b84c07ec3","0x150166504c1349c05088054081304d27014131bc1304d270141301c131a067","0x32c04c6d015270146b08c060911d0572b04c6b0152701510016b804c1349c05","0x5514134500549c05450050a81307c0549c0507c05040131bc0549c051b405","0x11407c150146f015270146f0172d04d120152701512014e204c070152701407","0x54081304d2701435014eb04c1349c0504c6f04c1349c0504c0704c6f44807","0x549c053d005af0133d00549c0504c6704c1349c05054059941304d2701422","0x1f0141004cef01527014720172c04c7201527014f108c060911d0572b04cf1","0x50c4053881301c0549c0501c05514130800549c05080050a81307c0549c05","0x1304d270141301c133bc3101c2007c15014ef01527014ef0172d04c3101527","0x5054059941304d27014220150204c1349c0508c059fc1304d270140601503","0xfb04c0d015270141308c1304d2701424014c804c1349c0504005a481304d27","0x13094133ac0549c051d80d01c2004c7601527014760141f04c760152701413","0x250141004cea015270147a0153504c7a01527014eb1e0070a4131e00549c05","0x50c4053881301c0549c0501c05514130a40549c050a4050a8130940549c05","0x102307c2dc13040353a83101c2909415014ea01527014ea0172d04c3101527","0x3101c0504cb61f0b704cd10548c1f0b704cd1054130c407014132d87c2dc13","0x7c2dc1334415cb8100c407014132d87c2dc13344152307c2dc133441569010","0xb61f0b704cd10548c1f0b704cd10572f0403101c0504cb61f0b704cd10548c","0x15cc4100c407014132d87c2dc13344152307c2dc1334415cc0100c40701413","0x130548c1f0b71f813057320403101c0504cb61f0b71f8130548c1f0b71f813","0x3340c407014132d87c2dc130408c1f0b704c10ccc100c407014132d87c2dc7e","0xb704cd10548c1f0b704cd1057350c407014132d87c2dc130408c1f0b704c10","0x100c407014132d87c2dc13344152307c2dc1334415cd8100c407014132d87c","0xb704c22ce0150403101c0504cb61f0b71f813344222307c2dc7e04cd108b37","0x4c1306b1f0d12dc1308f39054100c407014133647c344b704c1535c681f0d1","0x4d1304c1ac7c344b704c23ce806088150403101c0504cdf1f0d12dc130544d","0x151344c1306b1f0d12dc1308f3b01822054100c4070141337c7c344b704c15","0x7e2dc13054c00b87c1f8b704c22cf006088150403101c0504cdf1f0d12dc13","0x1308f3e0c407014133bcb704c31080222dc130433d054100c407014133a87c","0x580c73f01822054100c407014133d07c1f8d12dc130884c1346d1f07e344b7","0x7e2dc1305410018c0090230b82e1f07e2dc130834001c0504c200800708020","0xb704c151d8c00b87c1f8b704c06d041f0902301822054100c407014134507c","0xdf1f0d12dc130544d1306b1f0d12dc1301b42088150403101c0504d1b1f07e","0xe21f07e2dc1305406090230b8c00887c1f8b704c1fd0c22054100c40701413","0x3440902301822054100c40701413"],"sierra_program_debug_info":{"type_names":[[0,"RangeCheck"],[1,"Const"],[2,"Const"],[3,"Const"],[4,"Array"],[5,"Snapshot>"],[6,"core::array::Span::"],[7,"felt252"],[8,"StorageBaseAddress"],[9,"u8"],[10,"Unit"],[11,"Array"],[12,"core::result::Result::<(), core::array::Array::>"],[13,"Tuple, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>"],[14,"core::panics::Panic"],[15,"Tuple>"],[16,"core::panics::PanicResult::<(core::array::Span::, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>"],[17,"u64"],[18,"Const"],[19,"Const"],[20,"Const"],[21,"Const"],[22,"Const"],[23,"Const"],[24,"Const"],[25,"Tuple>>"],[26,"core::panics::PanicResult::<(core::result::Result::<(), core::array::Array::>,)>"],[27,"Const"],[28,"Const"],[29,"Uninitialized>"],[30,"Box"],[31,"core::option::Option::>"],[32,"Const"],[33,"u32"],[34,"Tuple, u32, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>"],[35,"core::panics::PanicResult::<(core::array::Array::, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>"],[36,"Const"],[37,"Const"],[38,"Const"],[39,"Const"],[40,"NonZero"],[41,"Const"],[42,"Uninitialized"],[43,"ContractAddress"],[44,"u128"],[45,"core::integer::u256"],[46,"openzeppelin::token::erc20::erc20::ERC20Component::Approval"],[47,"Const"],[48,"Const"],[49,"Const"],[50,"Const"],[51,"Const"],[52,"openzeppelin::token::erc20::erc20::ERC20Component::Transfer"],[53,"openzeppelin::token::erc20::erc20::ERC20Component::Event"],[54,"contract2::erc20::MyToken::Event"],[55,"Const"],[56,"core::bool"],[57,"Const"],[58,"Const"],[59,"NonZero"],[60,"Const"],[61,"openzeppelin::token::erc20::erc20::ERC20Component::__member_module_ERC20_name::ComponentMemberState"],[62,"openzeppelin::token::erc20::erc20::ERC20Component::__member_module_ERC20_symbol::ComponentMemberState"],[63,"openzeppelin::token::erc20::erc20::ERC20Component::__member_module_ERC20_total_supply::ComponentMemberState"],[64,"openzeppelin::token::erc20::erc20::ERC20Component::__member_module_ERC20_balances::ComponentMemberState"],[65,"openzeppelin::token::erc20::erc20::ERC20Component::__member_module_ERC20_allowances::ComponentMemberState"],[66,"openzeppelin::token::erc20::erc20::ERC20Component::ComponentState::"],[67,"contract2::erc20::MyToken::ContractState"],[68,"Tuple"],[69,"core::panics::PanicResult::<(contract2::erc20::MyToken::ContractState, ())>"],[70,"Const"],[71,"Tuple, Unit>"],[72,"core::panics::PanicResult::<(core::array::Array::, ())>"],[73,"bytes31"],[74,"core::byte_array::ByteArray"],[75,"Snapshot"],[76,"core::result::Result::>"],[77,"Tuple>>"],[78,"core::panics::PanicResult::<(core::result::Result::>,)>"],[79,"Uninitialized"],[80,"System"],[81,"Uninitialized"],[82,"Poseidon"],[83,"Uninitialized"],[84,"Const"],[85,"Const"],[86,"Tuple, Unit>"],[87,"core::panics::PanicResult::<(openzeppelin::token::erc20::erc20::ERC20Component::ComponentState::, ())>"],[88,"Box"],[89,"Box"],[90,"Snapshot>"],[91,"core::array::Span::"],[92,"Array"],[93,"Snapshot>"],[94,"core::array::Span::"],[95,"core::starknet::info::v2::TxInfo"],[96,"core::starknet::info::BlockInfo"],[97,"core::starknet::info::v2::ResourceBounds"],[98,"core::starknet::info::v2::ExecutionInfo"],[99,"Box"],[100,"core::option::Option::"],[101,"Box"],[102,"core::option::Option::>"],[103,"Const"],[104,"Tuple"],[105,"core::panics::PanicResult::<(core::integer::u256,)>"],[106,"Tuple"],[107,"Const"],[108,"Const"],[109,"Pedersen"],[110,"core::option::Option::"],[111,"Const"],[112,"Const"],[113,"Tuple>"],[114,"Const"],[115,"Const"],[116,"StorageAddress"],[117,"BuiltinCosts"],[118,"core::panics::PanicResult::<(core::array::Span::,)>"],[119,"Const"],[120,"GasBuiltin"]],"libfunc_names":[[0,"revoke_ap_tracking"],[1,"withdraw_gas"],[2,"branch_align"],[3,"struct_deconstruct>"],[4,"store_temp"],[5,"array_snapshot_pop_front"],[6,"drop>>"],[7,"drop>"],[8,"array_new"],[9,"const_as_immediate>"],[10,"store_temp"],[11,"array_append"],[12,"struct_construct"],[13,"struct_construct>>"],[14,"enum_init,)>, 1>"],[15,"store_temp"],[16,"store_temp"],[17,"store_temp,)>>"],[18,"get_builtin_costs"],[19,"store_temp"],[20,"withdraw_gas_all"],[21,"storage_base_address_const<482148859801725464274198147480840119334382080162606228723774290742111978842>"],[22,"dup"],[23,"storage_address_from_base"],[24,"const_as_immediate>"],[25,"dup"],[26,"store_temp"],[27,"store_temp"],[28,"storage_read_syscall"],[29,"u128s_from_felt252"],[30,"const_as_immediate>"],[31,"store_temp"],[32,"storage_address_from_base_and_offset"],[33,"struct_construct"],[34,"snapshot_take"],[35,"drop"],[36,"store_temp"],[37,"dup"],[38,"struct_deconstruct"],[39,"drop"],[40,"rename"],[41,"u128_to_felt252"],[42,"snapshot_take>"],[43,"drop>"],[44,"struct_construct>"],[45,"struct_construct>>"],[46,"enum_init,)>, 0>"],[47,"const_as_immediate>"],[48,"store_temp>"],[49,"jump"],[50,"drop"],[51,"drop"],[52,"rename"],[53,"rename"],[54,"rename"],[55,"rename>"],[56,"const_as_immediate>"],[57,"drop>"],[58,"enable_ap_tracking"],[59,"unbox"],[60,"rename"],[61,"enum_init, 0>"],[62,"store_temp>>"],[63,"store_temp>"],[64,"struct_construct"],[65,"enum_init, 1>"],[66,"enum_match>"],[67,"contract_address_try_from_felt252"],[68,"disable_ap_tracking"],[69,"drop"],[70,"store_temp"],[71,"contract_address_to_felt252"],[72,"const_as_immediate>"],[73,"pedersen"],[74,"storage_base_address_from_felt252"],[75,"drop"],[76,"const_as_immediate>"],[77,"struct_construct"],[78,"struct_construct"],[79,"struct_construct"],[80,"struct_construct"],[81,"struct_construct"],[82,"struct_construct>"],[83,"struct_construct"],[84,"snapshot_take"],[85,"drop"],[86,"struct_deconstruct"],[87,"struct_deconstruct>"],[88,"drop"],[89,"drop"],[90,"drop"],[91,"drop"],[92,"struct_construct>"],[93,"store_temp>"],[94,"function_call>>::read>"],[95,"enum_match>"],[96,"struct_deconstruct>"],[97,"const_as_immediate>"],[98,"enum_init>, 0>"],[99,"store_temp>>"],[100,"enum_init>, 1>"],[101,"enum_match>>"],[102,"enum_init, 0>"],[103,"store_temp>"],[104,"enum_init, 1>"],[105,"enum_match>"],[106,"get_execution_info_v2_syscall"],[107,"store_temp>"],[108,"unbox"],[109,"struct_deconstruct"],[110,"drop>"],[111,"drop>"],[112,"drop"],[113,"store_temp"],[114,"function_call::_transfer>"],[115,"enum_match, ())>>"],[116,"drop, Unit>>"],[117,"const_as_immediate>"],[118,"struct_deconstruct>>"],[119,"drop"],[120,"dup"],[121,"function_call::_spend_allowance>"],[122,"struct_deconstruct, Unit>>"],[123,"const_as_immediate>"],[124,"function_call::_approve>"],[125,"alloc_local"],[126,"alloc_local"],[127,"alloc_local"],[128,"finalize_locals"],[129,"drop>"],[130,"drop>"],[131,"drop>"],[132,"store_temp"],[133,"storage_base_address_const<1473120764136009396440970107973971969419251478021578277222806501183556393953>"],[134,"function_call"],[135,"store_local"],[136,"store_local"],[137,"enum_match>,)>>"],[138,"struct_deconstruct>>>"],[139,"enum_match>>"],[140,"store_local"],[141,"snapshot_take"],[142,"drop"],[143,"dup>"],[144,"struct_snapshot_deconstruct"],[145,"dup>>"],[146,"array_len"],[147,"u32_to_felt252"],[148,"struct_construct>"],[149,"store_temp>"],[150,"function_call, core::bytes_31::bytes31Drop>>"],[151,"enum_match, ())>>"],[152,"struct_deconstruct, Unit>>"],[153,"drop>>"],[154,"rename"],[155,"drop>"],[156,"storage_base_address_const<322990191961554429053868449035526014412279677330895387449703561219527453810>"],[157,"const_as_immediate>"],[158,"u8_to_felt252"],[159,"function_call"],[160,"enum_match>"],[161,"drop>"],[162,"drop"],[163,"struct_deconstruct>"],[164,"const_as_immediate>"],[165,"struct_construct>"],[166,"enum_init, 0>"],[167,"store_temp>"],[168,"enum_init, 1>"],[169,"felt252_is_zero"],[170,"drop>"],[171,"const_as_immediate>"],[172,"enum_init, ())>, 1>"],[173,"store_temp, ())>>"],[174,"drop>"],[175,"const_as_immediate>"],[176,"u128_overflowing_sub"],[177,"enum_init"],[178,"store_temp"],[179,"store_temp"],[180,"enum_init"],[181,"const_as_immediate>"],[182,"drop"],[183,"enum_match"],[184,"storage_write_syscall"],[185,"u128_overflowing_add"],[186,"struct_construct"],[187,"enum_init"],[188,"enum_init"],[189,"snapshot_take"],[190,"drop"],[191,"store_temp"],[192,"enum_match"],[193,"store_temp"],[194,"function_call"],[195,"emit_event_syscall"],[196,"struct_construct, Unit>>"],[197,"enum_init, ())>, 0>"],[198,"const_as_immediate>"],[199,"const_as_immediate>"],[200,"snapshot_take"],[201,"const_as_immediate>"],[202,"u128_eq"],[203,"const_as_immediate>"],[204,"const_as_immediate>"],[205,"struct_construct"],[206,"enum_init"],[207,"alloc_local"],[208,"dup"],[209,"u32_try_from_felt252"],[210,"const_as_immediate>"],[211,"u32_is_zero"],[212,"drop"],[213,"drop>"],[214,"const_as_immediate>"],[215,"enum_init>,)>, 1>"],[216,"store_temp>,)>>"],[217,"u32_safe_divmod"],[218,"storage_address_to_felt252"],[219,"const_as_immediate>"],[220,"const_as_immediate>"],[221,"dup"],[222,"hades_permutation"],[223,"array_new"],[224,"const_as_immediate>"],[225,"store_temp"],[226,"store_temp>"],[227,"store_local"],[228,"function_call"],[229,"enum_match, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>"],[230,"struct_deconstruct, u32, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>"],[231,"enum_match>>"],[232,"u32_eq"],[233,"drop>"],[234,"enum_init>, 1>"],[235,"struct_construct>>>"],[236,"enum_init>,)>, 0>"],[237,"drop"],[238,"struct_construct"],[239,"enum_init>, 0>"],[240,"const_as_immediate>"],[241,"struct_deconstruct>"],[242,"array_snapshot_pop_front"],[243,"enum_init>, 0>"],[244,"store_temp>>"],[245,"store_temp>>"],[246,"enum_init>, 1>"],[247,"enum_match>>"],[248,"unbox"],[249,"rename"],[250,"bytes31_to_felt252"],[251,"struct_construct, Unit>>"],[252,"enum_init, ())>, 0>"],[253,"store_temp, ())>>"],[254,"drop>"],[255,"enum_init, ())>, 1>"],[256,"alloc_local>"],[257,"const_as_immediate>"],[258,"const_as_immediate>"],[259,"store_temp"],[260,"store_local>"],[261,"function_call"],[262,"enum_match>,)>>"],[263,"struct_deconstruct>>>"],[264,"const_as_immediate>"],[265,"const_as_immediate>"],[266,"function_call::_mint>"],[267,"struct_construct>"],[268,"enum_init, 0>"],[269,"store_temp>"],[270,"enum_init, 1>"],[271,"enum_match"],[272,"const_as_immediate>"],[273,"dup"],[274,"struct_deconstruct"],[275,"rename"],[276,"const_as_immediate>"],[277,"dup"],[278,"struct_deconstruct"],[279,"dup"],[280,"bytes31_try_from_felt252"],[281,"array_append"],[282,"const_as_immediate>"],[283,"u32_overflowing_sub"],[284,"u8_overflowing_add"],[285,"felt252_add"],[286,"const_as_immediate>"],[287,"enum_init, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 1>"],[288,"store_temp, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>"],[289,"const_as_immediate>"],[290,"enum_init>, 1>"],[291,"struct_construct, u32, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>"],[292,"enum_init, core::integer::u32, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 0>"],[293,"enum_init>, 0>"],[294,"u32_wide_mul"],[295,"store_temp"],[296,"downcast"],[297,"u32_overflowing_add"],[298,"struct_deconstruct"],[299,"snapshot_take>"],[300,"function_call"],[301,"enum_match, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>"],[302,"struct_deconstruct, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>"],[303,"struct_construct>>>"],[304,"enum_init>,)>, 0>"],[305,"store_temp>,)>>"],[306,"enum_init>,)>, 1>"],[307,"const_as_immediate>"],[308,"const_as_immediate>"],[309,"const_as_immediate>"],[310,"contract_address_const<0>"],[311,"struct_construct, felt252, StorageBaseAddress, u8, core::result::Result::<(), core::array::Array::>>>"],[312,"enum_init, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 0>"],[313,"store_temp, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>>"],[314,"enum_init, core::felt252, core::starknet::storage_access::StorageBaseAddress, core::integer::u8, core::result::Result::<(), core::array::Array::>)>, 1>"]],"user_func_names":[[0,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20Impl__total_supply::"],[1,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20Impl__balance_of::"],[2,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20Impl__allowance::"],[3,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20Impl__transfer::"],[4,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20Impl__transfer_from::"],[5,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20Impl__approve::"],[6,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20MetadataImpl__name::"],[7,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20MetadataImpl__symbol::"],[8,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20MetadataImpl__decimals::"],[9,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20CamelOnlyImpl__totalSupply::"],[10,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20CamelOnlyImpl__balanceOf::"],[11,"openzeppelin::token::erc20::erc20::ERC20Component::__wrapper__ERC20CamelOnlyImpl__transferFrom::"],[12,"contract2::erc20::MyToken::__wrapper__constructor"],[13,"core::starknet::storage::StorageMapMemberAccessImpl::>>::read"],[14,"openzeppelin::token::erc20::erc20::ERC20Component::InternalImpl::::_transfer"],[15,"openzeppelin::token::erc20::erc20::ERC20Component::InternalImpl::::_spend_allowance"],[16,"openzeppelin::token::erc20::erc20::ERC20Component::InternalImpl::::_approve"],[17,"core::starknet::storage_access::inner_read_byte_array"],[18,"core::array::serialize_array_helper::, core::bytes_31::bytes31Drop>"],[19,"contract2::erc20::MyToken::constructor"],[20,"openzeppelin::token::erc20::erc20::ERC20Component::EventIsEvent::append_keys_and_data"],[21,"core::starknet::storage_access::inner_read_byte_array[expr84]"],[22,"core::starknet::storage_access::inner_write_byte_array"],[23,"openzeppelin::token::erc20::erc20::ERC20Component::InternalImpl::::_mint"],[24,"core::starknet::storage_access::inner_write_byte_array[expr56]"]]},"contract_class_version":"0.1.0","entry_points_by_type":{"EXTERNAL":[{"selector":"0x41b033f4a31df8067c24d1e9b550a2ce75fd4a29e1147af9752174f0e6cb20","function_idx":11},{"selector":"0x4c4fb1ab068f6039d5780c68dd0fa2f8742cceb3426d19667778ca7f3518a9","function_idx":8},{"selector":"0x80aa9fdbfaf9615e4afc7f5f722e265daca5ccc655360fa5ccacf9c267936d","function_idx":9},{"selector":"0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e","function_idx":3},{"selector":"0x1557182e4359a1f0c6301278e8f5b35a776ab58d39892581e357578fb287836","function_idx":0},{"selector":"0x1e888a1026b19c8c0b57c72d63ed1737106aa10034105b980ba117bd0c29fe1","function_idx":2},{"selector":"0x216b05c387bab9ac31918a3e61672f4618601f3c598a2f3f2710f37053e1ea4","function_idx":7},{"selector":"0x219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c","function_idx":5},{"selector":"0x2e4263afad30923c891518314c3c95dbe830a16874e8abc5777a9a20b54c76e","function_idx":10},{"selector":"0x35a73cd311a05d46deda634c5ee045db92f811b4e74bca4437fcb5302b7af33","function_idx":1},{"selector":"0x361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60","function_idx":6},{"selector":"0x3704ffe8fba161be0e994951751a5033b1462b918ff785c0a636be718dfdb68","function_idx":4}],"L1_HANDLER":[],"CONSTRUCTOR":[{"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194","function_idx":12}]},"abi":[{"type":"impl","name":"ERC20Impl","interface_name":"openzeppelin::token::erc20::interface::IERC20"},{"type":"struct","name":"core::integer::u256","members":[{"name":"low","type":"core::integer::u128"},{"name":"high","type":"core::integer::u128"}]},{"type":"enum","name":"core::bool","variants":[{"name":"False","type":"()"},{"name":"True","type":"()"}]},{"type":"interface","name":"openzeppelin::token::erc20::interface::IERC20","items":[{"type":"function","name":"total_supply","inputs":[],"outputs":[{"type":"core::integer::u256"}],"state_mutability":"view"},{"type":"function","name":"balance_of","inputs":[{"name":"account","type":"core::starknet::contract_address::ContractAddress"}],"outputs":[{"type":"core::integer::u256"}],"state_mutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"core::starknet::contract_address::ContractAddress"},{"name":"spender","type":"core::starknet::contract_address::ContractAddress"}],"outputs":[{"type":"core::integer::u256"}],"state_mutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"recipient","type":"core::starknet::contract_address::ContractAddress"},{"name":"amount","type":"core::integer::u256"}],"outputs":[{"type":"core::bool"}],"state_mutability":"external"},{"type":"function","name":"transfer_from","inputs":[{"name":"sender","type":"core::starknet::contract_address::ContractAddress"},{"name":"recipient","type":"core::starknet::contract_address::ContractAddress"},{"name":"amount","type":"core::integer::u256"}],"outputs":[{"type":"core::bool"}],"state_mutability":"external"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"core::starknet::contract_address::ContractAddress"},{"name":"amount","type":"core::integer::u256"}],"outputs":[{"type":"core::bool"}],"state_mutability":"external"}]},{"type":"impl","name":"ERC20MetadataImpl","interface_name":"openzeppelin::token::erc20::interface::IERC20Metadata"},{"type":"struct","name":"core::byte_array::ByteArray","members":[{"name":"data","type":"core::array::Array::"},{"name":"pending_word","type":"core::felt252"},{"name":"pending_word_len","type":"core::integer::u32"}]},{"type":"interface","name":"openzeppelin::token::erc20::interface::IERC20Metadata","items":[{"type":"function","name":"name","inputs":[],"outputs":[{"type":"core::byte_array::ByteArray"}],"state_mutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"type":"core::byte_array::ByteArray"}],"state_mutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"type":"core::integer::u8"}],"state_mutability":"view"}]},{"type":"impl","name":"ERC20CamelOnlyImpl","interface_name":"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{"type":"interface","name":"openzeppelin::token::erc20::interface::IERC20CamelOnly","items":[{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"type":"core::integer::u256"}],"state_mutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"core::starknet::contract_address::ContractAddress"}],"outputs":[{"type":"core::integer::u256"}],"state_mutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"sender","type":"core::starknet::contract_address::ContractAddress"},{"name":"recipient","type":"core::starknet::contract_address::ContractAddress"},{"name":"amount","type":"core::integer::u256"}],"outputs":[{"type":"core::bool"}],"state_mutability":"external"}]},{"type":"constructor","name":"constructor","inputs":[{"name":"initial_supply","type":"core::integer::u256"},{"name":"recipient","type":"core::starknet::contract_address::ContractAddress"}]},{"type":"event","name":"openzeppelin::token::erc20::erc20::ERC20Component::Transfer","kind":"struct","members":[{"name":"from","type":"core::starknet::contract_address::ContractAddress","kind":"key"},{"name":"to","type":"core::starknet::contract_address::ContractAddress","kind":"key"},{"name":"value","type":"core::integer::u256","kind":"data"}]},{"type":"event","name":"openzeppelin::token::erc20::erc20::ERC20Component::Approval","kind":"struct","members":[{"name":"owner","type":"core::starknet::contract_address::ContractAddress","kind":"key"},{"name":"spender","type":"core::starknet::contract_address::ContractAddress","kind":"key"},{"name":"value","type":"core::integer::u256","kind":"data"}]},{"type":"event","name":"openzeppelin::token::erc20::erc20::ERC20Component::Event","kind":"enum","variants":[{"name":"Transfer","type":"openzeppelin::token::erc20::erc20::ERC20Component::Transfer","kind":"nested"},{"name":"Approval","type":"openzeppelin::token::erc20::erc20::ERC20Component::Approval","kind":"nested"}]},{"type":"event","name":"contract2::erc20::MyToken::Event","kind":"enum","variants":[{"name":"ERC20Event","type":"openzeppelin::token::erc20::erc20::ERC20Component::Event","kind":"flat"}]}]} \ No newline at end of file diff --git a/contracts/v2.6.2/Scarb.lock b/contracts/v2.6.2/Scarb.lock index e5656c4c..67188da4 100644 --- a/contracts/v2.6.2/Scarb.lock +++ b/contracts/v2.6.2/Scarb.lock @@ -2,5 +2,13 @@ version = 1 [[package]] -name = "starknet_dart" +name = "contract2" version = "0.1.0" +dependencies = [ + "openzeppelin", +] + +[[package]] +name = "openzeppelin" +version = "0.10.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.10.0#d77082732daab2690ba50742ea41080eb23299d3" diff --git a/contracts/v2.6.2/Scarb.toml b/contracts/v2.6.2/Scarb.toml index e919dfb1..16eff3e2 100644 --- a/contracts/v2.6.2/Scarb.toml +++ b/contracts/v2.6.2/Scarb.toml @@ -1,13 +1,17 @@ [package] -name = "starknet_dart" +name = "contract2" version = "0.1.0" edition = "2023_11" # See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html [dependencies] -starknet = ">=2.5.4" +starknet = ">=2.6.0" +openzeppelin = { git = "https://github.com/OpenZeppelin/cairo-contracts.git", tag = "v0.10.0" } +[lib] [[target.starknet-contract]] - +sierra = true +casm = true +caml = true \ No newline at end of file diff --git a/contracts/v2.6.2/src/counter.cairo b/contracts/v2.6.2/src/counter.cairo new file mode 100644 index 00000000..af756b1e --- /dev/null +++ b/contracts/v2.6.2/src/counter.cairo @@ -0,0 +1,83 @@ +#[starknet::interface] +trait ICounter { + fn increment(ref self: TState); + fn decrement(ref self: TState); + fn increase_count_by(ref self: TState, number: u64); + fn get_current_count(self: @TState) -> u64; +} + +#[starknet::contract] +mod Counter { + #[storage] + struct Storage { + _count: u64, + } + + #[constructor] + fn constructor(ref self: ContractState) { + self._count.write(1); + } + + #[abi(embed_v0)] + impl CounterImpl of super::ICounter { + + fn increment(ref self: ContractState,) { + let current_count = self._count.read(); + self._count.write(current_count + 1); + } + fn decrement(ref self: ContractState,) { + let current_count = self._count.read(); + self._count.write(current_count -1); + } + fn increase_count_by(ref self: ContractState, number: u64) { + let current_count = self._count.read(); + self._count.write(current_count + number); + } + + fn get_current_count(self: @ContractState) -> u64 { + self._count.read() + } + } +} + + +#[cfg(test)] +mod tests { + use starknet_dart::counter::ICounterDispatcherTrait; + use openzeppelin::tests::utils::{deploy}; + use starknet_dart::counter::{ICounterDispatcher, Counter}; + use starknet::{ContractAddress}; + use debug::PrintTrait; + + fn deploy_counter() -> ICounterDispatcher { + let calldata: Array = array![]; + let address: ContractAddress = deploy(Counter::TEST_CLASS_HASH, calldata); + ICounterDispatcher { contract_address: address } + } + + #[test] + #[available_gas(2000000)] + fn test_counter_functions() { + + /// doing deplyment of the contract settonh the contractor at one + let counter = deploy_counter(); + + /// getting the contract count + assert(counter.get_current_count() == 1, 'Count should be initially 1'); + + /// test increasing the count by a certain number + counter.increase_count_by(10); + assert(counter.get_current_count() == 11, 'Count should be 11'); + + /// testing if the conter is incrementing as expected + counter.increment(); + assert(counter.get_current_count() == 12, 'Count should be 12'); + + ///testing decrement of the counter + counter.decrement(); + assert(counter.get_current_count() == 11, 'Count should be 11'); + } +} + +//class_hash: 0x5d54ff3c67be0231b8e8ed0ce98dca2fb3fbc6529957756f2eea53ac23d202a +// contract_address: 0x716ea2ba1dc8f1e7f9faad442a109adebe4a80a2ec0c937c7e84aca58136859 diff --git a/contracts/v2.6.2/src/erc20.cairo b/contracts/v2.6.2/src/erc20.cairo new file mode 100644 index 00000000..a6a8b955 --- /dev/null +++ b/contracts/v2.6.2/src/erc20.cairo @@ -0,0 +1,41 @@ +#[starknet::contract] +mod MyToken { + use openzeppelin::token::erc20::ERC20Component; + use starknet::ContractAddress; + + component!(path: ERC20Component, storage: erc20, event: ERC20Event); + + #[abi(embed_v0)] + impl ERC20Impl = ERC20Component::ERC20Impl; + #[abi(embed_v0)] + impl ERC20MetadataImpl = ERC20Component::ERC20MetadataImpl; + #[abi(embed_v0)] + impl ERC20CamelOnlyImpl = ERC20Component::ERC20CamelOnlyImpl; + impl ERC20InternalImpl = ERC20Component::InternalImpl; + + #[storage] + struct Storage { + #[substorage(v0)] + erc20: ERC20Component::Storage + } + + #[event] + #[derive(Drop, starknet::Event)] + enum Event { + #[flat] + ERC20Event: ERC20Component::Event + } + + #[constructor] + fn constructor( + ref self: ContractState, + initial_supply: u256, + recipient: ContractAddress + ) { + let name = "MyToken"; + let symbol = "MTK"; + + self.erc20.initializer(name, symbol); + self.erc20._mint(recipient, initial_supply); + } +} \ No newline at end of file diff --git a/contracts/v2.6.2/src/lib.cairo b/contracts/v2.6.2/src/lib.cairo index 64d67ef8..bfe4665e 100644 --- a/contracts/v2.6.2/src/lib.cairo +++ b/contracts/v2.6.2/src/lib.cairo @@ -1,27 +1 @@ -mod hello; - -fn main() -> u32 { - fib(16) -} - -fn fib(mut n: u32) -> u32 { - let mut a: u32 = 0; - let mut b: u32 = 1; - while n != 0 { - n = n - 1; - let temp = b; - b = a + b; - a = temp; - }; - a -} - -#[cfg(test)] -mod tests { - use super::fib; - - #[test] - fn it_works() { - assert(fib(16) == 987, 'it works?'); - } -} +mod erc20; diff --git a/melos.yaml b/melos.yaml index d89207e7..963f3b8e 100644 --- a/melos.yaml +++ b/melos.yaml @@ -122,7 +122,7 @@ scripts: flutter: false test:dart:integration: description: Run all dart integration tests - run: melos exec --dir-exists="test" -- dart test --tags integration --fail-fast + run: melos exec -c 1 --dir-exists="test" -- dart test --tags integration --fail-fast packageFilters: ignore: "*starknet_builder*" flutter: false diff --git a/packages/starknet/lib/src/account.dart b/packages/starknet/lib/src/account.dart index e71ba718..370b186d 100644 --- a/packages/starknet/lib/src/account.dart +++ b/packages/starknet/lib/src/account.dart @@ -1,6 +1,7 @@ // ignore_for_file: non_constant_identifier_names import 'dart:io'; +import 'dart:math'; import 'package:bip32/bip32.dart' as bip32; import 'package:bip39/bip39.dart' as bip39; @@ -13,6 +14,22 @@ enum AccountSupportedTxVersion { @Deprecated('Transaction version 0 will be removed with Starknet alpha v0.11') v0, v1, + v3, +} + +/// Represents fee estimation results +class FeeEstimations { + final Felt maxAmount; + final Felt maxPricePerUnit; + final String unit; + final Felt maxFee; // for v2 and legacy transaction versions + + const FeeEstimations({ + required this.maxAmount, + required this.maxPricePerUnit, + required this.unit, + required this.maxFee, + }); } /// Account abstraction class @@ -48,74 +65,165 @@ class Account { } /// Get Estimate max fee for Invoke Tx - Future getEstimatemax_feeForInvokeTx({ - BlockId blockId = BlockId.latest, - String version = '0x1', - required List functionCalls, - bool useLegacyCalldata = false, - required Felt nonce, - double feeMultiplier = 1.2, - }) async { + Future getEstimateMaxFeeForInvokeTx( + {BlockId blockId = BlockId.latest, + String version = '0x1', + required List functionCalls, + bool useLegacyCalldata = false, + Felt? nonce, + double feeMultiplier = 1.2, + bool? useSTRKFee = false, + // These values are for future use (until then they are empty or zero) + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode = 'L1', + String? nonceDataAvailabilityMode = 'L1'}) async { + nonce = nonce ?? await getNonce(); + Map resourceBounds = + getResourceBounds(Felt.zero, Felt.zero, Felt.zero, Felt.zero); + + if (useSTRKFee!) { + supportedTxVersion = AccountSupportedTxVersion.v3; + accountDeploymentData ??= []; + paymasterData ??= []; + tip = tip ?? Felt.zero; + } + final signature = signer.signTransactions( transactions: functionCalls, contractAddress: accountAddress, - version: supportedTxVersion == AccountSupportedTxVersion.v1 ? 1 : 0, + version: supportedTxVersion == AccountSupportedTxVersion.v3 + ? 3 + : supportedTxVersion == AccountSupportedTxVersion.v1 + ? 1 + : 0, chainId: chainId, + entryPointSelectorName: '__execute__', nonce: nonce, useLegacyCalldata: useLegacyCalldata, + resourceBounds: resourceBounds, + accountDeploymentData: accountDeploymentData, + paymasterData: paymasterData, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, ); BroadcastedTxn broadcastedTxn; - if (version == '0x1') { - final calldata = functionCallsToCalldata( - functionCalls: functionCalls, - useLegacyCalldata: useLegacyCalldata, - ); - broadcastedTxn = BroadcastedInvokeTxnV1( - type: 'INVOKE', - maxFee: defaultMaxFee, - version: version, - signature: signature, - nonce: nonce, - senderAddress: accountAddress, - calldata: calldata, - ); - } else { - final calldata = - functionCallsToCalldataLegacy(functionCalls: functionCalls) + [nonce]; - broadcastedTxn = BroadcastedInvokeTxnV0( - type: 'INVOKE', - maxFee: defaultMaxFee, - version: version, - signature: signature, - nonce: nonce, - contractAddress: accountAddress, - entryPointSelector: getSelectorByName('__execute__'), - calldata: calldata, - ); + final calldata = functionCallsToCalldata( + functionCalls: functionCalls, + useLegacyCalldata: useLegacyCalldata, + ); + + switch (supportedTxVersion) { + case AccountSupportedTxVersion.v3: + broadcastedTxn = BroadcastedInvokeTxnV3( + type: 'INVOKE', + version: '0x3', + signature: signature, + nonce: nonce, + accountDeploymentData: accountDeploymentData!, + calldata: calldata, + feeDataAvailabilityMode: feeDataAvailabilityMode!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode!, + paymasterData: paymasterData!, + resourceBounds: resourceBounds, + senderAddress: accountAddress, + tip: tip!.toHexString(), + ); + break; + case AccountSupportedTxVersion.v1: + broadcastedTxn = BroadcastedInvokeTxnV1( + type: 'INVOKE', + maxFee: defaultMaxFee, + version: version, + signature: signature, + nonce: nonce, + senderAddress: accountAddress, + calldata: calldata); + break; + default: + final calldata = + functionCallsToCalldataLegacy(functionCalls: functionCalls) + + [nonce]; + broadcastedTxn = BroadcastedInvokeTxnV0( + type: 'INVOKE', + maxFee: defaultMaxFee, + version: version, + signature: signature, + nonce: nonce, + contractAddress: accountAddress, + entryPointSelector: getSelectorByName('__execute__'), + calldata: calldata); } - final maxFee = await getmax_feeFromBroadcastedTxn( - broadcastedTxn, - blockId, - feeMultiplier, - ); + final estimatedMaxFees = await getMaxFeeFromBroadcastedTxn( + broadcastedTxn, blockId, feeMultiplier); - return maxFee; + return estimatedMaxFees; } /// Get Estimate max fee for Declare Tx - Future getEstimatemax_feeForDeclareTx({ + Future getEstimateMaxFeeForDeclareTx({ BlockId blockId = BlockId.latest, - String version = '0x1', - required Felt nonce, + Felt? nonce, required ICompiledContract compiledContract, double feeMultiplier = 1.2, + // needed for v3 + BigInt? compiledClassHash, + CASMCompiledContract? casmCompiledContract, + bool? useSTRKFee = false, + // These values are for future use (until then they are empty or zero) + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode = 'L1', + String? nonceDataAvailabilityMode = 'L1', }) async { BroadcastedTxn broadcastedTxn; - if (compiledContract is DeprecatedCompiledContract) { + nonce = nonce ?? await getNonce(); + Map resourceBounds = + getResourceBounds(Felt.zero, Felt.zero, Felt.zero, Felt.zero); + + if (useSTRKFee!) { + // These values are for future use (until then they are empty or zero) + accountDeploymentData ??= []; + paymasterData ??= []; + tip ??= Felt.zero; + + final signature = signer.signDeclareTransactionV3( + compiledContract: compiledContract as CompiledContract, + senderAddress: accountAddress, + chainId: chainId, + nonce: nonce, + compiledClassHash: Felt(compiledClassHash!), + casmCompiledContract: casmCompiledContract, + resourceBounds: resourceBounds, + accountDeploymentData: accountDeploymentData, + paymasterData: paymasterData, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode!); + + broadcastedTxn = BroadcastedDeclareTxnV3( + type: 'DECLARE', + version: '0x3', + signature: signature, + nonce: nonce, + accountDeploymentData: accountDeploymentData, + compiledClassHash: Felt(compiledClassHash), + contractClass: compiledContract.flatten(), + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, + paymasterData: paymasterData, + resourceBounds: resourceBounds, + senderAddress: accountAddress, + tip: tip.toHexString(), + ); + } else if (compiledContract is DeprecatedCompiledContract) { final signature = signer.signDeclareTransactionV1( compiledContract: compiledContract, senderAddress: accountAddress, @@ -123,72 +231,174 @@ class Account { nonce: nonce, ); broadcastedTxn = BroadcastedDeclareTxn( + type: 'DECLARE', + maxFee: defaultMaxFee, + version: '0x1', + signature: signature, + nonce: nonce, + contractClass: compiledContract.compress(), + senderAddress: accountAddress); + } else { + final signature = signer.signDeclareTransactionV2( + compiledContract: compiledContract as CompiledContract, + senderAddress: accountAddress, + chainId: chainId, + nonce: nonce, + compiledClassHash: compiledClassHash, + casmCompiledContract: casmCompiledContract, + maxFee: Felt.zero, + ); + broadcastedTxn = BroadcastedDeclareTxnV2( type: 'DECLARE', - maxFee: defaultMaxFee, - version: version, + max_fee: Felt.zero + .toHexString(), // As String because devnet only supports 16 bytes and not a Felt for maxfee in declare tx + version: '0x2', signature: signature, nonce: nonce, - contractClass: compiledContract.compress(), + compiledClassHash: Felt(compiledClassHash!), + contractClass: compiledContract.flatten(), senderAddress: accountAddress, ); - } else { - // V2 of BroadcastedDeclareTxn is not supported yet - return defaultMaxFee; } - final maxFee = await getmax_feeFromBroadcastedTxn( - broadcastedTxn, - blockId, - feeMultiplier, - ); + final estimatedMaxFees = await getMaxFeeFromBroadcastedTxn( + broadcastedTxn, blockId, feeMultiplier); - return maxFee; + return estimatedMaxFees; } /// Get Estimate max fee for Deploy Tx - Future getEstimatemax_feeForDeployAccountTx({ + Future getEstimateMaxFeeForDeployAccountTx({ BlockId blockId = BlockId.latest, String version = '0x1', - required Felt nonce, + Felt? nonce, required List constructorCalldata, - required Felt contractAddressSalt, + Felt? contractAddressSalt, required Felt classHash, double feeMultiplier = 1.2, + required Signer signer, + required Provider provider, + bool? useSTRKFee = false, + Felt? contractAddress, + // These values are for future use (until then they are empty or zero) + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode = 'L1', + String? nonceDataAvailabilityMode = 'L1', }) async { - final signature = signer.signDeployAccountTransactionV1( - contractAddressSalt: contractAddressSalt, - classHash: classHash, - constructorCalldata: constructorCalldata, - chainId: chainId, - nonce: nonce, - ); + BroadcastedTxn broadcastedTxn; + nonce = nonce ?? defaultNonce; + contractAddressSalt = contractAddressSalt ?? signer.publicKey; + Map resourceBounds = + getResourceBounds(Felt.zero, Felt.zero, Felt.zero, Felt.zero); + + if (useSTRKFee!) { + contractAddress = contractAddress ?? Felt.zero; + // These values are for future use (until then they are empty or zero) + paymasterData ??= []; + tip ??= Felt.zero; + + final signature = signer.signDeployAccountTransactionV3( + contractAddress: contractAddress, + resourceBounds: resourceBounds, + tip: tip, + paymasterData: paymasterData, + chainId: chainId, + nonce: nonce, + feeDataAvailabilityMode: feeDataAvailabilityMode!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode!, + constructorCalldata: constructorCalldata, + classHash: classHash, + contractAddressSalt: contractAddressSalt, + ); - final broadcastedTxn = BroadcastedDeployAccountTxn( - type: 'DEPLOY_ACCOUNT', - version: version, - contractAddressSalt: contractAddressSalt, - constructorCalldata: constructorCalldata, - maxFee: defaultMaxFee, - nonce: nonce, - signature: signature, - classHash: classHash, - ); + broadcastedTxn = BroadcastedDeployAccountTxnV3( + type: 'DEPLOY_ACCOUNT', + version: '0x3', + signature: signature, + nonce: nonce, + classHash: classHash, + constructorCalldata: constructorCalldata, + contractAddressSalt: contractAddressSalt, + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, + paymasterData: paymasterData, + resourceBounds: resourceBounds, + tip: tip.toHexString(), + ); + } else { + final signature = signer.signDeployAccountTransactionV1( + contractAddressSalt: contractAddressSalt, + classHash: classHash, + constructorCalldata: constructorCalldata, + chainId: chainId, + nonce: nonce, + ); + + broadcastedTxn = BroadcastedDeployAccountTxn( + type: 'DEPLOY_ACCOUNT', + version: version, + contractAddressSalt: contractAddressSalt, + constructorCalldata: constructorCalldata, + maxFee: defaultMaxFee, + nonce: nonce, + signature: signature, + classHash: classHash); + } + + final estimatedMaxFees = await getMaxFeeFromBroadcastedTxn( + broadcastedTxn, blockId, feeMultiplier); + + return estimatedMaxFees; + } + + /// Get Estimate max fee for Deploy Tx + Future getEstimateMaxFeeForDeployTx({ + required Felt classHash, + Felt? salt, + Felt? unique, + List? calldata, + bool? useSTRKFee = false, + // These values are for future use (until then they are empty or zero) + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode = 'L1', + String? nonceDataAvailabilityMode = 'L1', + }) async { + salt ??= getSalt(); + unique ??= Felt.fromInt(0); + calldata ??= []; + final List params = [ + classHash, + salt, + unique, + Felt.fromInt(calldata.length), + ...calldata, + ]; - final maxFee = await getmax_feeFromBroadcastedTxn( - broadcastedTxn, - blockId, - feeMultiplier, + final maxFee = await account0.getEstimateMaxFeeForInvokeTx( + functionCalls: [ + FunctionCall( + contractAddress: udcAddress, + entryPointSelector: getSelectorByName('deployContract'), + calldata: params, + ) + ], + useSTRKFee: useSTRKFee, + paymasterData: paymasterData, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode!, ); return maxFee; } - Future getmax_feeFromBroadcastedTxn( - BroadcastedTxn broadcastedTxn, - BlockId blockId, - double feeMultiplier, - ) async { - final estimateFeeRequest = EstimateFeeRequest( + Future getMaxFeeFromBroadcastedTxn( + BroadcastedTxn broadcastedTxn, + BlockId blockId, + double feeMultiplier) async { + EstimateFeeRequest estimateFeeRequest = EstimateFeeRequest( request: [broadcastedTxn], blockId: blockId, simulation_flags: [], @@ -203,45 +413,96 @@ class Account { error: (error) => throw Exception(error.message), ); - final overallFee = Felt.fromHexString(fee.overallFee); - //multiply by feeMultiplier - final maxFee = - Felt.fromDouble(overallFee.toBigInt().toDouble() * feeMultiplier); - - return maxFee; + //calculated as described in https://community.starknet.io/t/starknet-v0-13-1-pre-release-notes/113664 + //and multiplied by feeMultiplier + final overallFee = + BigInt.parse(fee.overallFee.replaceFirst('0x', ''), radix: 16) + .toDouble(); + final gasPrice = + BigInt.parse(fee.gasPrice.replaceFirst('0x', ''), radix: 16).toDouble(); + final Felt maxAmountFee = + Felt.fromDouble(feeMultiplier * overallFee / gasPrice); + final Felt maxPricePerUnit = Felt.fromDouble(feeMultiplier * gasPrice); + final Felt maxFee = Felt.fromDouble(feeMultiplier * overallFee); + + return FeeEstimations( + maxAmount: maxAmountFee, + maxPricePerUnit: maxPricePerUnit, + unit: fee.unit, + maxFee: maxFee, + ); } /// Call account contract `__execute__` with given [functionCalls] - Future execute({ - required List functionCalls, - bool useLegacyCalldata = false, - bool incrementNonceIfNonceRelatedError = true, - int maxAttempts = 5, - Felt? max_fee, - Felt? nonce, - }) async { + Future execute( + {required List functionCalls, + bool useLegacyCalldata = false, + bool incrementNonceIfNonceRelatedError = true, + int maxAttempts = 5, + Felt? max_fee, + Felt? nonce, + // needed for v3 + bool? useSTRKFee, + Felt? l1MaxAmount, + Felt? l1MaxPricePerUnit, + Felt? l2MaxAmount, + Felt? l2MaxPricePerUnit, + // These values are for future use (until then they are empty or zero) + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode, + String? nonceDataAvailabilityMode}) async { nonce = nonce ?? await getNonce(); - stdout.writeln(nonce); - max_fee = max_fee ?? - await getEstimatemax_feeForInvokeTx( - functionCalls: functionCalls, - useLegacyCalldata: useLegacyCalldata, - nonce: nonce, - version: supportedTxVersion == AccountSupportedTxVersion.v1 - ? '0x1' - : '0x0', - ); + useSTRKFee ??= false; + accountDeploymentData ??= []; + paymasterData ??= []; + tip ??= Felt.zero; + feeDataAvailabilityMode ??= 'L1'; + nonceDataAvailabilityMode ??= 'L1'; + l1MaxAmount ??= Felt.zero; + l1MaxPricePerUnit ??= Felt.zero; + l2MaxAmount ??= Felt.zero; + l2MaxPricePerUnit ??= Felt.zero; + Map resourceBounds = getResourceBounds( + l1MaxAmount, l1MaxPricePerUnit, l2MaxAmount, l2MaxPricePerUnit); + + if (useSTRKFee) { + supportedTxVersion = AccountSupportedTxVersion.v3; + } else { + //maxFee only supported in v0 and v1 + max_fee = max_fee ?? + (await getEstimateMaxFeeForInvokeTx( + functionCalls: functionCalls, + useLegacyCalldata: useLegacyCalldata, + nonce: nonce, + version: supportedTxVersion == AccountSupportedTxVersion.v1 + ? '0x1' + : '0x0')) + .maxFee; + } - for (var attempt = 0; attempt < maxAttempts; attempt++) { + for (int attempt = 0; attempt < maxAttempts; attempt++) { final signature = signer.signTransactions( transactions: functionCalls, contractAddress: accountAddress, - version: supportedTxVersion == AccountSupportedTxVersion.v1 ? 1 : 0, + version: supportedTxVersion == AccountSupportedTxVersion.v3 + ? 3 + : supportedTxVersion == AccountSupportedTxVersion.v1 + ? 1 + : 0, chainId: chainId, + entryPointSelectorName: '__execute__', nonce: nonce!, useLegacyCalldata: useLegacyCalldata, maxFee: max_fee, + resourceBounds: resourceBounds, + accountDeploymentData: accountDeploymentData, + paymasterData: paymasterData, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, ); InvokeTransactionResponse response; @@ -258,7 +519,7 @@ class Account { contractAddress: accountAddress, entryPointSelector: getSelectorByName('__execute__'), calldata: calldata, - maxFee: max_fee, + maxFee: max_fee!, signature: signature, ), ), @@ -276,8 +537,31 @@ class Account { senderAddress: accountAddress, calldata: calldata, signature: signature, - maxFee: max_fee, + maxFee: max_fee!, + nonce: nonce!, + ), + ), + ); + break; + case AccountSupportedTxVersion.v3: + final calldata = functionCallsToCalldata( + functionCalls: functionCalls, + useLegacyCalldata: useLegacyCalldata, + ); + + response = await provider.addInvokeTransaction( + InvokeTransactionRequest( + invokeTransaction: InvokeTransactionV3( + accountDeploymentData: accountDeploymentData, + calldata: calldata, + feeDataAvailabilityMode: feeDataAvailabilityMode, nonce: nonce!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, + paymasterData: paymasterData, + resourceBounds: resourceBounds, + senderAddress: accountAddress, + signature: signature, + tip: tip.toHexString(), ), ), ); @@ -329,56 +613,119 @@ class Account { // needed for v2 BigInt? compiledClassHash, CASMCompiledContract? casmCompiledContract, + // needed for v3 + bool? useSTRKFee = false, + Felt? l1MaxAmount, + Felt? l1MaxPricePerUnit, + Felt? l2MaxAmount, + Felt? l2MaxPricePerUnit, + // These values are for future use (until then they are empty or zero) + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode = 'L1', + String? nonceDataAvailabilityMode = 'L1', }) async { nonce = nonce ?? await getNonce(); - max_fee = max_fee ?? - await getEstimatemax_feeForDeclareTx( - nonce: nonce, - compiledContract: compiledContract, - ); - if (compiledContract is DeprecatedCompiledContract) { - final signature = signer.signDeclareTransactionV1( - compiledContract: compiledContract, - senderAddress: accountAddress, - chainId: chainId, - nonce: nonce, - maxFee: max_fee, - ); - return provider.addDeclareTransaction( - DeclareTransactionRequest( - declareTransaction: DeclareTransactionV1( - max_fee: max_fee, - nonce: nonce, - contractClass: compiledContract.compress(), - senderAddress: accountAddress, - signature: signature, - ), - ), - ); - } else { - final signature = signer.signDeclareTransactionV2( + if (useSTRKFee!) { + // These values are for future use (until then they are empty or zero) + accountDeploymentData ??= []; + paymasterData ??= []; + tip ??= Felt.zero; + l1MaxAmount ??= Felt.zero; + l1MaxPricePerUnit ??= Felt.zero; + l2MaxAmount ??= Felt.zero; + l2MaxPricePerUnit ??= Felt.zero; + Map resourceBounds = getResourceBounds( + l1MaxAmount, l1MaxPricePerUnit, l2MaxAmount, l2MaxPricePerUnit); + + final signature = signer.signDeclareTransactionV3( compiledContract: compiledContract as CompiledContract, senderAddress: accountAddress, chainId: chainId, nonce: nonce, - compiledClassHash: compiledClassHash, + compiledClassHash: Felt(compiledClassHash!), casmCompiledContract: casmCompiledContract, - maxFee: max_fee, + resourceBounds: resourceBounds, + accountDeploymentData: accountDeploymentData, + paymasterData: paymasterData, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode!, ); return provider.addDeclareTransaction( DeclareTransactionRequest( - declareTransaction: DeclareTransactionV2( - max_fee: max_fee, - nonce: nonce, + declareTransaction: DeclareTransactionV3( + accountDeploymentData: accountDeploymentData, + compiledClassHash: Felt(compiledClassHash), contractClass: compiledContract.flatten(), - compiledClassHash: Felt(compiledClassHash!), + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonce: nonce, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, + paymasterData: paymasterData, + resourceBounds: resourceBounds, senderAddress: accountAddress, signature: signature, + tip: tip.toHexString(), ), ), ); + } else { + if (compiledContract is DeprecatedCompiledContract) { + max_fee = max_fee ?? defaultMaxFee; + final signature = signer.signDeclareTransactionV1( + compiledContract: compiledContract, + senderAddress: accountAddress, + chainId: chainId, + nonce: nonce, + maxFee: max_fee, + ); + + return provider.addDeclareTransaction( + DeclareTransactionRequest( + declareTransaction: DeclareTransactionV1( + max_fee: max_fee, + nonce: nonce, + contractClass: compiledContract.compress(), + senderAddress: accountAddress, + signature: signature, + ), + ), + ); + } else { + max_fee = max_fee ?? + (await getEstimateMaxFeeForDeclareTx( + nonce: nonce, + compiledContract: compiledContract, + compiledClassHash: compiledClassHash, + casmCompiledContract: casmCompiledContract)) + .maxFee; + final signature = signer.signDeclareTransactionV2( + compiledContract: compiledContract as CompiledContract, + senderAddress: accountAddress, + chainId: chainId, + nonce: nonce, + compiledClassHash: compiledClassHash, + casmCompiledContract: casmCompiledContract, + maxFee: max_fee, + ); + + return provider.addDeclareTransaction( + DeclareTransactionRequest( + declareTransaction: DeclareTransactionV2( + max_fee: max_fee + .toHexString(), // As Hex String because devnet only supports 16 bytes and not a Felt for maxfee in declare tx + nonce: nonce, + contractClass: compiledContract.flatten(), + compiledClassHash: Felt(compiledClassHash!), + senderAddress: accountAddress, + signature: signature, + ), + ), + ); + } } } @@ -391,13 +738,40 @@ class Account { Felt? salt, Felt? unique, List? calldata, + Felt? max_fee, + // needed for v3 + bool? useSTRKFee = false, + Felt? l1MaxAmount, + Felt? l1MaxPricePerUnit, + Felt? l2MaxAmount, + Felt? l2MaxPricePerUnit, + // These values are for future use (until then they are empty or zero) + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode, + String? nonceDataAvailabilityMode, }) async { - salt ??= Felt.fromInt(0); + salt ??= getSalt(); unique ??= Felt.fromInt(0); calldata ??= []; - final txHash = await Udc(account: this, address: udcAddress) - .deployContract(classHash, salt, unique, calldata); + final txHash = await Udc(account: this, address: udcAddress).deployContract( + classHash, + salt, + unique, + calldata, + max_fee, + useSTRKFee, + l1MaxAmount, + l1MaxPricePerUnit, + l2MaxAmount, + l2MaxPricePerUnit, + accountDeploymentData, + paymasterData, + tip, + feeDataAvailabilityMode, + nonceDataAvailabilityMode); final txReceipt = await account0.provider .getTransactionReceipt(Felt.fromHexString(txHash)); @@ -415,8 +789,10 @@ class Account { Future send({ required Felt recipient, required Uint256 amount, + bool useSTRKtoken = false, }) async { - final txHash = await ERC20(account: this, address: ethAddress) + final txHash = await ERC20( + account: this, address: useSTRKtoken ? strkAddress : ethAddress) .transfer(recipient, amount); return txHash; } @@ -448,6 +824,18 @@ class Account { Felt? contractAddressSalt, Felt? max_fee, Felt? nonce, + bool? useSTRKFee = false, + Felt? l1MaxAmount, + Felt? l1MaxPricePerUnit, + Felt? l2MaxAmount, + Felt? l2MaxPricePerUnit, + Felt? contractAddress, + // These values are for future use (until then they are empty or zero) + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode = 'L1', + String? nonceDataAvailabilityMode = 'L1', }) async { final chainId = (await provider.chainId()).when( result: Felt.fromHexString, @@ -458,27 +846,70 @@ class Account { nonce = nonce ?? defaultNonce; contractAddressSalt = contractAddressSalt ?? signer.publicKey; - final signature = signer.signDeployAccountTransactionV1( - contractAddressSalt: contractAddressSalt, - classHash: classHash, - constructorCalldata: constructorCalldata, - chainId: chainId, - nonce: nonce, - maxFee: max_fee, - ); + if (useSTRKFee!) { + contractAddress = contractAddress ?? Felt.zero; + l1MaxAmount ??= Felt.zero; + l1MaxPricePerUnit ??= Felt.zero; + l2MaxAmount ??= Felt.zero; + l2MaxPricePerUnit ??= Felt.zero; + accountDeploymentData ??= []; + paymasterData ??= []; + tip ??= Felt.zero; + Map resourceBounds = getResourceBounds( + l1MaxAmount, l1MaxPricePerUnit, l2MaxAmount, l2MaxPricePerUnit); + + final signature = signer.signDeployAccountTransactionV3( + contractAddress: contractAddress, + resourceBounds: resourceBounds, + tip: tip, + paymasterData: paymasterData, + chainId: chainId, + nonce: nonce, + feeDataAvailabilityMode: feeDataAvailabilityMode!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode!, + constructorCalldata: constructorCalldata, + classHash: classHash, + contractAddressSalt: contractAddressSalt, + ); + return provider.addDeployAccountTransaction( + DeployAccountTransactionRequest( + deployAccountTransaction: DeployAccountTransactionV3( + classHash: classHash, + constructorCalldata: constructorCalldata, + contractAddressSalt: contractAddressSalt, + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonce: nonce, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, + paymasterData: paymasterData, + resourceBounds: resourceBounds, + signature: signature, + tip: tip.toHexString(), + ), + ), + ); + } else { + final signature = signer.signDeployAccountTransactionV1( + contractAddressSalt: contractAddressSalt, + classHash: classHash, + constructorCalldata: constructorCalldata, + chainId: chainId, + nonce: nonce, + maxFee: max_fee, + ); - return provider.addDeployAccountTransaction( - DeployAccountTransactionRequest( - deployAccountTransaction: DeployAccountTransactionV1( - classHash: classHash, - signature: signature, - maxFee: max_fee, - nonce: nonce, - contractAddressSalt: contractAddressSalt, - constructorCalldata: constructorCalldata, + return provider.addDeployAccountTransaction( + DeployAccountTransactionRequest( + deployAccountTransaction: DeployAccountTransactionV1( + classHash: classHash, + signature: signature, + maxFee: max_fee, + nonce: nonce, + contractAddressSalt: contractAddressSalt, + constructorCalldata: constructorCalldata, + ), ), - ), - ); + ); + } } /// Retrieves an account from given [mnemonic], [provider] and [chainId] @@ -508,6 +939,38 @@ class Account { chainId: chainId, ); } + + // Function to generate a resourceBounds map from a maxAmount and a maxPricePerUnit + static Map getResourceBounds(Felt l1MaxAmount, + Felt l1MaxPricePerUnit, Felt l2MaxAmount, Felt l2MaxPricePerUnit) { + return { + 'l1_gas': ResourceBounds( + maxAmount: l1MaxAmount.toHexString(), + maxPricePerUnit: l1MaxPricePerUnit.toHexString()), + 'l2_gas': ResourceBounds( + maxAmount: l2MaxAmount.toHexString(), + maxPricePerUnit: l2MaxPricePerUnit.toHexString()), + }; + } + + /// Generates a random salt for contract deployment + /// TODO: Consider using a more secure random number generator if needed + static Felt getSalt() { + // In the secure_random package, the random generation is multiplied many times + // https://github.com/mingchen/secure_random/blob/master/lib/secure_random.dart + // It *should* improve randomness, but it is still not 100% bullet proof + + // On the other hand, xrandom seems to be a better implementation: + // https://pub.dev/packages/xrandom + final rand = Random.secure(); + final bytes = [for (int i = 0; i < 32; i++) rand.nextInt(256)]; + final randomBigInt = bytes.fold( + BigInt.zero, + (prev, byte) => (prev << 8) | BigInt.from(byte), + ); + final salt = Felt(randomBigInt % Felt.prime); + return salt; + } } Account getAccount({ diff --git a/packages/starknet/lib/src/contract/contract.dart b/packages/starknet/lib/src/contract/contract.dart index d8d9143c..d079c66f 100644 --- a/packages/starknet/lib/src/contract/contract.dart +++ b/packages/starknet/lib/src/contract/contract.dart @@ -1,5 +1,5 @@ +import 'package:starknet/starknet.dart'; import 'package:starknet_provider/starknet_provider.dart'; -import '../../starknet.dart'; class Contract { final Account account; @@ -49,12 +49,21 @@ class Contract { } /// Execute contract given [selector] with [calldata] - Future execute( - String selector, - List calldata, - ) async { - final maxFee = defaultMaxFee; - + Future execute({ + required String selector, + required List calldata, + Felt? maxFee, + bool? useSTRKFee, + Felt? l1MaxAmount, + Felt? l1MaxPricePerUnit, + Felt? l2MaxAmount, + Felt? l2MaxPricePerUnit, + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode, + String? nonceDataAvailabilityMode, + }) async { final trx = await account.execute( functionCalls: [ FunctionCall( @@ -64,6 +73,16 @@ class Contract { ), ], max_fee: maxFee, + useSTRKFee: useSTRKFee, + l1MaxAmount: l1MaxAmount, + l1MaxPricePerUnit: l1MaxPricePerUnit, + l2MaxAmount: l2MaxAmount, + l2MaxPricePerUnit: l2MaxPricePerUnit, + accountDeploymentData: accountDeploymentData, + paymasterData: paymasterData, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, ); return trx; } diff --git a/packages/starknet/lib/src/contract/erc20.dart b/packages/starknet/lib/src/contract/erc20.dart index eeb3134e..588ea2ec 100644 --- a/packages/starknet/lib/src/contract/erc20.dart +++ b/packages/starknet/lib/src/contract/erc20.dart @@ -54,8 +54,8 @@ class ERC20 extends Contract { /// Returns transaction hash. Future transfer(Felt recipient, Uint256 value) async { final InvokeTransactionResponse trx = await execute( - "transfer", - [recipient, value.low, value.high], + selector: "transfer", + calldata: [recipient, value.low, value.high], ); return (trx.when( result: (result) { @@ -73,8 +73,8 @@ class ERC20 extends Contract { /// Returns transaction hash. Future transferFrom(Felt from, Felt to, Uint256 value) async { final InvokeTransactionResponse trx = await execute( - "transferFrom", - [from, to, value.low, value.high], + selector: "transferFrom", + calldata: [from, to, value.low, value.high], ); return (trx.when( result: (result) { @@ -91,15 +91,15 @@ class ERC20 extends Contract { /// Returns transaction hash. Future approve(Felt spender, Uint256 amount) async { final InvokeTransactionResponse trx = await execute( - "approve", - [spender, amount.low, amount.high], + selector: "approve", + calldata: [spender, amount.low, amount.high], ); return (trx.when( result: (result) { return result.transaction_hash; }, error: (error) { - throw Exception("Error transfer (${error.code}): ${error.message}"); + throw Exception("Error approve (${error.code}): ${error.message}"); }, )); } diff --git a/packages/starknet/lib/src/contract/model/compiled_class_hash.dart b/packages/starknet/lib/src/contract/model/compiled_class_hash.dart new file mode 100644 index 00000000..8a61b387 --- /dev/null +++ b/packages/starknet/lib/src/contract/model/compiled_class_hash.dart @@ -0,0 +1,190 @@ +// `bytecode_segment_lengths` was added since Sierra 1.5.0 and changed hash calculation. +// This implementation here is basically based in +// `cairo-lang` v0.13.1, starknet-py and starkli implementations. +// https://github.com/starkware-libs/cairo/pull/4515 +import 'package:starknet/src/crypto/poseidon.dart'; + +typedef NestedIntList = dynamic; + +abstract class BytecodeSegmentStructure { + BigInt hash(); + + List bytecodeWithSkippedSegments() { + List res = []; + _addBytecodeWithSkippedSegments(res); + return res; + } + + void _addBytecodeWithSkippedSegments(List data); +} + +class BytecodeLeaf extends BytecodeSegmentStructure { + final List data; + + BytecodeLeaf(this.data); + + @override + BigInt hash() { + return (poseidonHasher.hashMany(data.map((e) => e).toList())); + } + + @override + void _addBytecodeWithSkippedSegments(List data) { + data.addAll(this.data); + } +} + +class BytecodeSegmentedNode extends BytecodeSegmentStructure { + final List segments; + + BytecodeSegmentedNode(this.segments); + + @override + BigInt hash() { + List hashInputs = []; + for (var node in segments) { + hashInputs.add(node.segmentLength); + hashInputs.add(node.innerStructure.hash()); + } + return (poseidonHasher.hashMany(hashInputs.map((e) => e).toList())) + + BigInt.from(1); + } + + @override + void _addBytecodeWithSkippedSegments(List data) { + for (var segment in segments) { + if (segment.isUsed) { + segment.innerStructure._addBytecodeWithSkippedSegments(data); + } else { + data.add(BigInt.from(-1)); + data.addAll( + List.filled(segment.segmentLength.toInt() - 1, BigInt.from(-2))); + } + } + } +} + +class BytecodeSegment { + final BigInt segmentLength; + final bool isUsed; + final BytecodeSegmentStructure innerStructure; + + BytecodeSegment({ + required this.segmentLength, + required this.isUsed, + required this.innerStructure, + }) { + assert(segmentLength > BigInt.from(0), + 'Invalid segment length: $segmentLength.'); + } +} + +BigInt computeCompiledClassHashInner( + List bytecode, NestedIntList bytecodeSegmentLengths) { + BigInt bytecodeHash = (createBytecodeSegmentStructure( + bytecode: bytecode, + bytecodeSegmentLengths: bytecodeSegmentLengths, + visitedPcs: null, + )).hash(); + + return bytecodeHash; +} + +BytecodeSegmentStructure createBytecodeSegmentStructure({ + required List bytecode, + required NestedIntList bytecodeSegmentLengths, + List? visitedPcs, +}) { + List revVisitedPcs = (visitedPcs ?? + List.generate(bytecode.length, (i) => BigInt.from(i))) + .reversed + .toList(); + + var result = _createBytecodeSegmentStructureInner( + bytecode: bytecode, + bytecodeSegmentLengths: bytecodeSegmentLengths, + visitedPcs: revVisitedPcs, + bytecodeOffset: BigInt.from(0), + ); + + assert(result.totalLen == BigInt.from(bytecode.length), + 'Invalid length bytecode segment structure: ${result.totalLen}. Bytecode length: ${bytecode.length}.'); + assert(revVisitedPcs.isEmpty, 'PC ${revVisitedPcs.last} is out of range.'); + + return result.structure; +} + +_BytecodeSegmentStructureResult _createBytecodeSegmentStructureInner({ + required List bytecode, + required NestedIntList bytecodeSegmentLengths, + required List visitedPcs, + required BigInt bytecodeOffset, +}) { + if (bytecodeSegmentLengths is int) { + BigInt segmentEnd = bytecodeOffset + BigInt.from(bytecodeSegmentLengths); + + while (visitedPcs.isNotEmpty && + bytecodeOffset <= visitedPcs.last && + visitedPcs.last < segmentEnd) { + visitedPcs.removeLast(); + } + + return _BytecodeSegmentStructureResult( + structure: BytecodeLeaf( + bytecode.sublist(bytecodeOffset.toInt(), segmentEnd.toInt())), + totalLen: BigInt.from(bytecodeSegmentLengths), + ); + } + + if (bytecodeSegmentLengths is List) { + List res = []; + BigInt totalLen = BigInt.from(0); + + for (var item in bytecodeSegmentLengths) { + BigInt? visitedPcBefore = visitedPcs.isNotEmpty ? visitedPcs.last : null; + + var currentResult = _createBytecodeSegmentStructureInner( + bytecode: bytecode, + bytecodeSegmentLengths: item, + visitedPcs: visitedPcs, + bytecodeOffset: bytecodeOffset, + ); + + BigInt? visitedPcAfter = visitedPcs.isNotEmpty ? visitedPcs.last : null; + bool isUsed = visitedPcAfter != visitedPcBefore; + + if (isUsed && + visitedPcBefore != null && + visitedPcBefore != bytecodeOffset) { + throw ArgumentError( + 'Invalid segment structure: PC $visitedPcBefore was visited, ' + 'but the beginning of the segment ($bytecodeOffset) was not.', + ); + } + + res.add(BytecodeSegment( + segmentLength: currentResult.totalLen, + isUsed: isUsed, + innerStructure: currentResult.structure, + )); + + bytecodeOffset += currentResult.totalLen; + totalLen += currentResult.totalLen; + } + + return _BytecodeSegmentStructureResult( + structure: BytecodeSegmentedNode(res), + totalLen: totalLen, + ); + } + + throw ArgumentError('Invalid bytecodeSegmentLengths type'); +} + +class _BytecodeSegmentStructureResult { + final BytecodeSegmentStructure structure; + final BigInt totalLen; + + _BytecodeSegmentStructureResult( + {required this.structure, required this.totalLen}); +} diff --git a/packages/starknet/lib/src/contract/model/compiled_contract.dart b/packages/starknet/lib/src/contract/model/compiled_contract.dart index 5ac38463..3a77d0f8 100644 --- a/packages/starknet/lib/src/contract/model/compiled_contract.dart +++ b/packages/starknet/lib/src/contract/model/compiled_contract.dart @@ -6,6 +6,7 @@ import 'package:starknet_provider/starknet_provider.dart'; import '../../../starknet.dart'; import '../../crypto/poseidon.dart'; +import './compiled_class_hash.dart'; part 'compiled_contract.freezed.dart'; part 'compiled_contract.g.dart'; @@ -159,6 +160,7 @@ class CASMCompiledContract required List bytecode, required CASMEntryPointsByType entryPointsByType, required String compilerVersion, + required List bytecodeSegmentLengths, }) = _CASMCompiledContract; factory CASMCompiledContract.fromJson(Map json) => @@ -221,14 +223,26 @@ class CASMCompiledContract @override BigInt classHash() { final elements = []; - if (compilerVersion == '1.1.0') { + //add COMPILED_CLASS_V1 element when compilerVersion >= 1.1.0 + final version = + compilerVersion.split('.').map((e) => int.parse(e)).toList(); + if (version[0] > 1 || (version[0] == 1 && version[1] >= 1)) { elements.add(Felt.fromString(COMPILED_CLASS_V1).toBigInt()); } final hashes = _entrypointsHashes(); elements.add(hashes.externals); elements.add(hashes.l1handlers); elements.add(hashes.constructors); - elements.add(_byteCodeHash()); + // `bytecode_segment_lengths` was added since Sierra 1.5.0 and changed hash calculation. + // This implementation here is basically based in + // `cairo-lang` v0.13.1, starknet-py and starkli implementations. + // https://github.com/starkware-libs/cairo/pull/4515 + if (bytecodeSegmentLengths.isEmpty) { + elements.add(_byteCodeHash()); + } else { + elements + .add(computeCompiledClassHashInner(bytecode, bytecodeSegmentLengths)); + } return poseidonHasher.hashMany(elements); } } diff --git a/packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart b/packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart index ced87ecf..76a547b6 100644 --- a/packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart +++ b/packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart @@ -26,8 +26,12 @@ mixin _$SierraCompiledContract { String get contractClassVersion => throw _privateConstructorUsedError; List get abi => throw _privateConstructorUsedError; + /// Serializes this SierraCompiledContract to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraCompiledContract + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraCompiledContractCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -58,6 +62,8 @@ class _$SierraCompiledContractCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraCompiledContract + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -86,6 +92,8 @@ class _$SierraCompiledContractCopyWithImpl<$Res, ) as $Val); } + /// Create a copy of SierraCompiledContract + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $EntryPointsByTypeCopyWith<$Res> get entryPointsByType { @@ -124,6 +132,8 @@ class __$$SierraCompiledContractImplCopyWithImpl<$Res> $Res Function(_$SierraCompiledContractImpl) _then) : super(_value, _then); + /// Create a copy of SierraCompiledContract + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -207,7 +217,7 @@ class _$SierraCompiledContractImpl extends _SierraCompiledContract { const DeepCollectionEquality().equals(other._abi, _abi)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -216,7 +226,9 @@ class _$SierraCompiledContractImpl extends _SierraCompiledContract { contractClassVersion, const DeepCollectionEquality().hash(_abi)); - @JsonKey(ignore: true) + /// Create a copy of SierraCompiledContract + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraCompiledContractImplCopyWith<_$SierraCompiledContractImpl> @@ -251,8 +263,11 @@ abstract class _SierraCompiledContract extends SierraCompiledContract { String get contractClassVersion; @override List get abi; + + /// Create a copy of SierraCompiledContract + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraCompiledContractImplCopyWith<_$SierraCompiledContractImpl> get copyWith => throw _privateConstructorUsedError; } @@ -269,8 +284,12 @@ mixin _$FlattenSierraContractClass { String get contractClassVersion => throw _privateConstructorUsedError; String get abi => throw _privateConstructorUsedError; + /// Serializes this FlattenSierraContractClass to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of FlattenSierraContractClass + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $FlattenSierraContractClassCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -302,6 +321,8 @@ class _$FlattenSierraContractClassCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of FlattenSierraContractClass + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -330,6 +351,8 @@ class _$FlattenSierraContractClassCopyWithImpl<$Res, ) as $Val); } + /// Create a copy of FlattenSierraContractClass + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $EntryPointsByTypeCopyWith<$Res> get entryPointsByType { @@ -366,6 +389,8 @@ class __$$FlattenSierraClassImplCopyWithImpl<$Res> $Res Function(_$FlattenSierraClassImpl) _then) : super(_value, _then); + /// Create a copy of FlattenSierraContractClass + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -442,7 +467,7 @@ class _$FlattenSierraClassImpl implements _FlattenSierraClass { (identical(other.abi, abi) || other.abi == abi)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -451,7 +476,9 @@ class _$FlattenSierraClassImpl implements _FlattenSierraClass { contractClassVersion, abi); - @JsonKey(ignore: true) + /// Create a copy of FlattenSierraContractClass + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$FlattenSierraClassImplCopyWith<_$FlattenSierraClassImpl> get copyWith => @@ -484,8 +511,11 @@ abstract class _FlattenSierraClass implements FlattenSierraContractClass { String get contractClassVersion; @override String get abi; + + /// Create a copy of FlattenSierraContractClass + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$FlattenSierraClassImplCopyWith<_$FlattenSierraClassImpl> get copyWith => throw _privateConstructorUsedError; } @@ -500,9 +530,14 @@ mixin _$CASMCompiledContract { CASMEntryPointsByType get entryPointsByType => throw _privateConstructorUsedError; String get compilerVersion => throw _privateConstructorUsedError; + List get bytecodeSegmentLengths => throw _privateConstructorUsedError; + /// Serializes this CASMCompiledContract to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of CASMCompiledContract + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $CASMCompiledContractCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -516,7 +551,8 @@ abstract class $CASMCompiledContractCopyWith<$Res> { $Res call( {List bytecode, CASMEntryPointsByType entryPointsByType, - String compilerVersion}); + String compilerVersion, + List bytecodeSegmentLengths}); $CASMEntryPointsByTypeCopyWith<$Res> get entryPointsByType; } @@ -532,12 +568,15 @@ class _$CASMCompiledContractCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of CASMCompiledContract + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ Object? bytecode = null, Object? entryPointsByType = null, Object? compilerVersion = null, + Object? bytecodeSegmentLengths = null, }) { return _then(_value.copyWith( bytecode: null == bytecode @@ -552,9 +591,15 @@ class _$CASMCompiledContractCopyWithImpl<$Res, ? _value.compilerVersion : compilerVersion // ignore: cast_nullable_to_non_nullable as String, + bytecodeSegmentLengths: null == bytecodeSegmentLengths + ? _value.bytecodeSegmentLengths + : bytecodeSegmentLengths // ignore: cast_nullable_to_non_nullable + as List, ) as $Val); } + /// Create a copy of CASMCompiledContract + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $CASMEntryPointsByTypeCopyWith<$Res> get entryPointsByType { @@ -576,7 +621,8 @@ abstract class _$$CASMCompiledContractImplCopyWith<$Res> $Res call( {List bytecode, CASMEntryPointsByType entryPointsByType, - String compilerVersion}); + String compilerVersion, + List bytecodeSegmentLengths}); @override $CASMEntryPointsByTypeCopyWith<$Res> get entryPointsByType; @@ -590,12 +636,15 @@ class __$$CASMCompiledContractImplCopyWithImpl<$Res> $Res Function(_$CASMCompiledContractImpl) _then) : super(_value, _then); + /// Create a copy of CASMCompiledContract + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ Object? bytecode = null, Object? entryPointsByType = null, Object? compilerVersion = null, + Object? bytecodeSegmentLengths = null, }) { return _then(_$CASMCompiledContractImpl( bytecode: null == bytecode @@ -610,6 +659,10 @@ class __$$CASMCompiledContractImplCopyWithImpl<$Res> ? _value.compilerVersion : compilerVersion // ignore: cast_nullable_to_non_nullable as String, + bytecodeSegmentLengths: null == bytecodeSegmentLengths + ? _value._bytecodeSegmentLengths + : bytecodeSegmentLengths // ignore: cast_nullable_to_non_nullable + as List, )); } } @@ -620,8 +673,10 @@ class _$CASMCompiledContractImpl extends _CASMCompiledContract { _$CASMCompiledContractImpl( {required final List bytecode, required this.entryPointsByType, - required this.compilerVersion}) + required this.compilerVersion, + required final List bytecodeSegmentLengths}) : _bytecode = bytecode, + _bytecodeSegmentLengths = bytecodeSegmentLengths, super._(); factory _$CASMCompiledContractImpl.fromJson(Map json) => @@ -639,10 +694,18 @@ class _$CASMCompiledContractImpl extends _CASMCompiledContract { final CASMEntryPointsByType entryPointsByType; @override final String compilerVersion; + final List _bytecodeSegmentLengths; + @override + List get bytecodeSegmentLengths { + if (_bytecodeSegmentLengths is EqualUnmodifiableListView) + return _bytecodeSegmentLengths; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_bytecodeSegmentLengths); + } @override String toString() { - return 'CASMCompiledContract(bytecode: $bytecode, entryPointsByType: $entryPointsByType, compilerVersion: $compilerVersion)'; + return 'CASMCompiledContract(bytecode: $bytecode, entryPointsByType: $entryPointsByType, compilerVersion: $compilerVersion, bytecodeSegmentLengths: $bytecodeSegmentLengths)'; } @override @@ -654,18 +717,23 @@ class _$CASMCompiledContractImpl extends _CASMCompiledContract { (identical(other.entryPointsByType, entryPointsByType) || other.entryPointsByType == entryPointsByType) && (identical(other.compilerVersion, compilerVersion) || - other.compilerVersion == compilerVersion)); + other.compilerVersion == compilerVersion) && + const DeepCollectionEquality().equals( + other._bytecodeSegmentLengths, _bytecodeSegmentLengths)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, const DeepCollectionEquality().hash(_bytecode), entryPointsByType, - compilerVersion); + compilerVersion, + const DeepCollectionEquality().hash(_bytecodeSegmentLengths)); - @JsonKey(ignore: true) + /// Create a copy of CASMCompiledContract + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$CASMCompiledContractImplCopyWith<_$CASMCompiledContractImpl> @@ -683,9 +751,11 @@ class _$CASMCompiledContractImpl extends _CASMCompiledContract { abstract class _CASMCompiledContract extends CASMCompiledContract { factory _CASMCompiledContract( - {required final List bytecode, - required final CASMEntryPointsByType entryPointsByType, - required final String compilerVersion}) = _$CASMCompiledContractImpl; + {required final List bytecode, + required final CASMEntryPointsByType entryPointsByType, + required final String compilerVersion, + required final List bytecodeSegmentLengths}) = + _$CASMCompiledContractImpl; _CASMCompiledContract._() : super._(); factory _CASMCompiledContract.fromJson(Map json) = @@ -698,7 +768,12 @@ abstract class _CASMCompiledContract extends CASMCompiledContract { @override String get compilerVersion; @override - @JsonKey(ignore: true) + List get bytecodeSegmentLengths; + + /// Create a copy of CASMCompiledContract + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) _$$CASMCompiledContractImplCopyWith<_$CASMCompiledContractImpl> get copyWith => throw _privateConstructorUsedError; } @@ -716,8 +791,12 @@ mixin _$DeprecatedCompiledContract { List? get abi => throw _privateConstructorUsedError; + /// Serializes this DeprecatedCompiledContract to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of DeprecatedCompiledContract + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $DeprecatedCompiledContractCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -748,6 +827,8 @@ class _$DeprecatedCompiledContractCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of DeprecatedCompiledContract + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -771,6 +852,8 @@ class _$DeprecatedCompiledContractCopyWithImpl<$Res, ) as $Val); } + /// Create a copy of DeprecatedCompiledContract + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $DeprecatedCairoEntryPointsByTypeCopyWith<$Res> get entryPointsByType { @@ -809,6 +892,8 @@ class __$$DeprecatedCompiledContractImplCopyWithImpl<$Res> $Res Function(_$DeprecatedCompiledContractImpl) _then) : super(_value, _then); + /// Create a copy of DeprecatedCompiledContract + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -884,7 +969,7 @@ class _$DeprecatedCompiledContractImpl extends _DeprecatedCompiledContract { const DeepCollectionEquality().equals(other._abi, _abi)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -892,7 +977,9 @@ class _$DeprecatedCompiledContractImpl extends _DeprecatedCompiledContract { entryPointsByType, const DeepCollectionEquality().hash(_abi)); - @JsonKey(ignore: true) + /// Create a copy of DeprecatedCompiledContract + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeprecatedCompiledContractImplCopyWith<_$DeprecatedCompiledContractImpl> @@ -924,8 +1011,11 @@ abstract class _DeprecatedCompiledContract extends DeprecatedCompiledContract { DeprecatedCairoEntryPointsByType get entryPointsByType; @override List? get abi; + + /// Create a copy of DeprecatedCompiledContract + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeprecatedCompiledContractImplCopyWith<_$DeprecatedCompiledContractImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/packages/starknet/lib/src/contract/model/compiled_contract.g.dart b/packages/starknet/lib/src/contract/model/compiled_contract.g.dart index 9023005b..9aaa4221 100644 --- a/packages/starknet/lib/src/contract/model/compiled_contract.g.dart +++ b/packages/starknet/lib/src/contract/model/compiled_contract.g.dart @@ -61,6 +61,10 @@ _$CASMCompiledContractImpl _$$CASMCompiledContractImplFromJson( entryPointsByType: CASMEntryPointsByType.fromJson( json['entry_points_by_type'] as Map), compilerVersion: json['compiler_version'] as String, + bytecodeSegmentLengths: + (json['bytecode_segment_lengths'] as List) + .map((e) => (e as num).toInt()) + .toList(), ); Map _$$CASMCompiledContractImplToJson( @@ -69,6 +73,7 @@ Map _$$CASMCompiledContractImplToJson( 'bytecode': instance.bytecode.map((e) => e.toString()).toList(), 'entry_points_by_type': instance.entryPointsByType.toJson(), 'compiler_version': instance.compilerVersion, + 'bytecode_segment_lengths': instance.bytecodeSegmentLengths, }; _$DeprecatedCompiledContractImpl _$$DeprecatedCompiledContractImplFromJson( diff --git a/packages/starknet/lib/src/contract/model/contract_abi.freezed.dart b/packages/starknet/lib/src/contract/model/contract_abi.freezed.dart index a63726c4..a31ec8de 100644 --- a/packages/starknet/lib/src/contract/model/contract_abi.freezed.dart +++ b/packages/starknet/lib/src/contract/model/contract_abi.freezed.dart @@ -145,8 +145,13 @@ mixin _$SierraContractAbiEntry { required TResult orElse(), }) => throw _privateConstructorUsedError; + + /// Serializes this SierraContractAbiEntry to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraContractAbiEntryCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -171,6 +176,8 @@ class _$SierraContractAbiEntryCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -217,6 +224,8 @@ class __$$SierraFunctionAbiEntryImplCopyWithImpl<$Res> $Res Function(_$SierraFunctionAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -313,7 +322,7 @@ class _$SierraFunctionAbiEntryImpl implements SierraFunctionAbiEntry { other.stateMutability == stateMutability)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -323,7 +332,9 @@ class _$SierraFunctionAbiEntryImpl implements SierraFunctionAbiEntry { const DeepCollectionEquality().hash(_outputs), stateMutability); - @JsonKey(ignore: true) + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraFunctionAbiEntryImplCopyWith<_$SierraFunctionAbiEntryImpl> @@ -482,8 +493,11 @@ abstract class SierraFunctionAbiEntry implements SierraContractAbiEntry { List get outputs; @JsonKey(includeIfNull: false) String? get stateMutability; + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraFunctionAbiEntryImplCopyWith<_$SierraFunctionAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -508,6 +522,8 @@ class __$$SierraEventAbiEntryImplCopyWithImpl<$Res> $Res Function(_$SierraEventAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -571,11 +587,13 @@ class _$SierraEventAbiEntryImpl implements SierraEventAbiEntry { (identical(other.kind, kind) || other.kind == kind)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, type, name, kind); - @JsonKey(ignore: true) + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEventAbiEntryImplCopyWith<_$SierraEventAbiEntryImpl> get copyWith => @@ -728,8 +746,11 @@ abstract class SierraEventAbiEntry implements SierraContractAbiEntry { @override String get name; // TODO: switch to enum? String get kind; + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEventAbiEntryImplCopyWith<_$SierraEventAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -753,6 +774,8 @@ class __$$SierraEnumAbiEntryImplCopyWithImpl<$Res> $Res Function(_$SierraEnumAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -821,12 +844,14 @@ class _$SierraEnumAbiEntryImpl implements SierraEnumAbiEntry { const DeepCollectionEquality().equals(other._variants, _variants)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, type, name, const DeepCollectionEquality().hash(_variants)); - @JsonKey(ignore: true) + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEnumAbiEntryImplCopyWith<_$SierraEnumAbiEntryImpl> get copyWith => @@ -980,8 +1005,11 @@ abstract class SierraEnumAbiEntry implements SierraContractAbiEntry { @override String get name; List get variants; + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEnumAbiEntryImplCopyWith<_$SierraEnumAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1006,6 +1034,8 @@ class __$$SierraStructAbiEntryImplCopyWithImpl<$Res> $Res Function(_$SierraStructAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1074,12 +1104,14 @@ class _$SierraStructAbiEntryImpl implements SierraStructAbiEntry { const DeepCollectionEquality().equals(other._members, _members)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, type, name, const DeepCollectionEquality().hash(_members)); - @JsonKey(ignore: true) + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraStructAbiEntryImplCopyWith<_$SierraStructAbiEntryImpl> @@ -1234,8 +1266,11 @@ abstract class SierraStructAbiEntry implements SierraContractAbiEntry { @override String get name; List get members; + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraStructAbiEntryImplCopyWith<_$SierraStructAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1259,6 +1294,8 @@ class __$$SierraImplAbiEntryImplCopyWithImpl<$Res> $Res Function(_$SierraImplAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1322,11 +1359,13 @@ class _$SierraImplAbiEntryImpl implements SierraImplAbiEntry { other.interfaceName == interfaceName)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, type, name, interfaceName); - @JsonKey(ignore: true) + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraImplAbiEntryImplCopyWith<_$SierraImplAbiEntryImpl> get copyWith => @@ -1479,8 +1518,11 @@ abstract class SierraImplAbiEntry implements SierraContractAbiEntry { @override String get name; String get interfaceName; + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraImplAbiEntryImplCopyWith<_$SierraImplAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1507,6 +1549,8 @@ class __$$SierraInterfaceAbiEntryImplCopyWithImpl<$Res> $Res Function(_$SierraInterfaceAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1558,11 +1602,13 @@ class _$SierraInterfaceAbiEntryImpl implements SierraInterfaceAbiEntry { (identical(other.name, name) || other.name == name)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, type, name); - @JsonKey(ignore: true) + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraInterfaceAbiEntryImplCopyWith<_$SierraInterfaceAbiEntryImpl> @@ -1713,8 +1759,11 @@ abstract class SierraInterfaceAbiEntry implements SierraContractAbiEntry { String get type; @override String get name; + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraInterfaceAbiEntryImplCopyWith<_$SierraInterfaceAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1741,6 +1790,8 @@ class __$$SierraConstructorAbiEntryImplCopyWithImpl<$Res> $Res Function(_$SierraConstructorAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1809,12 +1860,14 @@ class _$SierraConstructorAbiEntryImpl implements SierraConstructorAbiEntry { const DeepCollectionEquality().equals(other._inputs, _inputs)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, type, name, const DeepCollectionEquality().hash(_inputs)); - @JsonKey(ignore: true) + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraConstructorAbiEntryImplCopyWith<_$SierraConstructorAbiEntryImpl> @@ -1968,8 +2021,11 @@ abstract class SierraConstructorAbiEntry implements SierraContractAbiEntry { @override String get name; List get inputs; + + /// Create a copy of SierraContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraConstructorAbiEntryImplCopyWith<_$SierraConstructorAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1983,8 +2039,12 @@ mixin _$InputParameter { String get name => throw _privateConstructorUsedError; String get type => throw _privateConstructorUsedError; + /// Serializes this InputParameter to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of InputParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $InputParameterCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2008,6 +2068,8 @@ class _$InputParameterCopyWithImpl<$Res, $Val extends InputParameter> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of InputParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2046,6 +2108,8 @@ class __$$InputParameterImplCopyWithImpl<$Res> _$InputParameterImpl _value, $Res Function(_$InputParameterImpl) _then) : super(_value, _then); + /// Create a copy of InputParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2092,11 +2156,13 @@ class _$InputParameterImpl implements _InputParameter { (identical(other.type, type) || other.type == type)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, type); - @JsonKey(ignore: true) + /// Create a copy of InputParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$InputParameterImplCopyWith<_$InputParameterImpl> get copyWith => @@ -2123,8 +2189,11 @@ abstract class _InputParameter implements InputParameter { String get name; @override String get type; + + /// Create a copy of InputParameter + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$InputParameterImplCopyWith<_$InputParameterImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2137,8 +2206,12 @@ OutputParameter _$OutputParameterFromJson(Map json) { mixin _$OutputParameter { String get type => throw _privateConstructorUsedError; + /// Serializes this OutputParameter to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of OutputParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $OutputParameterCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2162,6 +2235,8 @@ class _$OutputParameterCopyWithImpl<$Res, $Val extends OutputParameter> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of OutputParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2195,6 +2270,8 @@ class __$$OutputParameterImplCopyWithImpl<$Res> _$OutputParameterImpl _value, $Res Function(_$OutputParameterImpl) _then) : super(_value, _then); + /// Create a copy of OutputParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2233,11 +2310,13 @@ class _$OutputParameterImpl implements _OutputParameter { (identical(other.type, type) || other.type == type)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, type); - @JsonKey(ignore: true) + /// Create a copy of OutputParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$OutputParameterImplCopyWith<_$OutputParameterImpl> get copyWith => @@ -2261,8 +2340,11 @@ abstract class _OutputParameter implements OutputParameter { @override String get type; + + /// Create a copy of OutputParameter + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$OutputParameterImplCopyWith<_$OutputParameterImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2276,8 +2358,12 @@ mixin _$MemberParameter { String get name => throw _privateConstructorUsedError; String get type => throw _privateConstructorUsedError; + /// Serializes this MemberParameter to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of MemberParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $MemberParameterCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2301,6 +2387,8 @@ class _$MemberParameterCopyWithImpl<$Res, $Val extends MemberParameter> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of MemberParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2339,6 +2427,8 @@ class __$$MemberParameterImplCopyWithImpl<$Res> _$MemberParameterImpl _value, $Res Function(_$MemberParameterImpl) _then) : super(_value, _then); + /// Create a copy of MemberParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2385,11 +2475,13 @@ class _$MemberParameterImpl implements _MemberParameter { (identical(other.type, type) || other.type == type)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, type); - @JsonKey(ignore: true) + /// Create a copy of MemberParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$MemberParameterImplCopyWith<_$MemberParameterImpl> get copyWith => @@ -2416,8 +2508,11 @@ abstract class _MemberParameter implements MemberParameter { String get name; @override String get type; + + /// Create a copy of MemberParameter + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$MemberParameterImplCopyWith<_$MemberParameterImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2431,8 +2526,12 @@ mixin _$VariantParameter { String get name => throw _privateConstructorUsedError; String get type => throw _privateConstructorUsedError; + /// Serializes this VariantParameter to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of VariantParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $VariantParameterCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2456,6 +2555,8 @@ class _$VariantParameterCopyWithImpl<$Res, $Val extends VariantParameter> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of VariantParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2494,6 +2595,8 @@ class __$$VariantParameterImplCopyWithImpl<$Res> $Res Function(_$VariantParameterImpl) _then) : super(_value, _then); + /// Create a copy of VariantParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2540,11 +2643,13 @@ class _$VariantParameterImpl implements _VariantParameter { (identical(other.type, type) || other.type == type)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, type); - @JsonKey(ignore: true) + /// Create a copy of VariantParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$VariantParameterImplCopyWith<_$VariantParameterImpl> get copyWith => @@ -2571,8 +2676,11 @@ abstract class _VariantParameter implements VariantParameter { String get name; @override String get type; + + /// Create a copy of VariantParameter + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$VariantParameterImplCopyWith<_$VariantParameterImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2585,8 +2693,12 @@ SierraEventAbi _$SierraEventAbiFromJson(Map json) { mixin _$SierraEventAbi { SierraEventAbiInstance get inner => throw _privateConstructorUsedError; + /// Serializes this SierraEventAbi to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraEventAbi + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraEventAbiCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2610,6 +2722,8 @@ class _$SierraEventAbiCopyWithImpl<$Res, $Val extends SierraEventAbi> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraEventAbi + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2643,6 +2757,8 @@ class __$$SierraEventAbiImplCopyWithImpl<$Res> _$SierraEventAbiImpl _value, $Res Function(_$SierraEventAbiImpl) _then) : super(_value, _then); + /// Create a copy of SierraEventAbi + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2681,11 +2797,13 @@ class _$SierraEventAbiImpl implements _SierraEventAbi { (identical(other.inner, inner) || other.inner == inner)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, inner); - @JsonKey(ignore: true) + /// Create a copy of SierraEventAbi + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEventAbiImplCopyWith<_$SierraEventAbiImpl> get copyWith => @@ -2709,8 +2827,11 @@ abstract class _SierraEventAbi implements SierraEventAbi { @override SierraEventAbiInstance get inner; + + /// Create a copy of SierraEventAbi + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEventAbiImplCopyWith<_$SierraEventAbiImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2727,8 +2848,12 @@ mixin _$SierraEventAbiEnum { List get variants => throw _privateConstructorUsedError; + /// Serializes this SierraEventAbiEnum to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraEventAbiEnum + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraEventAbiEnumCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2756,6 +2881,8 @@ class _$SierraEventAbiEnumCopyWithImpl<$Res, $Val extends SierraEventAbiEnum> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraEventAbiEnum + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2808,6 +2935,8 @@ class __$$SierraEventAbiEnumImplCopyWithImpl<$Res> $Res Function(_$SierraEventAbiEnumImpl) _then) : super(_value, _then); + /// Create a copy of SierraEventAbiEnum + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2880,12 +3009,14 @@ class _$SierraEventAbiEnumImpl implements _SierraEventAbiEnum { const DeepCollectionEquality().equals(other._variants, _variants)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, type, name, kind, const DeepCollectionEquality().hash(_variants)); - @JsonKey(ignore: true) + /// Create a copy of SierraEventAbiEnum + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEventAbiEnumImplCopyWith<_$SierraEventAbiEnumImpl> get copyWith => @@ -2919,8 +3050,11 @@ abstract class _SierraEventAbiEnum implements SierraEventAbiEnum { String get kind; @override List get variants; + + /// Create a copy of SierraEventAbiEnum + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEventAbiEnumImplCopyWith<_$SierraEventAbiEnumImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2937,8 +3071,12 @@ mixin _$SierraEventAbiEnumVariant { throw _privateConstructorUsedError; // TODO: switch to enum? String get kind => throw _privateConstructorUsedError; + /// Serializes this SierraEventAbiEnumVariant to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraEventAbiEnumVariant + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraEventAbiEnumVariantCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2963,6 +3101,8 @@ class _$SierraEventAbiEnumVariantCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraEventAbiEnumVariant + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3009,6 +3149,8 @@ class __$$SierraEventAbiEnumVariantImplCopyWithImpl<$Res> $Res Function(_$SierraEventAbiEnumVariantImpl) _then) : super(_value, _then); + /// Create a copy of SierraEventAbiEnumVariant + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3065,11 +3207,13 @@ class _$SierraEventAbiEnumVariantImpl implements _SierraEventAbiEnumVariant { (identical(other.kind, kind) || other.kind == kind)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, type, kind); - @JsonKey(ignore: true) + /// Create a copy of SierraEventAbiEnumVariant + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEventAbiEnumVariantImplCopyWith<_$SierraEventAbiEnumVariantImpl> @@ -3096,11 +3240,14 @@ abstract class _SierraEventAbiEnumVariant implements SierraEventAbiEnumVariant { @override String get name; @override - String get type; - @override // TODO: switch to enum? + String get type; // TODO: switch to enum? + @override String get kind; + + /// Create a copy of SierraEventAbiEnumVariant + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEventAbiEnumVariantImplCopyWith<_$SierraEventAbiEnumVariantImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3117,8 +3264,12 @@ mixin _$SierraEventAbiStruct { List get members => throw _privateConstructorUsedError; + /// Serializes this SierraEventAbiStruct to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraEventAbiStruct + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraEventAbiStructCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -3147,6 +3298,8 @@ class _$SierraEventAbiStructCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraEventAbiStruct + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3199,6 +3352,8 @@ class __$$SierraEventAbiStructImplCopyWithImpl<$Res> $Res Function(_$SierraEventAbiStructImpl) _then) : super(_value, _then); + /// Create a copy of SierraEventAbiStruct + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3271,12 +3426,14 @@ class _$SierraEventAbiStructImpl implements _SierraEventAbiStruct { const DeepCollectionEquality().equals(other._members, _members)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, type, name, kind, const DeepCollectionEquality().hash(_members)); - @JsonKey(ignore: true) + /// Create a copy of SierraEventAbiStruct + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEventAbiStructImplCopyWith<_$SierraEventAbiStructImpl> @@ -3311,8 +3468,11 @@ abstract class _SierraEventAbiStruct implements SierraEventAbiStruct { String get kind; @override List get members; + + /// Create a copy of SierraEventAbiStruct + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEventAbiStructImplCopyWith<_$SierraEventAbiStructImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3329,8 +3489,12 @@ mixin _$SierraEventAbiStructMember { throw _privateConstructorUsedError; // TODO: switch to enum ? String get kind => throw _privateConstructorUsedError; + /// Serializes this SierraEventAbiStructMember to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraEventAbiStructMember + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraEventAbiStructMemberCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -3356,6 +3520,8 @@ class _$SierraEventAbiStructMemberCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraEventAbiStructMember + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3402,6 +3568,8 @@ class __$$SierraEventAbiStructMemberImplCopyWithImpl<$Res> $Res Function(_$SierraEventAbiStructMemberImpl) _then) : super(_value, _then); + /// Create a copy of SierraEventAbiStructMember + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3459,11 +3627,13 @@ class _$SierraEventAbiStructMemberImpl implements _SierraEventAbiStructMember { (identical(other.kind, kind) || other.kind == kind)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, type, kind); - @JsonKey(ignore: true) + /// Create a copy of SierraEventAbiStructMember + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEventAbiStructMemberImplCopyWith<_$SierraEventAbiStructMemberImpl> @@ -3491,11 +3661,14 @@ abstract class _SierraEventAbiStructMember @override String get name; @override - String get type; - @override // TODO: switch to enum ? + String get type; // TODO: switch to enum ? + @override String get kind; + + /// Create a copy of SierraEventAbiStructMember + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEventAbiStructMemberImplCopyWith<_$SierraEventAbiStructMemberImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3614,8 +3787,13 @@ mixin _$DeprecatedContractAbiEntry { required TResult orElse(), }) => throw _privateConstructorUsedError; + + /// Serializes this DeprecatedContractAbiEntry to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $DeprecatedContractAbiEntryCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -3641,6 +3819,8 @@ class _$DeprecatedContractAbiEntryCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3688,6 +3868,8 @@ class __$$DeprecatedFunctionAbiEntryImplCopyWithImpl<$Res> $Res Function(_$DeprecatedFunctionAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3786,7 +3968,7 @@ class _$DeprecatedFunctionAbiEntryImpl implements DeprecatedFunctionAbiEntry { other.stateMutability == stateMutability)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -3796,7 +3978,9 @@ class _$DeprecatedFunctionAbiEntryImpl implements DeprecatedFunctionAbiEntry { const DeepCollectionEquality().hash(_outputs), stateMutability); - @JsonKey(ignore: true) + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeprecatedFunctionAbiEntryImplCopyWith<_$DeprecatedFunctionAbiEntryImpl> @@ -3945,8 +4129,11 @@ abstract class DeprecatedFunctionAbiEntry List get outputs; @JsonKey(name: 'stateMutability', includeIfNull: false) String? get stateMutability; + + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeprecatedFunctionAbiEntryImplCopyWith<_$DeprecatedFunctionAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3977,6 +4164,8 @@ class __$$DeprecatedEventAbiEntryImplCopyWithImpl<$Res> $Res Function(_$DeprecatedEventAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -4061,7 +4250,7 @@ class _$DeprecatedEventAbiEntryImpl implements DeprecatedEventAbiEntry { const DeepCollectionEquality().equals(other._data, _data)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -4070,7 +4259,9 @@ class _$DeprecatedEventAbiEntryImpl implements DeprecatedEventAbiEntry { const DeepCollectionEquality().hash(_keys), const DeepCollectionEquality().hash(_data)); - @JsonKey(ignore: true) + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeprecatedEventAbiEntryImplCopyWith<_$DeprecatedEventAbiEntryImpl> @@ -4215,8 +4406,11 @@ abstract class DeprecatedEventAbiEntry implements DeprecatedContractAbiEntry { String get name; List get keys; List get data; + + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeprecatedEventAbiEntryImplCopyWith<_$DeprecatedEventAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4243,6 +4437,8 @@ class __$$DeprecatedStructAbiEntryImplCopyWithImpl<$Res> $Res Function(_$DeprecatedStructAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -4320,12 +4516,14 @@ class _$DeprecatedStructAbiEntryImpl implements DeprecatedStructAbiEntry { const DeepCollectionEquality().equals(other._members, _members)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, type, name, size, const DeepCollectionEquality().hash(_members)); - @JsonKey(ignore: true) + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeprecatedStructAbiEntryImplCopyWith<_$DeprecatedStructAbiEntryImpl> @@ -4470,8 +4668,11 @@ abstract class DeprecatedStructAbiEntry implements DeprecatedContractAbiEntry { String get name; int get size; List get members; + + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeprecatedStructAbiEntryImplCopyWith<_$DeprecatedStructAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4502,6 +4703,8 @@ class __$$DeprecatedConstructorAbiEntryImplCopyWithImpl<$Res> $Res Function(_$DeprecatedConstructorAbiEntryImpl) _then) : super(_value, _then); + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -4588,7 +4791,7 @@ class _$DeprecatedConstructorAbiEntryImpl const DeepCollectionEquality().equals(other._outputs, _outputs)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -4597,7 +4800,9 @@ class _$DeprecatedConstructorAbiEntryImpl const DeepCollectionEquality().hash(_inputs), const DeepCollectionEquality().hash(_outputs)); - @JsonKey(ignore: true) + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeprecatedConstructorAbiEntryImplCopyWith< @@ -4744,8 +4949,11 @@ abstract class DeprecatedConstructorAbiEntry String get name; List get inputs; List get outputs; + + /// Create a copy of DeprecatedContractAbiEntry + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeprecatedConstructorAbiEntryImplCopyWith< _$DeprecatedConstructorAbiEntryImpl> get copyWith => throw _privateConstructorUsedError; @@ -4760,8 +4968,12 @@ mixin _$TypedParameter { String get name => throw _privateConstructorUsedError; String get type => throw _privateConstructorUsedError; + /// Serializes this TypedParameter to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of TypedParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $TypedParameterCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -4785,6 +4997,8 @@ class _$TypedParameterCopyWithImpl<$Res, $Val extends TypedParameter> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of TypedParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -4823,6 +5037,8 @@ class __$$TypedParameterImplCopyWithImpl<$Res> _$TypedParameterImpl _value, $Res Function(_$TypedParameterImpl) _then) : super(_value, _then); + /// Create a copy of TypedParameter + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -4869,11 +5085,13 @@ class _$TypedParameterImpl implements _TypedParameter { (identical(other.type, type) || other.type == type)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, type); - @JsonKey(ignore: true) + /// Create a copy of TypedParameter + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$TypedParameterImplCopyWith<_$TypedParameterImpl> get copyWith => @@ -4900,8 +5118,11 @@ abstract class _TypedParameter implements TypedParameter { String get name; @override String get type; + + /// Create a copy of TypedParameter + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$TypedParameterImplCopyWith<_$TypedParameterImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4916,8 +5137,12 @@ mixin _$StructMember { String get type => throw _privateConstructorUsedError; int get offset => throw _privateConstructorUsedError; + /// Serializes this StructMember to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of StructMember + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $StructMemberCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -4941,6 +5166,8 @@ class _$StructMemberCopyWithImpl<$Res, $Val extends StructMember> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of StructMember + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -4984,6 +5211,8 @@ class __$$StructMemberImplCopyWithImpl<$Res> _$StructMemberImpl _value, $Res Function(_$StructMemberImpl) _then) : super(_value, _then); + /// Create a copy of StructMember + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -5039,11 +5268,13 @@ class _$StructMemberImpl implements _StructMember { (identical(other.offset, offset) || other.offset == offset)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, type, offset); - @JsonKey(ignore: true) + /// Create a copy of StructMember + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$StructMemberImplCopyWith<_$StructMemberImpl> get copyWith => @@ -5072,8 +5303,11 @@ abstract class _StructMember implements StructMember { String get type; @override int get offset; + + /// Create a copy of StructMember + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$StructMemberImplCopyWith<_$StructMemberImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart b/packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart index 8f6154dd..2a996d44 100644 --- a/packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart +++ b/packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart @@ -27,8 +27,12 @@ mixin _$EntryPointsByType { @JsonKey(name: 'L1_HANDLER') List get l1Handler => throw _privateConstructorUsedError; + /// Serializes this EntryPointsByType to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of EntryPointsByType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $EntryPointsByTypeCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -55,6 +59,8 @@ class _$EntryPointsByTypeCopyWithImpl<$Res, $Val extends EntryPointsByType> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of EntryPointsByType + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -101,6 +107,8 @@ class __$$EntryPointsByTypeImplCopyWithImpl<$Res> $Res Function(_$EntryPointsByTypeImpl) _then) : super(_value, _then); + /// Create a copy of EntryPointsByType + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -185,7 +193,7 @@ class _$EntryPointsByTypeImpl implements _EntryPointsByType { .equals(other._l1Handler, _l1Handler)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -193,7 +201,9 @@ class _$EntryPointsByTypeImpl implements _EntryPointsByType { const DeepCollectionEquality().hash(_external), const DeepCollectionEquality().hash(_l1Handler)); - @JsonKey(ignore: true) + /// Create a copy of EntryPointsByType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$EntryPointsByTypeImplCopyWith<_$EntryPointsByTypeImpl> get copyWith => @@ -229,8 +239,11 @@ abstract class _EntryPointsByType implements EntryPointsByType { @override @JsonKey(name: 'L1_HANDLER') List get l1Handler; + + /// Create a copy of EntryPointsByType + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$EntryPointsByTypeImplCopyWith<_$EntryPointsByTypeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -244,8 +257,12 @@ mixin _$SierraEntryPoint { Felt get selector => throw _privateConstructorUsedError; int get functionIdx => throw _privateConstructorUsedError; + /// Serializes this SierraEntryPoint to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SierraEntryPoint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SierraEntryPointCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -269,6 +286,8 @@ class _$SierraEntryPointCopyWithImpl<$Res, $Val extends SierraEntryPoint> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SierraEntryPoint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -307,6 +326,8 @@ class __$$SierraEntryPointImplCopyWithImpl<$Res> $Res Function(_$SierraEntryPointImpl) _then) : super(_value, _then); + /// Create a copy of SierraEntryPoint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -356,11 +377,13 @@ class _$SierraEntryPointImpl implements _SierraEntryPoint { other.functionIdx == functionIdx)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, selector, functionIdx); - @JsonKey(ignore: true) + /// Create a copy of SierraEntryPoint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SierraEntryPointImplCopyWith<_$SierraEntryPointImpl> get copyWith => @@ -387,8 +410,11 @@ abstract class _SierraEntryPoint implements SierraEntryPoint { Felt get selector; @override int get functionIdx; + + /// Create a copy of SierraEntryPoint + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SierraEntryPointImplCopyWith<_$SierraEntryPointImpl> get copyWith => throw _privateConstructorUsedError; } @@ -407,8 +433,12 @@ mixin _$CASMEntryPointsByType { @JsonKey(name: 'L1_HANDLER') List get l1Handler => throw _privateConstructorUsedError; + /// Serializes this CASMEntryPointsByType to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of CASMEntryPointsByType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $CASMEntryPointsByTypeCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -436,6 +466,8 @@ class _$CASMEntryPointsByTypeCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of CASMEntryPointsByType + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -484,6 +516,8 @@ class __$$CASMEntryPointsByTypeImplCopyWithImpl<$Res> $Res Function(_$CASMEntryPointsByTypeImpl) _then) : super(_value, _then); + /// Create a copy of CASMEntryPointsByType + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -568,7 +602,7 @@ class _$CASMEntryPointsByTypeImpl implements _CASMEntryPointsByType { .equals(other._l1Handler, _l1Handler)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -576,7 +610,9 @@ class _$CASMEntryPointsByTypeImpl implements _CASMEntryPointsByType { const DeepCollectionEquality().hash(_external), const DeepCollectionEquality().hash(_l1Handler)); - @JsonKey(ignore: true) + /// Create a copy of CASMEntryPointsByType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$CASMEntryPointsByTypeImplCopyWith<_$CASMEntryPointsByTypeImpl> @@ -612,8 +648,11 @@ abstract class _CASMEntryPointsByType implements CASMEntryPointsByType { @override @JsonKey(name: 'L1_HANDLER') List get l1Handler; + + /// Create a copy of CASMEntryPointsByType + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$CASMEntryPointsByTypeImplCopyWith<_$CASMEntryPointsByTypeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -628,8 +667,12 @@ mixin _$CASMEntryPoint { int get offset => throw _privateConstructorUsedError; List get builtins => throw _privateConstructorUsedError; + /// Serializes this CASMEntryPoint to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of CASMEntryPoint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $CASMEntryPointCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -653,6 +696,8 @@ class _$CASMEntryPointCopyWithImpl<$Res, $Val extends CASMEntryPoint> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of CASMEntryPoint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -696,6 +741,8 @@ class __$$CASMEntryPointImplCopyWithImpl<$Res> _$CASMEntryPointImpl _value, $Res Function(_$CASMEntryPointImpl) _then) : super(_value, _then); + /// Create a copy of CASMEntryPoint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -760,12 +807,14 @@ class _$CASMEntryPointImpl implements _CASMEntryPoint { const DeepCollectionEquality().equals(other._builtins, _builtins)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, selector, offset, const DeepCollectionEquality().hash(_builtins)); - @JsonKey(ignore: true) + /// Create a copy of CASMEntryPoint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$CASMEntryPointImplCopyWith<_$CASMEntryPointImpl> get copyWith => @@ -795,8 +844,11 @@ abstract class _CASMEntryPoint implements CASMEntryPoint { int get offset; @override List get builtins; + + /// Create a copy of CASMEntryPoint + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$CASMEntryPointImplCopyWith<_$CASMEntryPointImpl> get copyWith => throw _privateConstructorUsedError; } @@ -818,8 +870,12 @@ mixin _$DeprecatedCairoEntryPointsByType { List get l1Handler => throw _privateConstructorUsedError; + /// Serializes this DeprecatedCairoEntryPointsByType to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of DeprecatedCairoEntryPointsByType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $DeprecatedCairoEntryPointsByTypeCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -850,6 +906,8 @@ class _$DeprecatedCairoEntryPointsByTypeCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of DeprecatedCairoEntryPointsByType + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -900,6 +958,8 @@ class __$$DeprecatedCairoEntryPointsByTypeImplCopyWithImpl<$Res> $Res Function(_$DeprecatedCairoEntryPointsByTypeImpl) _then) : super(_value, _then); + /// Create a copy of DeprecatedCairoEntryPointsByType + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -987,7 +1047,7 @@ class _$DeprecatedCairoEntryPointsByTypeImpl .equals(other._l1Handler, _l1Handler)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -995,7 +1055,9 @@ class _$DeprecatedCairoEntryPointsByTypeImpl const DeepCollectionEquality().hash(_external), const DeepCollectionEquality().hash(_l1Handler)); - @JsonKey(ignore: true) + /// Create a copy of DeprecatedCairoEntryPointsByType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeprecatedCairoEntryPointsByTypeImplCopyWith< @@ -1035,8 +1097,11 @@ abstract class _DeprecatedCairoEntryPointsByType @override @JsonKey(name: 'L1_HANDLER') List get l1Handler; + + /// Create a copy of DeprecatedCairoEntryPointsByType + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeprecatedCairoEntryPointsByTypeImplCopyWith< _$DeprecatedCairoEntryPointsByTypeImpl> get copyWith => throw _privateConstructorUsedError; @@ -1052,8 +1117,12 @@ mixin _$DeprecatedCairoEntryPoint { String get offset => throw _privateConstructorUsedError; Felt get selector => throw _privateConstructorUsedError; + /// Serializes this DeprecatedCairoEntryPoint to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of DeprecatedCairoEntryPoint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $DeprecatedCairoEntryPointCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -1078,6 +1147,8 @@ class _$DeprecatedCairoEntryPointCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of DeprecatedCairoEntryPoint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1119,6 +1190,8 @@ class __$$DeprecatedCairoEntryPointImplCopyWithImpl<$Res> $Res Function(_$DeprecatedCairoEntryPointImpl) _then) : super(_value, _then); + /// Create a copy of DeprecatedCairoEntryPoint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1167,11 +1240,13 @@ class _$DeprecatedCairoEntryPointImpl implements _DeprecatedCairoEntryPoint { other.selector == selector)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, offset, selector); - @JsonKey(ignore: true) + /// Create a copy of DeprecatedCairoEntryPoint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeprecatedCairoEntryPointImplCopyWith<_$DeprecatedCairoEntryPointImpl> @@ -1198,8 +1273,11 @@ abstract class _DeprecatedCairoEntryPoint implements DeprecatedCairoEntryPoint { String get offset; @override Felt get selector; + + /// Create a copy of DeprecatedCairoEntryPoint + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeprecatedCairoEntryPointImplCopyWith<_$DeprecatedCairoEntryPointImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/packages/starknet/lib/src/crypto/model/pedersen_params.freezed.dart b/packages/starknet/lib/src/crypto/model/pedersen_params.freezed.dart index f6961e68..26f499da 100644 --- a/packages/starknet/lib/src/crypto/model/pedersen_params.freezed.dart +++ b/packages/starknet/lib/src/crypto/model/pedersen_params.freezed.dart @@ -27,8 +27,12 @@ mixin _$PedersenParams { BigInt get beta => throw _privateConstructorUsedError; List> get constantPoints => throw _privateConstructorUsedError; + /// Serializes this PedersenParams to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PedersenParams + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PedersenParamsCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -58,6 +62,8 @@ class _$PedersenParamsCopyWithImpl<$Res, $Val extends PedersenParams> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PedersenParams + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -122,6 +128,8 @@ class __$$PedersenParamsImplCopyWithImpl<$Res> _$PedersenParamsImpl _value, $Res Function(_$PedersenParamsImpl) _then) : super(_value, _then); + /// Create a copy of PedersenParams + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -216,12 +224,14 @@ class _$PedersenParamsImpl implements _PedersenParams { .equals(other._constantPoints, _constantPoints)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, fieldPrime, fieldGen, ecOrder, alpha, beta, const DeepCollectionEquality().hash(_constantPoints)); - @JsonKey(ignore: true) + /// Create a copy of PedersenParams + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PedersenParamsImplCopyWith<_$PedersenParamsImpl> get copyWith => @@ -260,8 +270,11 @@ abstract class _PedersenParams implements PedersenParams { BigInt get beta; @override List> get constantPoints; + + /// Create a copy of PedersenParams + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PedersenParamsImplCopyWith<_$PedersenParamsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/packages/starknet/lib/src/crypto/model/poseidon_params.freezed.dart b/packages/starknet/lib/src/crypto/model/poseidon_params.freezed.dart index cea9c614..a4108d68 100644 --- a/packages/starknet/lib/src/crypto/model/poseidon_params.freezed.dart +++ b/packages/starknet/lib/src/crypto/model/poseidon_params.freezed.dart @@ -28,8 +28,12 @@ mixin _$PoseidonParams { List> get mds => throw _privateConstructorUsedError; List> get roundKeys => throw _privateConstructorUsedError; + /// Serializes this PoseidonParams to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PoseidonParams + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PoseidonParamsCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -60,6 +64,8 @@ class _$PoseidonParamsCopyWithImpl<$Res, $Val extends PoseidonParams> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PoseidonParams + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -130,6 +136,8 @@ class __$$PoseidonParamsImplCopyWithImpl<$Res> _$PoseidonParamsImpl _value, $Res Function(_$PoseidonParamsImpl) _then) : super(_value, _then); + /// Create a copy of PoseidonParams + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -242,7 +250,7 @@ class _$PoseidonParamsImpl implements _PoseidonParams { .equals(other._roundKeys, _roundKeys)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -254,7 +262,9 @@ class _$PoseidonParamsImpl implements _PoseidonParams { const DeepCollectionEquality().hash(_mds), const DeepCollectionEquality().hash(_roundKeys)); - @JsonKey(ignore: true) + /// Create a copy of PoseidonParams + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PoseidonParamsImplCopyWith<_$PoseidonParamsImpl> get copyWith => @@ -296,8 +306,11 @@ abstract class _PoseidonParams implements PoseidonParams { List> get mds; @override List> get roundKeys; + + /// Create a copy of PoseidonParams + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PoseidonParamsImplCopyWith<_$PoseidonParamsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/packages/starknet/lib/src/presets/udc.g.dart b/packages/starknet/lib/src/presets/udc.g.dart index 717a62c7..38796715 100644 --- a/packages/starknet/lib/src/presets/udc.g.dart +++ b/packages/starknet/lib/src/presets/udc.g.dart @@ -14,6 +14,17 @@ class Udc extends Contract { Felt salt, Felt unique, List calldata, + Felt? maxFee, + bool? useSTRKFee, + Felt? l1MaxAmount, + Felt? l1MaxPricePerUnit, + Felt? l2MaxAmount, + Felt? l2MaxPricePerUnit, + List? accountDeploymentData, + List? paymasterData, + Felt? tip, + String? feeDataAvailabilityMode, + String? nonceDataAvailabilityMode, ) async { final List params = [ classHash, @@ -22,8 +33,18 @@ class Udc extends Contract { ...calldata.toCallData(), ]; final trx = await execute( - 'deployContract', - params, + selector: 'deployContract', + calldata: params, + useSTRKFee: useSTRKFee, + l1MaxAmount: l1MaxAmount, + l1MaxPricePerUnit: l1MaxPricePerUnit, + l2MaxAmount: l2MaxAmount, + l2MaxPricePerUnit: l2MaxPricePerUnit, + accountDeploymentData: accountDeploymentData, + paymasterData: paymasterData, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode, + nonceDataAvailabilityMode: nonceDataAvailabilityMode, ); final trxHash = trx.when( result: (result) => result.transaction_hash, diff --git a/packages/starknet/lib/src/signer.dart b/packages/starknet/lib/src/signer.dart index b754b182..9f14308c 100644 --- a/packages/starknet/lib/src/signer.dart +++ b/packages/starknet/lib/src/signer.dart @@ -1,5 +1,6 @@ import '../starknet.dart'; import 'package:starknet_provider/starknet_provider.dart'; +import 'package:starknet/src/crypto/poseidon.dart'; class Signer { Felt privateKey; @@ -11,6 +12,81 @@ class Signer { return Felt(point!.x!.toBigInteger()!); } + List signInvokeTransactionsV3({ + required List transactions, + required Felt senderAddress, + required Felt chainId, + required Felt nonce, + required Map resourceBounds, + required List accountDeploymentData, + required List paymasterData, + required Felt tip, + required String feeDataAvailabilityMode, + required String nonceDataAvailabilityMode, + }) { + final calldata = functionCallsToCalldata( + functionCalls: transactions, + ); + // Add validation for resourceBounds entries to prevent null exceptions + if (resourceBounds.isEmpty) { + throw Exception('Resource bounds must not be empty'); + } + if (!resourceBounds.containsKey('l1_gas')) { + throw Exception('Resource bounds for l1_gas must not be null'); + } + if (!resourceBounds.containsKey('l2_gas')) { + throw Exception('Resource bounds for l2_gas must not be null'); + } + + Felt l1GasMaxAmount = + Felt.fromHexString(resourceBounds['l1_gas']!.maxAmount); + Felt l1GasMaxPricePerUnit = + Felt.fromHexString(resourceBounds['l1_gas']!.maxPricePerUnit); + Felt l2GasMaxAmount = + Felt.fromHexString(resourceBounds['l2_gas']!.maxAmount); + Felt l2GasMaxPricePerUnit = + Felt.fromHexString(resourceBounds['l2_gas']!.maxPricePerUnit); + + Felt l1GasBounds = (Felt.fromString('L1_GAS') << (128 + 64)) + + (l1GasMaxAmount << 128) + + l1GasMaxPricePerUnit; + + Felt l2GasBounds = (Felt.fromString('L2_GAS') << (128 + 64)) + + (l2GasMaxAmount << 128) + + l2GasMaxPricePerUnit; + + Felt dataAvailabilityMode = + (Felt.fromInt(nonceDataAvailabilityMode == 'L1' ? 0 : 1) << 32) + + Felt.fromInt(feeDataAvailabilityMode == 'L1' ? 0 : 1); + + final elementsToHash = [ + TransactionHashPrefix.invoke.toBigInt(), + BigInt.from(3), // version + senderAddress.toBigInt(), + poseidonHasher.hashMany( + [tip.toBigInt(), l1GasBounds.toBigInt(), l2GasBounds.toBigInt()]), + poseidonHasher.hashMany(paymasterData.map((e) => e.toBigInt()).toList()), + chainId.toBigInt(), + nonce.toBigInt(), + dataAvailabilityMode.toBigInt(), + poseidonHasher + .hashMany(accountDeploymentData.map((e) => e.toBigInt()).toList()), + poseidonHasher.hashMany(toBigIntList(calldata)), + ]; + + final transactionHash = poseidonHasher.hashMany(elementsToHash); + + final signature = starknetSign( + privateKey: privateKey.toBigInt(), + messageHash: transactionHash, + seed: BigInt.from(32), + ); + print( + 'signature: ${Felt(signature.r).toHexString()} ${Felt(signature.s).toHexString()}'); + + return [Felt(signature.r), Felt(signature.s)]; + } + List signInvokeTransactionsV1({ required List transactions, required Felt senderAddress, @@ -36,7 +112,6 @@ class Signer { chainId: chainId.toBigInt(), additionalData: [nonce.toBigInt()], ); - print('transactionHash: ${Felt(transactionHash).toHexString()}'); final signature = starknetSign( privateKey: privateKey.toBigInt(), @@ -65,6 +140,7 @@ class Signer { final transactionHash = calculateTransactionHashCommon( txHashPrefix: TransactionHashPrefix.invoke.toBigInt(), address: contractAddress.toBigInt(), + version: 0, entryPointSelector: getSelectorByName(entryPointSelectorName).toBigInt(), calldata: toBigIntList(calldata), maxFee: maxFee.toBigInt(), @@ -89,10 +165,16 @@ class Signer { Felt? maxFee, String entryPointSelectorName = '__execute__', bool useLegacyCalldata = false, + // needed for V3 + List? accountDeploymentData = const [], + List? paymasterData = const [], + Felt? tip, + String? feeDataAvailabilityMode = 'L1', + String? nonceDataAvailabilityMode = 'L1', + Map? resourceBounds = const {}, }) { switch (version) { case 0: - print('Signing invoke transaction v0'); return signInvokeTransactionsV0( transactions: transactions, contractAddress: contractAddress, @@ -102,14 +184,26 @@ class Signer { maxFee: maxFee, ); case 1: - print('Signing invoke transaction v1'); return signInvokeTransactionsV1( + transactions: transactions, + senderAddress: contractAddress, + chainId: chainId, + nonce: nonce, + maxFee: maxFee, + useLegacyCalldata: useLegacyCalldata); + case 3: + tip ??= Felt.zero; + return signInvokeTransactionsV3( transactions: transactions, senderAddress: contractAddress, chainId: chainId, nonce: nonce, - maxFee: maxFee, - useLegacyCalldata: useLegacyCalldata, + resourceBounds: resourceBounds!, + accountDeploymentData: accountDeploymentData!, + paymasterData: paymasterData!, + tip: tip, + feeDataAvailabilityMode: feeDataAvailabilityMode!, + nonceDataAvailabilityMode: nonceDataAvailabilityMode!, ); default: throw Exception('Unsupported invoke transaction version: $version'); @@ -190,6 +284,77 @@ class Signer { return [Felt(signature.r), Felt(signature.s)]; } + List signDeclareTransactionV3( + {required CompiledContract compiledContract, + required Felt senderAddress, + required Felt chainId, + required Felt nonce, + Felt? classHash, + Felt? compiledClassHash, + CASMCompiledContract? casmCompiledContract, + required Map resourceBounds, + required List accountDeploymentData, + required List paymasterData, + required Felt tip, + required String feeDataAvailabilityMode, + required String nonceDataAvailabilityMode}) { + classHash ??= Felt(compiledContract.classHash()); + + if ((compiledClassHash == null) && (casmCompiledContract == null)) { + throw Exception( + 'compiledClassHash is null and CASM contract not provided', + ); + } + compiledClassHash ??= Felt(casmCompiledContract!.classHash()); + + Felt l1GasMaxAmount = + Felt.fromHexString(resourceBounds['l1_gas']!.maxAmount); + Felt l1GasMaxPricePerUnit = + Felt.fromHexString(resourceBounds['l1_gas']!.maxPricePerUnit); + Felt l2GasMaxAmount = + Felt.fromHexString(resourceBounds['l2_gas']!.maxAmount); + Felt l2GasMaxPricePerUnit = + Felt.fromHexString(resourceBounds['l2_gas']!.maxPricePerUnit); + + Felt l1GasBounds = (Felt.fromString('L1_GAS') << (128 + 64)) + + (l1GasMaxAmount << 128) + + l1GasMaxPricePerUnit; + + Felt l2GasBounds = (Felt.fromString('L2_GAS') << (128 + 64)) + + (l2GasMaxAmount << 128) + + l2GasMaxPricePerUnit; + + Felt dataAvailabilityMode = + (Felt.fromInt(nonceDataAvailabilityMode == 'L1' ? 0 : 1) << 32) + + Felt.fromInt(feeDataAvailabilityMode == 'L1' ? 0 : 1); + + final elementsToHash = [ + TransactionHashPrefix.declare.toBigInt(), + BigInt.from(3), // version + senderAddress.toBigInt(), + poseidonHasher.hashMany( + [tip.toBigInt(), l1GasBounds.toBigInt(), l2GasBounds.toBigInt()]), + poseidonHasher.hashMany(paymasterData.map((e) => e.toBigInt()).toList()), + chainId.toBigInt(), + nonce.toBigInt(), + dataAvailabilityMode.toBigInt(), + poseidonHasher + .hashMany(accountDeploymentData.map((e) => e.toBigInt()).toList()), + classHash.toBigInt(), + compiledClassHash.toBigInt(), + ]; + + final transactionHash = poseidonHasher.hashMany(elementsToHash); + + final signature = starknetSign( + privateKey: privateKey.toBigInt(), + messageHash: transactionHash, + seed: BigInt.from(32), + ); + + return [Felt(signature.r), Felt(signature.s)]; + } + List signDeployAccountTransactionV1({ required Felt contractAddressSalt, required Felt classHash, @@ -234,4 +399,76 @@ class Signer { return [Felt(signature.r), Felt(signature.s)]; } + + List signDeployAccountTransactionV3({ + required Felt contractAddress, + required Map resourceBounds, + required Felt tip, + required List paymasterData, + required Felt chainId, + required Felt nonce, + required String feeDataAvailabilityMode, + required String nonceDataAvailabilityMode, + required List constructorCalldata, + required Felt classHash, + required Felt contractAddressSalt, + }) { + print('classHash: ${classHash.toHexString()}'); + print('calldata: ${constructorCalldata.map((e) => e.toHexString())}'); + print('salt: ${contractAddressSalt.toHexString()}'); + final contractAddress = Contract.computeAddress( + classHash: classHash, + calldata: constructorCalldata, + salt: contractAddressSalt, + ); + print( + '[signDeployAccountTransactionV3] Contract address: ${contractAddress.toHexString()}'); + + Felt l1GasMaxAmount = + Felt.fromHexString(resourceBounds['l1_gas']!.maxAmount); + Felt l1GasMaxPricePerUnit = + Felt.fromHexString(resourceBounds['l1_gas']!.maxPricePerUnit); + Felt l2GasMaxAmount = + Felt.fromHexString(resourceBounds['l2_gas']!.maxAmount); + Felt l2GasMaxPricePerUnit = + Felt.fromHexString(resourceBounds['l2_gas']!.maxPricePerUnit); + + Felt l1GasBounds = (Felt.fromString('L1_GAS') << (128 + 64)) + + (l1GasMaxAmount << 128) + + l1GasMaxPricePerUnit; + + Felt l2GasBounds = (Felt.fromString('L2_GAS') << (128 + 64)) + + (l2GasMaxAmount << 128) + + l2GasMaxPricePerUnit; + + Felt dataAvailabilityMode = + (Felt.fromInt(nonceDataAvailabilityMode == 'L1' ? 0 : 1) << 32) + + Felt.fromInt(feeDataAvailabilityMode == 'L1' ? 0 : 1); + + final elementsToHash = [ + TransactionHashPrefix.deployAccount.toBigInt(), + BigInt.from(3), // version + contractAddress.toBigInt(), + poseidonHasher.hashMany( + [tip.toBigInt(), l1GasBounds.toBigInt(), l2GasBounds.toBigInt()]), + poseidonHasher.hashMany(paymasterData.map((e) => e.toBigInt()).toList()), + chainId.toBigInt(), + nonce.toBigInt(), + dataAvailabilityMode.toBigInt(), + poseidonHasher + .hashMany(constructorCalldata.map((e) => e.toBigInt()).toList()), + classHash.toBigInt(), + contractAddressSalt.toBigInt(), + ]; + + final transactionHash = poseidonHasher.hashMany(elementsToHash); + + final signature = starknetSign( + privateKey: privateKey.toBigInt(), + messageHash: transactionHash, + seed: BigInt.from(32), + ); + + return [Felt(signature.r), Felt(signature.s)]; + } } diff --git a/packages/starknet/lib/src/static_config.dart b/packages/starknet/lib/src/static_config.dart index 97d4f381..d5fec216 100644 --- a/packages/starknet/lib/src/static_config.dart +++ b/packages/starknet/lib/src/static_config.dart @@ -26,48 +26,82 @@ final ethAddress = Felt.fromHexString( "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7", ); -// from starknet-devnet 0.5.1 +// address is the same for mainnet & testnet +final strkAddress = Felt.fromHexString( + "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d", +); + +// from starknet-devnet 0.1.2 final devnetOpenZeppelinAccountClassHash = Felt.fromHexString( - "0x4D07E40E93398ED3C76981E72DD1FD22557A78CE36C0515F679E27F0BB5BC5F", + "0x61dac032f228abef9c6626f995015233097ae253a7f72d68552db02f2971b8f", ); // Devnet final devnetUri = Uri.parse('http://localhost:5050/rpc'); final devnetAccount0Address = Felt.fromHexString( - "0x7e00d496e324876bbc8531f2d9a82bf154d1a04a50218ee74cdd372f75a551a", + "0x64b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691", ); final devnetAccount0PublicKey = Felt.fromHexString( - "0x7e52885445756b313ea16849145363ccb73fb4ab0440dbac333cf9d13de82b9", + "0x7a1bb2744a7dd29bffd44341dbd78008adb4bc11733601e7eddff322ada9cb", ); final devnetAccount0PrivateKey = - Felt.fromHexString("0xe3e70682c2094cac629f6fbed82c07cd"); + Felt.fromHexString("0x71d7bb07b9a64f6f78ac4c816aff4da9"); final account0 = getAccount( accountAddress: devnetAccount0Address, privateKey: devnetAccount0PrivateKey, ); final devnetAccount1Address = Felt.fromHexString( - "0x69b49c2cc8b16e80e86bfc5b0614a59aa8c9b601569c7b80dde04d3f3151b79", + "0x78662e7352d062084b0010068b99288486c2d8b914f6e2a55ce945f8792c8b1", ); final devnetAccount1PublicKey = Felt.fromHexString( - "0x175666e92f540a19eb24fa299ce04c23f3b75cb2d2332e3ff2021bf6d615fa5", + "0x7a1bb2744a7dd29bffd44341dbd78008adb4bc11733601e7eddff322ada9cb", ); final devnetAccount1PrivateKey = - Felt.fromHexString("0xf728b4fa42485e3a0a5d2f346baa9455"); + Felt.fromHexString("0xe1406455b7d66b1690803be066cbe5e"); final account1 = getAccount( accountAddress: devnetAccount1Address, privateKey: devnetAccount1PrivateKey, ); +// We need to add more accounts for each test group +// and avoid race condition on the account nonce +// when test inside groups run in parallel. +final devnetAccount2Address = Felt.fromHexString( + "0x49dfb8ce986e21d354ac93ea65e6a11f639c1934ea253e5ff14ca62eca0f38e", +); +final devnetAccount2PublicKey = Felt.fromHexString( + "0xb8fd4ddd415902d96f61b7ad201022d495997c2dff8eb9e0eb86253e30fabc", +); +final devnetAccount2PrivateKey = + Felt.fromHexString("0xa20a02f0ac53692d144b20cb371a60d7"); +final account2 = getAccount( + accountAddress: devnetAccount2Address, + privateKey: devnetAccount2PrivateKey, +); + +final devnetAccount3Address = Felt.fromHexString( + "0x4f348398f859a55a0c80b1446c5fdc37edb3a8478a32f10764659fc241027d3", +); +final devnetAccount3PublicKey = Felt.fromHexString( + "0x5e05d2510c6110bde03df9c1c126a1f592207d78cd9e481ac98540d5336d23c", +); +final devnetAccount3PrivateKey = + Felt.fromHexString("0xa641611c17d4d92bd0790074e34beeb7"); +final account3 = getAccount( + accountAddress: devnetAccount3Address, + privateKey: devnetAccount3PrivateKey, +); + final devnetAccount9Address = Felt.fromHexString( - "0x7f61fa3893ad0637b2ff76fed23ebbb91835aacd4f743c2347716f856438429", + "0x4b3f4ba8c00a02b66142a4b1dd41a4dfab4f92650922a3280977b0f03c75ee1", ); final devnetAccount9PublicKey = Felt.fromHexString( - "0xc11e246b1d54515a26204d2d3c8586ea25ed9eecae00df173405974cb86dbc", + "0x374f7fcb50bc2d6b8b7a267f919232e3ac68354ce3eafe88d3df323fc1deb23", ); final devnetAccount9PrivateKey = - Felt.fromHexString("0x259f4329e6f4590b9a164106cf6a659e"); + Felt.fromHexString("0x57b2f8431c772e647712ae93cc616638"); final account9 = getAccount( accountAddress: devnetAccount9Address, privateKey: devnetAccount9PrivateKey, diff --git a/packages/starknet/lib/src/types/felt.dart b/packages/starknet/lib/src/types/felt.dart index 4ad733b8..3968b334 100644 --- a/packages/starknet/lib/src/types/felt.dart +++ b/packages/starknet/lib/src/types/felt.dart @@ -8,8 +8,62 @@ class Felt { static final prime = BigInt.two.pow(251) + BigInt.from(17) * BigInt.two.pow(192) + BigInt.one; + static final Felt zero = Felt(BigInt.zero); + late BigInt _bigInt; + //define << and >> . Check result not greater or equel to prime + Felt operator <<(int shift) { + Felt result = Felt(_bigInt << shift); + if (result._bigInt >= prime) { + throw ArgumentError('Value must be smaller than 2^251 + 17 * 2^192 + 1'); + } + return result; + } + + Felt operator >>(int shift) { + Felt result = Felt(_bigInt >> shift); + if (result._bigInt >= prime) { + throw ArgumentError('Value must be smaller than 2^251 + 17 * 2^192 + 1'); + } + return result; + } + + //define + operator + Felt operator +(Felt other) { + Felt result = Felt(_bigInt + other._bigInt); + if (result._bigInt >= prime) { + throw ArgumentError('Value must be smaller than 2^251 + 17 * 2^192 + 1'); + } + return result; + } + + //define - operator. Check no negative + Felt operator -(Felt other) { + Felt result = Felt(_bigInt - other._bigInt); + if (result._bigInt < BigInt.zero) { + throw ArgumentError('Value must be greater than 0'); + } + return result; + } + + //define * operator + Felt operator *(Felt other) { + Felt result = Felt(_bigInt * other._bigInt); + return result; + } + + //define / operator + Felt operator /(Felt other) { + if (other._bigInt == BigInt.zero) { + throw ArgumentError('Cannot divide by zero'); + } + // modInverse will throw if no inverse exists + BigInt inverse = other._bigInt.modInverse(prime); + Felt result = Felt((_bigInt * inverse) % prime); + return result; + } + Felt(this._bigInt) { if (_bigInt >= prime) { throw ArgumentError('Value must be smaller than 2^251 + 17 * 2^192 + 1'); diff --git a/packages/starknet/test/account_test.dart b/packages/starknet/test/account_test.dart index 8bc35a49..258ed946 100644 --- a/packages/starknet/test/account_test.dart +++ b/packages/starknet/test/account_test.dart @@ -76,18 +76,22 @@ void main() { 'succeeds to declare a simple sierra contract with provided CASM file', () async { final sierraContract = await CompiledContract.fromPath( - '${Directory.current.path}/../../contracts/cairo1/artifacts/erc20_sierra.txt', - ); + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_Counter2.contract_class.json'); final compiledContract = await CASMCompiledContract.fromPath( - '${Directory.current.path}/../../contracts/cairo1/artifacts/erc20_compiled.txt', - ); + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_Counter2.compiled_contract_class.json'); final compiledClassHash = compiledContract.classHash(); final sierraClassHash = Felt(sierraContract.classHash()); - final res = await account0.declare( + var maxFee = await account2.getEstimateMaxFeeForDeclareTx( compiledContract: sierraContract, compiledClassHash: compiledClassHash, ); + + final res = await account2.declare( + compiledContract: sierraContract, + compiledClassHash: compiledClassHash, + max_fee: maxFee.maxFee, + ); final txHash = res.when( result: (result) { expect( @@ -102,23 +106,77 @@ void main() { ); final txStatus = await waitForAcceptance( transactionHash: txHash, - provider: account0.provider, + provider: account2.provider, ); expect(txStatus, equals(true)); // check if code is - (await account0.provider.getClass( + final res2 = await account2.provider.getClass( blockId: BlockId.latest, classHash: sierraClassHash, - )) - .when( + ); + res2.when( result: (res) { expect(res, isA()); final contract = res as SierraContractClass; expect( contract.sierraProgram, equals( - sierraContract.contract.sierraProgram.map(Felt.new), - ), + sierraContract.contract.sierraProgram.map((e) => Felt(e))), + ); + }, + error: (error) => fail("Shouldn't fail"), + ); + }); + + test( + 'succeeds to declare a simple sierra contract with provided CASM file and STRK fee with resource bounds', + () async { + final sierraContract = await CompiledContract.fromPath( + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_MyToken.contract_class.json'); + final compiledContract = await CASMCompiledContract.fromPath( + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_MyToken.compiled_contract_class.json'); + final BigInt compiledClassHash = compiledContract.classHash(); + + Felt sierraClassHash = Felt(sierraContract.classHash()); + + var maxFee = await account2.getEstimateMaxFeeForDeclareTx( + compiledContract: sierraContract, + compiledClassHash: compiledClassHash, + useSTRKFee: true, + ); + + var res = await account2.declare( + compiledContract: sierraContract, + compiledClassHash: compiledClassHash, + useSTRKFee: true, + l1MaxAmount: maxFee.maxAmount, + l1MaxPricePerUnit: maxFee.maxPricePerUnit, + ); + final txHash = res.when( + result: (result) { + expect(result.classHash, equals(sierraClassHash)); + return result.transactionHash.toHexString(); + }, + error: (error) => fail(error.message), + ); + final txStatus = await waitForAcceptance( + transactionHash: txHash, + provider: account2.provider, + ); + expect(txStatus, equals(true)); + // check if code is + final res2 = await account2.provider.getClass( + blockId: BlockId.blockTag('latest'), + classHash: sierraClassHash, + ); + res2.when( + result: (res) { + expect(res, isA()); + final contract = res as SierraContractClass; + expect( + contract.sierraProgram, + equals( + sierraContract.contract.sierraProgram.map((e) => Felt(e))), ); }, error: (error) => fail("Shouldn't fail"), @@ -126,109 +184,448 @@ void main() { }); }, tags: ['integration'], - skip: true, + skip: false, ); + group('deploy', () { + test('succeeds to deploy a cairo 0 contract', () async { + // Balance contract + final classHash = balanceClassHash; + + final contractAddress = await account0 + .deploy(classHash: classHash, calldata: [Felt.fromInt(42)]); + expect(contractAddress, equals(balanceContractAddress)); + }, + skip: + true); // Currently starknet doesn't support deploy cairo 0 contract + + test('succeeds to deploy a cairo 1 contract', () async { + final classHash = Felt.fromHexString( + '0x6d8ede036bb4720e6f348643221d8672bf4f0895622c32c11e57460b3b7dffc', + ); + final contractAddress = await account0.deploy( + classHash: classHash, + calldata: [ + Felt.fromString('Starknet.dart'), + Felt.fromString('DART'), + Felt.fromInt(18), + Felt.fromInt(1000), + Felt.fromInt(0), + account0.accountAddress, + ], + ); + expect( + contractAddress, + equals( + Felt.fromHexString( + '0x53813135446812b36f67e5b363813df086d88544ce17c742376082b8e997e29', + ), + ), + ); + print('Address $contractAddress'); + }, + skip: + true); // We don't have this class hash in starknet. But deploy cairo 1 contract is supported + // is being tested below in: test('succeeds to invoke a function execute to a cairo 1 contract', + + test('succeeds to deploy an account v1', () async { + final accountPrivateKey = Felt.fromHexString('0x12345678'); + final accountPublicKey = Felt.fromHexString( + '0x47de619de131463cbf799d321b50c617566dc897d4be614fb3927eacd55d7ad', + ); + final accountConstructorCalldata = [accountPublicKey]; + final accountSigner = Signer(privateKey: accountPrivateKey); + final classHash = devnetOpenZeppelinAccountClassHash; + final provider = account0.provider; + final salt = Felt.fromInt(42); + // we have to compute account address to send token + final accountAddress = Contract.computeAddress( + classHash: classHash, + calldata: accountConstructorCalldata, + salt: salt); + + Felt accountClassHash = (await provider.getClassHashAt( + contractAddress: accountAddress, blockId: BlockId.latest)) + .when( + result: (result) => result, + error: ((error) => Felt.fromInt(0))); + expect(accountClassHash, equals(Felt.fromInt(0))); + // Simulate deploy account to get fees + var maxFee = await account0.getEstimateMaxFeeForDeployAccountTx( + classHash: classHash, + signer: accountSigner, + provider: provider, + constructorCalldata: accountConstructorCalldata, + contractAddressSalt: salt); + // account address requires token to pay deploy fees + final txSend = await account0.send( + recipient: accountAddress, + amount: Uint256(low: maxFee.maxFee, high: Felt.fromInt(0))); + bool success = await waitForAcceptance( + transactionHash: txSend, provider: account0.provider); + expect(success, equals(true)); + + final result = await account0.provider.call( + request: FunctionCall( + contractAddress: Felt.fromHexString( + "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"), + entryPointSelector: getSelectorByName("balance_of"), + calldata: [accountAddress]), + blockId: BlockId.latest, + ); + result.when( + result: (result) => result[0].toInt(), + error: (error) => throw Exception("Failed to get balance"), + ); + // deploy the account + final tx = await Account.deployAccount( + classHash: classHash, + signer: accountSigner, + provider: provider, + constructorCalldata: accountConstructorCalldata, + contractAddressSalt: salt, + max_fee: maxFee.maxFee); + final contractAddress = tx.when( + result: (result) => result.contractAddress, + error: (error) => + throw Exception("${error.code}: ${error.message}")); + + expect(accountAddress, equals(contractAddress)); + accountClassHash = (await provider.getClassHashAt( + contractAddress: accountAddress, blockId: BlockId.latest)) + .when( + result: (result) => result, + error: ((error) => Felt.fromInt(0))); + expect(accountClassHash, equals(classHash)); + }); + test('succeeds to deploy an account v3', () async { + final accountPrivateKey = Felt.fromHexString("0x12345678abcdef"); + final accountPublicKey = Felt.fromHexString( + "0x44702ae20646bbb316ee2f301c9b31ca9f7f301d48d2b6ee82da71f828e8bcb"); + final accountConstructorCalldata = [accountPublicKey]; + final accountSigner = Signer(privateKey: accountPrivateKey); + final classHash = devnetOpenZeppelinAccountClassHash; + final provider = account0.provider; + final salt = Felt.fromInt(42); + // we have to compute account address to send token + final accountAddress = Contract.computeAddress( + classHash: classHash, + calldata: accountConstructorCalldata, + salt: salt); + + Felt accountClassHash = (await provider.getClassHashAt( + contractAddress: accountAddress, blockId: BlockId.latest)) + .when( + result: (result) => result, + error: ((error) => Felt.fromInt(0))); + expect(accountClassHash, equals(Felt.fromInt(0))); + // Simulate deploy account to get fees + var maxFee = await account0.getEstimateMaxFeeForDeployAccountTx( + classHash: classHash, + signer: accountSigner, + provider: provider, + constructorCalldata: accountConstructorCalldata, + contractAddressSalt: salt, + useSTRKFee: true, + ); + // account address requires token to pay deploy fees + final txSend = await account0.send( + recipient: accountAddress, + amount: Uint256( + low: maxFee.maxAmount * maxFee.maxPricePerUnit, + high: Felt.fromInt(0)), + useSTRKtoken: true); + bool success = await waitForAcceptance( + transactionHash: txSend, provider: account0.provider); + expect(success, equals(true)); + // deploy account with STRK fee + final tx = await Account.deployAccount( + classHash: classHash, + signer: accountSigner, + provider: provider, + constructorCalldata: accountConstructorCalldata, + contractAddressSalt: salt, + useSTRKFee: true, + l1MaxAmount: maxFee.maxAmount, + l1MaxPricePerUnit: maxFee.maxPricePerUnit, + ); + final contractAddress = tx.when( + result: (result) => result.contractAddress, + error: (error) => throw Exception('${error.code}: ${error.message}'), + ); + expect(accountAddress, equals(contractAddress)); + accountClassHash = (await provider.getClassHashAt( + contractAddress: accountAddress, + blockId: BlockId.latest, + )) + .when( + result: (result) => result, + error: (error) => Felt.fromInt(0), + ); + expect(accountClassHash, equals(classHash)); + }); + // }, tags: ['integration']); + }, tags: ['integration'], skip: false); + group( - 'deploy', + 'execute', () { - test('succeeds to deploy a cairo 0 contract', () async { - // Balance contract - final classHash = balanceClassHash; + test('succeeds to invoke a function execute to a cairo 1 contract', + () async { + final sierraContract = await CompiledContract.fromPath( + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_MyToken.contract_class.json'); + final compiledContract = await CASMCompiledContract.fromPath( + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_MyToken.compiled_contract_class.json'); + final BigInt compiledClassHash = compiledContract.classHash(); + + Felt sierraClassHash = Felt(sierraContract.classHash()); + + FeeEstimations maxFee; + String? txHash; + + try { + maxFee = await account3.getEstimateMaxFeeForDeclareTx( + compiledContract: sierraContract, + compiledClassHash: compiledClassHash); + + var res = await account3.declare( + compiledContract: sierraContract, + compiledClassHash: compiledClassHash, + max_fee: maxFee.maxFee, + ); + txHash = res.when( + result: (result) { + expect( + result.classHash, + equals( + sierraClassHash, + ), + ); + return result.transactionHash.toHexString(); + }, + error: (error) { + throw error; + }, + ); + + await waitForAcceptance( + transactionHash: txHash!, + provider: account3.provider, + ); + } catch (e) { + print(e.toString()); + if (!e.toString().contains('Contract error')) { + // If already declared just continue + rethrow; + } + } + + maxFee = await account3.getEstimateMaxFeeForDeployTx( + classHash: sierraClassHash, + calldata: [ + Felt.fromInt(100), + Felt.fromInt(0), + account3.accountAddress + ]); + final contractAddress = await account3.deploy( + classHash: sierraClassHash, + calldata: [ + Felt.fromInt(100), + Felt.fromInt(0), + account3.accountAddress + ], + max_fee: maxFee.maxFee); + + maxFee = await account3.getEstimateMaxFeeForInvokeTx(functionCalls: [ + FunctionCall( + contractAddress: contractAddress!, + entryPointSelector: getSelectorByName("transfer"), + calldata: [ + account1.accountAddress, + Felt.fromInt(100), + Felt.fromInt(0), + ], + ), + ]); + + final response = await account3.execute( + functionCalls: [ + FunctionCall( + contractAddress: contractAddress, + entryPointSelector: getSelectorByName("transfer"), + calldata: [ + account1.accountAddress, + Felt.fromInt(100), + Felt.fromInt(0), + ], + ), + ], + max_fee: maxFee.maxFee, + ); + + final txHash1 = response.when( + result: (result) => result.transaction_hash, + error: (err) => throw Exception("Failed to execute"), + ); + + await waitForAcceptance( + transactionHash: txHash1, provider: account3.provider); + + final result = await account3.provider.call( + request: FunctionCall( + contractAddress: contractAddress, + entryPointSelector: getSelectorByName("balance_of"), + calldata: [account1.accountAddress]), + blockId: BlockId.latest, + ); + int counter = result.when( + result: (result) => result[0].toInt(), + error: (error) => throw Exception("Failed to get balance"), + ); - final contractAddress = await account0 - .deploy(classHash: classHash, calldata: [Felt.fromInt(42)]); - expect(contractAddress, equals(balanceContractAddress)); + expect( + counter, + equals( + 100, + )); }); - test('succeeds to deploy a cairo 1 contract', () async { - final classHash = Felt.fromHexString( - '0x6d8ede036bb4720e6f348643221d8672bf4f0895622c32c11e57460b3b7dffc', + test( + 'succeeds to invoke a function execute to a cairo 1 contract with invoke v3 (paying gas with STRK)', + () async { + final sierraContract = await CompiledContract.fromPath( + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_MyToken.contract_class.json'); + final compiledContract = await CASMCompiledContract.fromPath( + '${Directory.current.path}/../../contracts/v1/artifacts/contract2_MyToken.compiled_contract_class.json'); + final BigInt compiledClassHash = compiledContract.classHash(); + + Felt sierraClassHash = Felt(sierraContract.classHash()); + + FeeEstimations maxFee; + String? txHash; + try { + maxFee = await account3.getEstimateMaxFeeForDeclareTx( + compiledContract: sierraContract, + compiledClassHash: compiledClassHash, + useSTRKFee: true); + + var res = await account3.declare( + compiledContract: sierraContract, + compiledClassHash: compiledClassHash, + useSTRKFee: true, + l1MaxAmount: maxFee.maxAmount, + l1MaxPricePerUnit: maxFee.maxPricePerUnit, + ); + txHash = res.when( + result: (result) { + expect( + result.classHash, + equals( + sierraClassHash, + ), + ); + return result.transactionHash.toHexString(); + }, + error: (error) { + throw error; + }, + ); + + await waitForAcceptance( + transactionHash: txHash!, + provider: account3.provider, + ); + } catch (e) { + print(e.toString()); + if (!e.toString().contains('Contract error')) { + // If already declared just continue + rethrow; + } + } + + maxFee = await account3.getEstimateMaxFeeForDeployTx( + classHash: sierraClassHash, + calldata: [ + Felt.fromInt(100), + Felt.fromInt(0), + account3.accountAddress + ], + useSTRKFee: true, ); - final contractAddress = await account0.deploy( - classHash: classHash, + + final contractAddress = await account3.deploy( + classHash: sierraClassHash, calldata: [ - Felt.fromString('Starknet.dart'), - Felt.fromString('DART'), - Felt.fromInt(18), - Felt.fromInt(1000), + Felt.fromInt(100), Felt.fromInt(0), - account0.accountAddress, + account3.accountAddress ], + useSTRKFee: true, + l1MaxAmount: maxFee.maxAmount, + l1MaxPricePerUnit: maxFee.maxPricePerUnit, ); - expect( - contractAddress, - equals( - Felt.fromHexString( - '0x53813135446812b36f67e5b363813df086d88544ce17c742376082b8e997e29', + + maxFee = await account3.getEstimateMaxFeeForInvokeTx(functionCalls: [ + FunctionCall( + contractAddress: contractAddress!, + entryPointSelector: getSelectorByName("transfer"), + calldata: [ + account1.accountAddress, + Felt.fromInt(100), + Felt.fromInt(0), + ], + ) + ], useSTRKFee: true); + + final response = await account3.execute( + functionCalls: [ + FunctionCall( + contractAddress: contractAddress, + entryPointSelector: getSelectorByName("transfer"), + calldata: [ + account1.accountAddress, + Felt.fromInt(100), + Felt.fromInt(0), + ], ), - ), + ], + useLegacyCalldata: false, + incrementNonceIfNonceRelatedError: true, + maxAttempts: 5, + useSTRKFee: true, + l1MaxAmount: maxFee.maxAmount, + l1MaxPricePerUnit: maxFee.maxPricePerUnit, ); - print('Address $contractAddress'); - }); - test('succeeds to deploy an account', () async { - final accountPrivateKey = Felt.fromHexString('0x12345678'); - final accountPublicKey = Felt.fromHexString( - '0x47de619de131463cbf799d321b50c617566dc897d4be614fb3927eacd55d7ad', - ); - final accountConstructorCalldata = [accountPublicKey]; - final accountSigner = Signer(privateKey: accountPrivateKey); - final classHash = devnetOpenZeppelinAccountClassHash; - final maxFee = defaultMaxFee; - final provider = account0.provider; - // we have to compute account address to send token - final accountAddress = Contract.computeAddress( - classHash: classHash, - calldata: accountConstructorCalldata, - salt: Felt.fromInt(42), + + final txHash1 = response.when( + result: (result) => result.transaction_hash, + error: (err) => throw Exception("Failed to execute"), ); - var accountClassHash = (await provider.getClassHashAt( - contractAddress: accountAddress, + await waitForAcceptance( + transactionHash: txHash1, provider: account3.provider); + + final result = await account3.provider.call( + request: FunctionCall( + contractAddress: contractAddress, + entryPointSelector: getSelectorByName("balance_of"), + calldata: [account1.accountAddress]), blockId: BlockId.latest, - )) - .when( - result: (result) => result, - error: (error) => Felt.fromInt(0), - ); - expect(accountClassHash, equals(Felt.fromInt(0))); - // account address requires token to pay deploy fees - final txSend = await account0.send( - recipient: accountAddress, - amount: Uint256(low: maxFee, high: Felt.fromInt(0)), - ); - final success = await waitForAcceptance( - transactionHash: txSend, - provider: account0.provider, - ); - expect(success, equals(true)); - final tx = await Account.deployAccount( - classHash: accountClassHash, - signer: accountSigner, - provider: provider, - constructorCalldata: accountConstructorCalldata, - max_fee: maxFee, ); - final contractAddress = tx.when( - result: (result) => result.contractAddress, - error: (error) => - throw Exception('${error.code}: ${error.message}'), + int counter = result.when( + result: (result) => result[0].toInt(), + error: (error) => throw Exception("Failed to get balance"), ); - expect(accountAddress, equals(contractAddress)); - accountClassHash = (await provider.getClassHashAt( - contractAddress: accountAddress, - blockId: BlockId.latest, - )) - .when( - result: (result) => result, - error: (error) => Felt.fromInt(0), - ); - expect(accountClassHash, equals(classHash)); + + expect( + counter, + equals( + 100, + )); }); - // }, tags: ['integration']); }, tags: ['integration'], - skip: true, + skip: false, ); group( diff --git a/packages/starknet/test/model.freezed.dart b/packages/starknet/test/model.freezed.dart index 1e343bd7..df1b6a2e 100644 --- a/packages/starknet/test/model.freezed.dart +++ b/packages/starknet/test/model.freezed.dart @@ -23,8 +23,12 @@ mixin _$Product { String get name => throw _privateConstructorUsedError; Uint256 get price => throw _privateConstructorUsedError; + /// Serializes this Product to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of Product + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $ProductCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -46,6 +50,8 @@ class _$ProductCopyWithImpl<$Res, $Val extends Product> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of Product + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -83,6 +89,8 @@ class __$$ProductImplCopyWithImpl<$Res> _$ProductImpl _value, $Res Function(_$ProductImpl) _then) : super(_value, _then); + /// Create a copy of Product + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -129,11 +137,13 @@ class _$ProductImpl implements _Product { (identical(other.price, price) || other.price == price)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, name, price); - @JsonKey(ignore: true) + /// Create a copy of Product + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$ProductImplCopyWith<_$ProductImpl> get copyWith => @@ -157,8 +167,11 @@ abstract class _Product implements Product { String get name; @override Uint256 get price; + + /// Create a copy of Product + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$ProductImplCopyWith<_$ProductImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/packages/starknet/test/types/felt_test.dart b/packages/starknet/test/types/felt_test.dart index 2c7a7f28..7a776e3c 100644 --- a/packages/starknet/test/types/felt_test.dart +++ b/packages/starknet/test/types/felt_test.dart @@ -9,5 +9,44 @@ void main() { result = Felt.fromHexString("0x535441524b4e4554").toSymbol(); expect(result, equals("STARKNET")); }); + test('operator +', () { + Felt a = Felt.fromHexString("0x1"); + Felt b = Felt.fromHexString("0x2"); + expect((a + b).toHexString(), equals("0x3")); + // Test overflow + Felt max = Felt(Felt.prime - BigInt.from(1)); + expect(() => max + Felt.fromInt(1), throwsA(isA())); + }); + test('operator -', () { + Felt a = Felt.fromHexString("0x3"); + Felt b = Felt.fromHexString("0x2"); + expect((a - b).toHexString(), equals("0x1")); + // Test negative result + expect(() => b - a, throwsA(isA())); + }); + test('operator >>', () { + Felt a = Felt.fromHexString("0x8"); + expect((a >> 1).toHexString(), equals("0x4")); + // Test boundary conditions + expect((a >> 3).toHexString(), equals("0x1")); + expect((a >> 4).toHexString(), equals("0x0")); + }); + test('operator <<', () { + Felt a = Felt.fromHexString("0x4"); + expect((a << 1).toHexString(), equals("0x8")); + // Test overflow + Felt max = Felt(Felt.prime - BigInt.from(1)); + expect(() => max << 1, throwsA(isA())); + }); + test('should throw ArgumentError for value equal to prime (edge case)', () { + expect( + () => Felt(Felt.prime), + throwsA(isA().having( + (e) => e.message, + 'message', + 'Value must be smaller than 2^251 + 17 * 2^192 + 1', + )), + ); + }); }); } diff --git a/packages/starknet_provider/.tool-versions b/packages/starknet_provider/.tool-versions index e1e3ab62..3d534ad6 100644 --- a/packages/starknet_provider/.tool-versions +++ b/packages/starknet_provider/.tool-versions @@ -1 +1 @@ -starknet-devnet 0.0.7 +starknet-devnet 0.1.2 diff --git a/packages/starknet_provider/lib/src/model/declare_transaction.dart b/packages/starknet_provider/lib/src/model/declare_transaction.dart index 00472193..7ab9c1b5 100644 --- a/packages/starknet_provider/lib/src/model/declare_transaction.dart +++ b/packages/starknet_provider/lib/src/model/declare_transaction.dart @@ -7,6 +7,13 @@ import 'package:starknet_provider/starknet_provider.dart'; part 'declare_transaction.freezed.dart'; part 'declare_transaction.g.dart'; +const String declareTxnV1 = '0x1'; +const String declareTxnV2 = '0x2'; +const String declareTxnV3 = '0x3'; +const String declareTxnV1OldCompat = '0x01'; +const String declareTxnV2OldCompat = '0x02'; +const String declareTxnV3OldCompat = '0x03'; + @freezed class DeclareTransactionRequest with _$DeclareTransactionRequest { const factory DeclareTransactionRequest({ @@ -18,10 +25,22 @@ class DeclareTransactionRequest with _$DeclareTransactionRequest { } abstract class DeclareTransaction { - factory DeclareTransaction.fromJson(Map json) => - json['version'] == '0x1' - ? DeclareTransactionV1.fromJson(json) - : DeclareTransactionV2.fromJson(json); + factory DeclareTransaction.fromJson(Map json) { + switch (json['version']) { + case declareTxnV1: + case declareTxnV1OldCompat: + return DeclareTransactionV1.fromJson(json); + case declareTxnV2: + case declareTxnV2OldCompat: + return DeclareTransactionV2.fromJson(json); + case declareTxnV3: + case declareTxnV3OldCompat: + return DeclareTransactionV3.fromJson(json); + default: + throw ArgumentError( + 'Unsupported transaction version: ${json['version']}'); + } + } Map toJson(); } @@ -32,7 +51,7 @@ class DeclareTransactionV1 implements DeclareTransaction { const factory DeclareTransactionV1({ @Default('DECLARE') String type, - @Default('0x1') String version, + @Default(declareTxnV1) String version, required Felt max_fee, required Felt nonce, required List signature, @@ -50,8 +69,9 @@ class DeclareTransactionV2 implements DeclareTransaction { const factory DeclareTransactionV2({ @Default('DECLARE') String type, - @Default('0x2') String version, - required Felt max_fee, + @Default(declareTxnV2) String version, + required String + max_fee, // As String because devnet only supports 16 bytes and not a Felt required Felt nonce, required List signature, required Felt senderAddress, @@ -63,6 +83,41 @@ class DeclareTransactionV2 _$DeclareTransactionV2FromJson(json); } +@freezed +class DeclareTransactionV3 + with _$DeclareTransactionV3 + implements DeclareTransaction { + const factory DeclareTransactionV3({ + @Default('DECLARE') String type, + @Default(declareTxnV3) String version, + required List accountDeploymentData, + required Felt compiledClassHash, + required FlattenSierraContractClass contractClass, + required String feeDataAvailabilityMode, + required Felt nonce, + required String nonceDataAvailabilityMode, + required List paymasterData, + required Map resourceBounds, + required Felt senderAddress, + required List signature, + required String tip, + }) = _DeclareTransactionV3; + + factory DeclareTransactionV3.fromJson(Map json) => + _$DeclareTransactionV3FromJson(json); +} + +@freezed +class ResourceBounds with _$ResourceBounds { + const factory ResourceBounds({ + required String maxAmount, + required String maxPricePerUnit, + }) = _ResourceBounds; + + factory ResourceBounds.fromJson(Map json) => + _$ResourceBoundsFromJson(json); +} + @freezed class DeclareTransactionResponse with _$DeclareTransactionResponse { const factory DeclareTransactionResponse.result({ diff --git a/packages/starknet_provider/lib/src/model/declare_transaction.freezed.dart b/packages/starknet_provider/lib/src/model/declare_transaction.freezed.dart index 7e65581d..ea77c6b7 100644 --- a/packages/starknet_provider/lib/src/model/declare_transaction.freezed.dart +++ b/packages/starknet_provider/lib/src/model/declare_transaction.freezed.dart @@ -364,7 +364,7 @@ class __$$DeclareTransactionV1ImplCopyWithImpl<$Res> class _$DeclareTransactionV1Impl implements _DeclareTransactionV1 { const _$DeclareTransactionV1Impl( {this.type = 'DECLARE', - this.version = '0x1', + this.version = declareTxnV1, required this.max_fee, required this.nonce, required final List signature, @@ -495,7 +495,8 @@ DeclareTransactionV2 _$DeclareTransactionV2FromJson(Map json) { mixin _$DeclareTransactionV2 { String get type => throw _privateConstructorUsedError; String get version => throw _privateConstructorUsedError; - Felt get max_fee => throw _privateConstructorUsedError; + String get max_fee => + throw _privateConstructorUsedError; // As String because devnet only supports 16 bytes and not a Felt Felt get nonce => throw _privateConstructorUsedError; List get signature => throw _privateConstructorUsedError; Felt get senderAddress => throw _privateConstructorUsedError; @@ -522,7 +523,7 @@ abstract class $DeclareTransactionV2CopyWith<$Res> { $Res call( {String type, String version, - Felt max_fee, + String max_fee, Felt nonce, List signature, Felt senderAddress, @@ -569,7 +570,7 @@ class _$DeclareTransactionV2CopyWithImpl<$Res, max_fee: null == max_fee ? _value.max_fee : max_fee // ignore: cast_nullable_to_non_nullable - as Felt, + as String, nonce: null == nonce ? _value.nonce : nonce // ignore: cast_nullable_to_non_nullable @@ -616,7 +617,7 @@ abstract class _$$DeclareTransactionV2ImplCopyWith<$Res> $Res call( {String type, String version, - Felt max_fee, + String max_fee, Felt nonce, List signature, Felt senderAddress, @@ -661,7 +662,7 @@ class __$$DeclareTransactionV2ImplCopyWithImpl<$Res> max_fee: null == max_fee ? _value.max_fee : max_fee // ignore: cast_nullable_to_non_nullable - as Felt, + as String, nonce: null == nonce ? _value.nonce : nonce // ignore: cast_nullable_to_non_nullable @@ -691,7 +692,7 @@ class __$$DeclareTransactionV2ImplCopyWithImpl<$Res> class _$DeclareTransactionV2Impl implements _DeclareTransactionV2 { const _$DeclareTransactionV2Impl( {this.type = 'DECLARE', - this.version = '0x2', + this.version = declareTxnV2, required this.max_fee, required this.nonce, required final List signature, @@ -710,7 +711,8 @@ class _$DeclareTransactionV2Impl implements _DeclareTransactionV2 { @JsonKey() final String version; @override - final Felt max_fee; + final String max_fee; +// As String because devnet only supports 16 bytes and not a Felt @override final Felt nonce; final List _signature; @@ -787,7 +789,7 @@ abstract class _DeclareTransactionV2 implements DeclareTransactionV2 { const factory _DeclareTransactionV2( {final String type, final String version, - required final Felt max_fee, + required final String max_fee, required final Felt nonce, required final List signature, required final Felt senderAddress, @@ -802,7 +804,8 @@ abstract class _DeclareTransactionV2 implements DeclareTransactionV2 { @override String get version; @override - Felt get max_fee; + String + get max_fee; // As String because devnet only supports 16 bytes and not a Felt @override Felt get nonce; @override @@ -822,6 +825,647 @@ abstract class _DeclareTransactionV2 implements DeclareTransactionV2 { get copyWith => throw _privateConstructorUsedError; } +DeclareTransactionV3 _$DeclareTransactionV3FromJson(Map json) { + return _DeclareTransactionV3.fromJson(json); +} + +/// @nodoc +mixin _$DeclareTransactionV3 { + String get type => throw _privateConstructorUsedError; + String get version => throw _privateConstructorUsedError; + List get accountDeploymentData => throw _privateConstructorUsedError; + Felt get compiledClassHash => throw _privateConstructorUsedError; + FlattenSierraContractClass get contractClass => + throw _privateConstructorUsedError; + String get feeDataAvailabilityMode => throw _privateConstructorUsedError; + Felt get nonce => throw _privateConstructorUsedError; + String get nonceDataAvailabilityMode => throw _privateConstructorUsedError; + List get paymasterData => throw _privateConstructorUsedError; + Map get resourceBounds => + throw _privateConstructorUsedError; + Felt get senderAddress => throw _privateConstructorUsedError; + List get signature => throw _privateConstructorUsedError; + String get tip => throw _privateConstructorUsedError; + + /// Serializes this DeclareTransactionV3 to a JSON map. + Map toJson() => throw _privateConstructorUsedError; + + /// Create a copy of DeclareTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + $DeclareTransactionV3CopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $DeclareTransactionV3CopyWith<$Res> { + factory $DeclareTransactionV3CopyWith(DeclareTransactionV3 value, + $Res Function(DeclareTransactionV3) then) = + _$DeclareTransactionV3CopyWithImpl<$Res, DeclareTransactionV3>; + @useResult + $Res call( + {String type, + String version, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + Felt nonce, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + List signature, + String tip}); + + $FlattenSierraContractClassCopyWith<$Res> get contractClass; +} + +/// @nodoc +class _$DeclareTransactionV3CopyWithImpl<$Res, + $Val extends DeclareTransactionV3> + implements $DeclareTransactionV3CopyWith<$Res> { + _$DeclareTransactionV3CopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + /// Create a copy of DeclareTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? version = null, + Object? accountDeploymentData = null, + Object? compiledClassHash = null, + Object? contractClass = null, + Object? feeDataAvailabilityMode = null, + Object? nonce = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? senderAddress = null, + Object? signature = null, + Object? tip = null, + }) { + return _then(_value.copyWith( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + accountDeploymentData: null == accountDeploymentData + ? _value.accountDeploymentData + : accountDeploymentData // ignore: cast_nullable_to_non_nullable + as List, + compiledClassHash: null == compiledClassHash + ? _value.compiledClassHash + : compiledClassHash // ignore: cast_nullable_to_non_nullable + as Felt, + contractClass: null == contractClass + ? _value.contractClass + : contractClass // ignore: cast_nullable_to_non_nullable + as FlattenSierraContractClass, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value.paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value.resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + senderAddress: null == senderAddress + ? _value.senderAddress + : senderAddress // ignore: cast_nullable_to_non_nullable + as Felt, + signature: null == signature + ? _value.signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, + ) as $Val); + } + + /// Create a copy of DeclareTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @override + @pragma('vm:prefer-inline') + $FlattenSierraContractClassCopyWith<$Res> get contractClass { + return $FlattenSierraContractClassCopyWith<$Res>(_value.contractClass, + (value) { + return _then(_value.copyWith(contractClass: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$DeclareTransactionV3ImplCopyWith<$Res> + implements $DeclareTransactionV3CopyWith<$Res> { + factory _$$DeclareTransactionV3ImplCopyWith(_$DeclareTransactionV3Impl value, + $Res Function(_$DeclareTransactionV3Impl) then) = + __$$DeclareTransactionV3ImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String type, + String version, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + Felt nonce, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + List signature, + String tip}); + + @override + $FlattenSierraContractClassCopyWith<$Res> get contractClass; +} + +/// @nodoc +class __$$DeclareTransactionV3ImplCopyWithImpl<$Res> + extends _$DeclareTransactionV3CopyWithImpl<$Res, _$DeclareTransactionV3Impl> + implements _$$DeclareTransactionV3ImplCopyWith<$Res> { + __$$DeclareTransactionV3ImplCopyWithImpl(_$DeclareTransactionV3Impl _value, + $Res Function(_$DeclareTransactionV3Impl) _then) + : super(_value, _then); + + /// Create a copy of DeclareTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? version = null, + Object? accountDeploymentData = null, + Object? compiledClassHash = null, + Object? contractClass = null, + Object? feeDataAvailabilityMode = null, + Object? nonce = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? senderAddress = null, + Object? signature = null, + Object? tip = null, + }) { + return _then(_$DeclareTransactionV3Impl( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + accountDeploymentData: null == accountDeploymentData + ? _value._accountDeploymentData + : accountDeploymentData // ignore: cast_nullable_to_non_nullable + as List, + compiledClassHash: null == compiledClassHash + ? _value.compiledClassHash + : compiledClassHash // ignore: cast_nullable_to_non_nullable + as Felt, + contractClass: null == contractClass + ? _value.contractClass + : contractClass // ignore: cast_nullable_to_non_nullable + as FlattenSierraContractClass, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value._paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value._resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + senderAddress: null == senderAddress + ? _value.senderAddress + : senderAddress // ignore: cast_nullable_to_non_nullable + as Felt, + signature: null == signature + ? _value._signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$DeclareTransactionV3Impl implements _DeclareTransactionV3 { + const _$DeclareTransactionV3Impl( + {this.type = 'DECLARE', + this.version = declareTxnV3, + required final List accountDeploymentData, + required this.compiledClassHash, + required this.contractClass, + required this.feeDataAvailabilityMode, + required this.nonce, + required this.nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required this.senderAddress, + required final List signature, + required this.tip}) + : _accountDeploymentData = accountDeploymentData, + _paymasterData = paymasterData, + _resourceBounds = resourceBounds, + _signature = signature; + + factory _$DeclareTransactionV3Impl.fromJson(Map json) => + _$$DeclareTransactionV3ImplFromJson(json); + + @override + @JsonKey() + final String type; + @override + @JsonKey() + final String version; + final List _accountDeploymentData; + @override + List get accountDeploymentData { + if (_accountDeploymentData is EqualUnmodifiableListView) + return _accountDeploymentData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_accountDeploymentData); + } + + @override + final Felt compiledClassHash; + @override + final FlattenSierraContractClass contractClass; + @override + final String feeDataAvailabilityMode; + @override + final Felt nonce; + @override + final String nonceDataAvailabilityMode; + final List _paymasterData; + @override + List get paymasterData { + if (_paymasterData is EqualUnmodifiableListView) return _paymasterData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_paymasterData); + } + + final Map _resourceBounds; + @override + Map get resourceBounds { + if (_resourceBounds is EqualUnmodifiableMapView) return _resourceBounds; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_resourceBounds); + } + + @override + final Felt senderAddress; + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } + + @override + final String tip; + + @override + String toString() { + return 'DeclareTransactionV3(type: $type, version: $version, accountDeploymentData: $accountDeploymentData, compiledClassHash: $compiledClassHash, contractClass: $contractClass, feeDataAvailabilityMode: $feeDataAvailabilityMode, nonce: $nonce, nonceDataAvailabilityMode: $nonceDataAvailabilityMode, paymasterData: $paymasterData, resourceBounds: $resourceBounds, senderAddress: $senderAddress, signature: $signature, tip: $tip)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$DeclareTransactionV3Impl && + (identical(other.type, type) || other.type == type) && + (identical(other.version, version) || other.version == version) && + const DeepCollectionEquality() + .equals(other._accountDeploymentData, _accountDeploymentData) && + (identical(other.compiledClassHash, compiledClassHash) || + other.compiledClassHash == compiledClassHash) && + (identical(other.contractClass, contractClass) || + other.contractClass == contractClass) && + (identical( + other.feeDataAvailabilityMode, feeDataAvailabilityMode) || + other.feeDataAvailabilityMode == feeDataAvailabilityMode) && + (identical(other.nonce, nonce) || other.nonce == nonce) && + (identical(other.nonceDataAvailabilityMode, + nonceDataAvailabilityMode) || + other.nonceDataAvailabilityMode == nonceDataAvailabilityMode) && + const DeepCollectionEquality() + .equals(other._paymasterData, _paymasterData) && + const DeepCollectionEquality() + .equals(other._resourceBounds, _resourceBounds) && + (identical(other.senderAddress, senderAddress) || + other.senderAddress == senderAddress) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.tip, tip) || other.tip == tip)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash( + runtimeType, + type, + version, + const DeepCollectionEquality().hash(_accountDeploymentData), + compiledClassHash, + contractClass, + feeDataAvailabilityMode, + nonce, + nonceDataAvailabilityMode, + const DeepCollectionEquality().hash(_paymasterData), + const DeepCollectionEquality().hash(_resourceBounds), + senderAddress, + const DeepCollectionEquality().hash(_signature), + tip); + + /// Create a copy of DeclareTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$DeclareTransactionV3ImplCopyWith<_$DeclareTransactionV3Impl> + get copyWith => + __$$DeclareTransactionV3ImplCopyWithImpl<_$DeclareTransactionV3Impl>( + this, _$identity); + + @override + Map toJson() { + return _$$DeclareTransactionV3ImplToJson( + this, + ); + } +} + +abstract class _DeclareTransactionV3 implements DeclareTransactionV3 { + const factory _DeclareTransactionV3( + {final String type, + final String version, + required final List accountDeploymentData, + required final Felt compiledClassHash, + required final FlattenSierraContractClass contractClass, + required final String feeDataAvailabilityMode, + required final Felt nonce, + required final String nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required final Felt senderAddress, + required final List signature, + required final String tip}) = _$DeclareTransactionV3Impl; + + factory _DeclareTransactionV3.fromJson(Map json) = + _$DeclareTransactionV3Impl.fromJson; + + @override + String get type; + @override + String get version; + @override + List get accountDeploymentData; + @override + Felt get compiledClassHash; + @override + FlattenSierraContractClass get contractClass; + @override + String get feeDataAvailabilityMode; + @override + Felt get nonce; + @override + String get nonceDataAvailabilityMode; + @override + List get paymasterData; + @override + Map get resourceBounds; + @override + Felt get senderAddress; + @override + List get signature; + @override + String get tip; + + /// Create a copy of DeclareTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$DeclareTransactionV3ImplCopyWith<_$DeclareTransactionV3Impl> + get copyWith => throw _privateConstructorUsedError; +} + +ResourceBounds _$ResourceBoundsFromJson(Map json) { + return _ResourceBounds.fromJson(json); +} + +/// @nodoc +mixin _$ResourceBounds { + String get maxAmount => throw _privateConstructorUsedError; + String get maxPricePerUnit => throw _privateConstructorUsedError; + + /// Serializes this ResourceBounds to a JSON map. + Map toJson() => throw _privateConstructorUsedError; + + /// Create a copy of ResourceBounds + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + $ResourceBoundsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ResourceBoundsCopyWith<$Res> { + factory $ResourceBoundsCopyWith( + ResourceBounds value, $Res Function(ResourceBounds) then) = + _$ResourceBoundsCopyWithImpl<$Res, ResourceBounds>; + @useResult + $Res call({String maxAmount, String maxPricePerUnit}); +} + +/// @nodoc +class _$ResourceBoundsCopyWithImpl<$Res, $Val extends ResourceBounds> + implements $ResourceBoundsCopyWith<$Res> { + _$ResourceBoundsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + /// Create a copy of ResourceBounds + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? maxAmount = null, + Object? maxPricePerUnit = null, + }) { + return _then(_value.copyWith( + maxAmount: null == maxAmount + ? _value.maxAmount + : maxAmount // ignore: cast_nullable_to_non_nullable + as String, + maxPricePerUnit: null == maxPricePerUnit + ? _value.maxPricePerUnit + : maxPricePerUnit // ignore: cast_nullable_to_non_nullable + as String, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$ResourceBoundsImplCopyWith<$Res> + implements $ResourceBoundsCopyWith<$Res> { + factory _$$ResourceBoundsImplCopyWith(_$ResourceBoundsImpl value, + $Res Function(_$ResourceBoundsImpl) then) = + __$$ResourceBoundsImplCopyWithImpl<$Res>; + @override + @useResult + $Res call({String maxAmount, String maxPricePerUnit}); +} + +/// @nodoc +class __$$ResourceBoundsImplCopyWithImpl<$Res> + extends _$ResourceBoundsCopyWithImpl<$Res, _$ResourceBoundsImpl> + implements _$$ResourceBoundsImplCopyWith<$Res> { + __$$ResourceBoundsImplCopyWithImpl( + _$ResourceBoundsImpl _value, $Res Function(_$ResourceBoundsImpl) _then) + : super(_value, _then); + + /// Create a copy of ResourceBounds + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? maxAmount = null, + Object? maxPricePerUnit = null, + }) { + return _then(_$ResourceBoundsImpl( + maxAmount: null == maxAmount + ? _value.maxAmount + : maxAmount // ignore: cast_nullable_to_non_nullable + as String, + maxPricePerUnit: null == maxPricePerUnit + ? _value.maxPricePerUnit + : maxPricePerUnit // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$ResourceBoundsImpl implements _ResourceBounds { + const _$ResourceBoundsImpl( + {required this.maxAmount, required this.maxPricePerUnit}); + + factory _$ResourceBoundsImpl.fromJson(Map json) => + _$$ResourceBoundsImplFromJson(json); + + @override + final String maxAmount; + @override + final String maxPricePerUnit; + + @override + String toString() { + return 'ResourceBounds(maxAmount: $maxAmount, maxPricePerUnit: $maxPricePerUnit)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$ResourceBoundsImpl && + (identical(other.maxAmount, maxAmount) || + other.maxAmount == maxAmount) && + (identical(other.maxPricePerUnit, maxPricePerUnit) || + other.maxPricePerUnit == maxPricePerUnit)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash(runtimeType, maxAmount, maxPricePerUnit); + + /// Create a copy of ResourceBounds + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$ResourceBoundsImplCopyWith<_$ResourceBoundsImpl> get copyWith => + __$$ResourceBoundsImplCopyWithImpl<_$ResourceBoundsImpl>( + this, _$identity); + + @override + Map toJson() { + return _$$ResourceBoundsImplToJson( + this, + ); + } +} + +abstract class _ResourceBounds implements ResourceBounds { + const factory _ResourceBounds( + {required final String maxAmount, + required final String maxPricePerUnit}) = _$ResourceBoundsImpl; + + factory _ResourceBounds.fromJson(Map json) = + _$ResourceBoundsImpl.fromJson; + + @override + String get maxAmount; + @override + String get maxPricePerUnit; + + /// Create a copy of ResourceBounds + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$ResourceBoundsImplCopyWith<_$ResourceBoundsImpl> get copyWith => + throw _privateConstructorUsedError; +} + DeclareTransactionResponse _$DeclareTransactionResponseFromJson( Map json) { switch (json['starkNetRuntimeTypeToRemove']) { diff --git a/packages/starknet_provider/lib/src/model/declare_transaction.g.dart b/packages/starknet_provider/lib/src/model/declare_transaction.g.dart index 4374baa3..75ddb288 100644 --- a/packages/starknet_provider/lib/src/model/declare_transaction.g.dart +++ b/packages/starknet_provider/lib/src/model/declare_transaction.g.dart @@ -23,7 +23,7 @@ _$DeclareTransactionV1Impl _$$DeclareTransactionV1ImplFromJson( Map json) => _$DeclareTransactionV1Impl( type: json['type'] as String? ?? 'DECLARE', - version: json['version'] as String? ?? '0x1', + version: json['version'] as String? ?? declareTxnV1, max_fee: Felt.fromJson(json['max_fee'] as String), nonce: Felt.fromJson(json['nonce'] as String), signature: (json['signature'] as List) @@ -50,8 +50,8 @@ _$DeclareTransactionV2Impl _$$DeclareTransactionV2ImplFromJson( Map json) => _$DeclareTransactionV2Impl( type: json['type'] as String? ?? 'DECLARE', - version: json['version'] as String? ?? '0x2', - max_fee: Felt.fromJson(json['max_fee'] as String), + version: json['version'] as String? ?? declareTxnV2, + max_fee: json['max_fee'] as String, nonce: Felt.fromJson(json['nonce'] as String), signature: (json['signature'] as List) .map((e) => Felt.fromJson(e as String)) @@ -67,7 +67,7 @@ Map _$$DeclareTransactionV2ImplToJson( { 'type': instance.type, 'version': instance.version, - 'max_fee': instance.max_fee.toJson(), + 'max_fee': instance.max_fee, 'nonce': instance.nonce.toJson(), 'signature': instance.signature.map((e) => e.toJson()).toList(), 'sender_address': instance.senderAddress.toJson(), @@ -75,6 +75,67 @@ Map _$$DeclareTransactionV2ImplToJson( 'compiled_class_hash': instance.compiledClassHash.toJson(), }; +_$DeclareTransactionV3Impl _$$DeclareTransactionV3ImplFromJson( + Map json) => + _$DeclareTransactionV3Impl( + type: json['type'] as String? ?? 'DECLARE', + version: json['version'] as String? ?? declareTxnV3, + accountDeploymentData: (json['account_deployment_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + compiledClassHash: Felt.fromJson(json['compiled_class_hash'] as String), + contractClass: FlattenSierraContractClass.fromJson( + json['contract_class'] as Map), + feeDataAvailabilityMode: json['fee_data_availability_mode'] as String, + nonce: Felt.fromJson(json['nonce'] as String), + nonceDataAvailabilityMode: json['nonce_data_availability_mode'] as String, + paymasterData: (json['paymaster_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + resourceBounds: (json['resource_bounds'] as Map).map( + (k, e) => + MapEntry(k, ResourceBounds.fromJson(e as Map)), + ), + senderAddress: Felt.fromJson(json['sender_address'] as String), + signature: (json['signature'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + tip: json['tip'] as String, + ); + +Map _$$DeclareTransactionV3ImplToJson( + _$DeclareTransactionV3Impl instance) => + { + 'type': instance.type, + 'version': instance.version, + 'account_deployment_data': + instance.accountDeploymentData.map((e) => e.toJson()).toList(), + 'compiled_class_hash': instance.compiledClassHash.toJson(), + 'contract_class': instance.contractClass.toJson(), + 'fee_data_availability_mode': instance.feeDataAvailabilityMode, + 'nonce': instance.nonce.toJson(), + 'nonce_data_availability_mode': instance.nonceDataAvailabilityMode, + 'paymaster_data': instance.paymasterData.map((e) => e.toJson()).toList(), + 'resource_bounds': + instance.resourceBounds.map((k, e) => MapEntry(k, e.toJson())), + 'sender_address': instance.senderAddress.toJson(), + 'signature': instance.signature.map((e) => e.toJson()).toList(), + 'tip': instance.tip, + }; + +_$ResourceBoundsImpl _$$ResourceBoundsImplFromJson(Map json) => + _$ResourceBoundsImpl( + maxAmount: json['max_amount'] as String, + maxPricePerUnit: json['max_price_per_unit'] as String, + ); + +Map _$$ResourceBoundsImplToJson( + _$ResourceBoundsImpl instance) => + { + 'max_amount': instance.maxAmount, + 'max_price_per_unit': instance.maxPricePerUnit, + }; + _$DeclareTransactionResultImpl _$$DeclareTransactionResultImplFromJson( Map json) => _$DeclareTransactionResultImpl( diff --git a/packages/starknet_provider/lib/src/model/deploy_account_transaction.dart b/packages/starknet_provider/lib/src/model/deploy_account_transaction.dart index 6e759a5e..840e2682 100644 --- a/packages/starknet_provider/lib/src/model/deploy_account_transaction.dart +++ b/packages/starknet_provider/lib/src/model/deploy_account_transaction.dart @@ -7,11 +7,22 @@ import 'package:starknet_provider/starknet_provider.dart'; part 'deploy_account_transaction.freezed.dart'; part 'deploy_account_transaction.g.dart'; +const String deployAccountTxnV1 = '0x1'; +const String deployAccountTxnV3 = '0x3'; +const String deployAccountTxnV1OldCompat = '0x01'; +const String deployAccountTxnV3OldCompat = '0x03'; + abstract class DeployAccountTransaction { factory DeployAccountTransaction.fromJson(Map json) => - json['version'] == '0x01' - ? DeployAccountTransaction.fromJson(json) - : throw Exception("Unsupported version ${json['version']}"); + switch (json['version']) { + deployAccountTxnV1 => DeployAccountTransactionV1.fromJson(json), + deployAccountTxnV1OldCompat => + DeployAccountTransactionV1.fromJson(json), + deployAccountTxnV3 => DeployAccountTransactionV3.fromJson(json), + deployAccountTxnV3OldCompat => + DeployAccountTransactionV3.fromJson(json), + _ => throw Exception("Unsupported version ${json['version']}"), + }; Map toJson(); } @@ -27,7 +38,8 @@ class DeployAccountTransactionV1 required Felt contractAddressSalt, required List constructorCalldata, required Felt classHash, - @Default('0x01') String version, + @Default(deployAccountTxnV1) + String version, //Use 0x1 instead of 0x01 for devnet compatibility @Default('DEPLOY_ACCOUNT') String type, }) = _DeployAccountTransactionV1; @@ -35,6 +47,29 @@ class DeployAccountTransactionV1 _$DeployAccountTransactionV1FromJson(json); } +@freezed +class DeployAccountTransactionV3 + with _$DeployAccountTransactionV3 + implements DeployAccountTransaction { + const factory DeployAccountTransactionV3({ + @Default('DEPLOY_ACCOUNT') String type, + @Default(deployAccountTxnV3) String version, + required Felt classHash, + required List constructorCalldata, + required Felt contractAddressSalt, + required String feeDataAvailabilityMode, + required Felt nonce, + required String nonceDataAvailabilityMode, + required List paymasterData, + required Map resourceBounds, + required List signature, + required String tip, + }) = _DeployAccountTransactionV3; + + factory DeployAccountTransactionV3.fromJson(Map json) => + _$DeployAccountTransactionV3FromJson(json); +} + @freezed class DeployAccountTransactionRequest with _$DeployAccountTransactionRequest { const factory DeployAccountTransactionRequest({ diff --git a/packages/starknet_provider/lib/src/model/deploy_account_transaction.freezed.dart b/packages/starknet_provider/lib/src/model/deploy_account_transaction.freezed.dart index 85da4bd1..2c44381c 100644 --- a/packages/starknet_provider/lib/src/model/deploy_account_transaction.freezed.dart +++ b/packages/starknet_provider/lib/src/model/deploy_account_transaction.freezed.dart @@ -28,7 +28,8 @@ mixin _$DeployAccountTransactionV1 { Felt get contractAddressSalt => throw _privateConstructorUsedError; List get constructorCalldata => throw _privateConstructorUsedError; Felt get classHash => throw _privateConstructorUsedError; - String get version => throw _privateConstructorUsedError; + String get version => + throw _privateConstructorUsedError; //Use 0x1 instead of 0x01 for devnet compatibility String get type => throw _privateConstructorUsedError; /// Serializes this DeployAccountTransactionV1 to a JSON map. @@ -212,7 +213,7 @@ class _$DeployAccountTransactionV1Impl implements _DeployAccountTransactionV1 { required this.contractAddressSalt, required final List constructorCalldata, required this.classHash, - this.version = '0x01', + this.version = deployAccountTxnV1, this.type = 'DEPLOY_ACCOUNT'}) : _signature = signature, _constructorCalldata = constructorCalldata; @@ -250,6 +251,7 @@ class _$DeployAccountTransactionV1Impl implements _DeployAccountTransactionV1 { @override @JsonKey() final String version; +//Use 0x1 instead of 0x01 for devnet compatibility @override @JsonKey() final String type; @@ -337,7 +339,7 @@ abstract class _DeployAccountTransactionV1 @override Felt get classHash; @override - String get version; + String get version; //Use 0x1 instead of 0x01 for devnet compatibility @override String get type; @@ -349,6 +351,443 @@ abstract class _DeployAccountTransactionV1 get copyWith => throw _privateConstructorUsedError; } +DeployAccountTransactionV3 _$DeployAccountTransactionV3FromJson( + Map json) { + return _DeployAccountTransactionV3.fromJson(json); +} + +/// @nodoc +mixin _$DeployAccountTransactionV3 { + String get type => throw _privateConstructorUsedError; + String get version => throw _privateConstructorUsedError; + Felt get classHash => throw _privateConstructorUsedError; + List get constructorCalldata => throw _privateConstructorUsedError; + Felt get contractAddressSalt => throw _privateConstructorUsedError; + String get feeDataAvailabilityMode => throw _privateConstructorUsedError; + Felt get nonce => throw _privateConstructorUsedError; + String get nonceDataAvailabilityMode => throw _privateConstructorUsedError; + List get paymasterData => throw _privateConstructorUsedError; + Map get resourceBounds => + throw _privateConstructorUsedError; + List get signature => throw _privateConstructorUsedError; + String get tip => throw _privateConstructorUsedError; + + /// Serializes this DeployAccountTransactionV3 to a JSON map. + Map toJson() => throw _privateConstructorUsedError; + + /// Create a copy of DeployAccountTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + $DeployAccountTransactionV3CopyWith + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $DeployAccountTransactionV3CopyWith<$Res> { + factory $DeployAccountTransactionV3CopyWith(DeployAccountTransactionV3 value, + $Res Function(DeployAccountTransactionV3) then) = + _$DeployAccountTransactionV3CopyWithImpl<$Res, + DeployAccountTransactionV3>; + @useResult + $Res call( + {String type, + String version, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + Felt nonce, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + List signature, + String tip}); +} + +/// @nodoc +class _$DeployAccountTransactionV3CopyWithImpl<$Res, + $Val extends DeployAccountTransactionV3> + implements $DeployAccountTransactionV3CopyWith<$Res> { + _$DeployAccountTransactionV3CopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + /// Create a copy of DeployAccountTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? version = null, + Object? classHash = null, + Object? constructorCalldata = null, + Object? contractAddressSalt = null, + Object? feeDataAvailabilityMode = null, + Object? nonce = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? signature = null, + Object? tip = null, + }) { + return _then(_value.copyWith( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + classHash: null == classHash + ? _value.classHash + : classHash // ignore: cast_nullable_to_non_nullable + as Felt, + constructorCalldata: null == constructorCalldata + ? _value.constructorCalldata + : constructorCalldata // ignore: cast_nullable_to_non_nullable + as List, + contractAddressSalt: null == contractAddressSalt + ? _value.contractAddressSalt + : contractAddressSalt // ignore: cast_nullable_to_non_nullable + as Felt, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value.paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value.resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + signature: null == signature + ? _value.signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$DeployAccountTransactionV3ImplCopyWith<$Res> + implements $DeployAccountTransactionV3CopyWith<$Res> { + factory _$$DeployAccountTransactionV3ImplCopyWith( + _$DeployAccountTransactionV3Impl value, + $Res Function(_$DeployAccountTransactionV3Impl) then) = + __$$DeployAccountTransactionV3ImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String type, + String version, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + Felt nonce, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + List signature, + String tip}); +} + +/// @nodoc +class __$$DeployAccountTransactionV3ImplCopyWithImpl<$Res> + extends _$DeployAccountTransactionV3CopyWithImpl<$Res, + _$DeployAccountTransactionV3Impl> + implements _$$DeployAccountTransactionV3ImplCopyWith<$Res> { + __$$DeployAccountTransactionV3ImplCopyWithImpl( + _$DeployAccountTransactionV3Impl _value, + $Res Function(_$DeployAccountTransactionV3Impl) _then) + : super(_value, _then); + + /// Create a copy of DeployAccountTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? version = null, + Object? classHash = null, + Object? constructorCalldata = null, + Object? contractAddressSalt = null, + Object? feeDataAvailabilityMode = null, + Object? nonce = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? signature = null, + Object? tip = null, + }) { + return _then(_$DeployAccountTransactionV3Impl( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + classHash: null == classHash + ? _value.classHash + : classHash // ignore: cast_nullable_to_non_nullable + as Felt, + constructorCalldata: null == constructorCalldata + ? _value._constructorCalldata + : constructorCalldata // ignore: cast_nullable_to_non_nullable + as List, + contractAddressSalt: null == contractAddressSalt + ? _value.contractAddressSalt + : contractAddressSalt // ignore: cast_nullable_to_non_nullable + as Felt, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value._paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value._resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + signature: null == signature + ? _value._signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$DeployAccountTransactionV3Impl implements _DeployAccountTransactionV3 { + const _$DeployAccountTransactionV3Impl( + {this.type = 'DEPLOY_ACCOUNT', + this.version = deployAccountTxnV3, + required this.classHash, + required final List constructorCalldata, + required this.contractAddressSalt, + required this.feeDataAvailabilityMode, + required this.nonce, + required this.nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required final List signature, + required this.tip}) + : _constructorCalldata = constructorCalldata, + _paymasterData = paymasterData, + _resourceBounds = resourceBounds, + _signature = signature; + + factory _$DeployAccountTransactionV3Impl.fromJson( + Map json) => + _$$DeployAccountTransactionV3ImplFromJson(json); + + @override + @JsonKey() + final String type; + @override + @JsonKey() + final String version; + @override + final Felt classHash; + final List _constructorCalldata; + @override + List get constructorCalldata { + if (_constructorCalldata is EqualUnmodifiableListView) + return _constructorCalldata; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_constructorCalldata); + } + + @override + final Felt contractAddressSalt; + @override + final String feeDataAvailabilityMode; + @override + final Felt nonce; + @override + final String nonceDataAvailabilityMode; + final List _paymasterData; + @override + List get paymasterData { + if (_paymasterData is EqualUnmodifiableListView) return _paymasterData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_paymasterData); + } + + final Map _resourceBounds; + @override + Map get resourceBounds { + if (_resourceBounds is EqualUnmodifiableMapView) return _resourceBounds; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_resourceBounds); + } + + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } + + @override + final String tip; + + @override + String toString() { + return 'DeployAccountTransactionV3(type: $type, version: $version, classHash: $classHash, constructorCalldata: $constructorCalldata, contractAddressSalt: $contractAddressSalt, feeDataAvailabilityMode: $feeDataAvailabilityMode, nonce: $nonce, nonceDataAvailabilityMode: $nonceDataAvailabilityMode, paymasterData: $paymasterData, resourceBounds: $resourceBounds, signature: $signature, tip: $tip)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$DeployAccountTransactionV3Impl && + (identical(other.type, type) || other.type == type) && + (identical(other.version, version) || other.version == version) && + (identical(other.classHash, classHash) || + other.classHash == classHash) && + const DeepCollectionEquality() + .equals(other._constructorCalldata, _constructorCalldata) && + (identical(other.contractAddressSalt, contractAddressSalt) || + other.contractAddressSalt == contractAddressSalt) && + (identical( + other.feeDataAvailabilityMode, feeDataAvailabilityMode) || + other.feeDataAvailabilityMode == feeDataAvailabilityMode) && + (identical(other.nonce, nonce) || other.nonce == nonce) && + (identical(other.nonceDataAvailabilityMode, + nonceDataAvailabilityMode) || + other.nonceDataAvailabilityMode == nonceDataAvailabilityMode) && + const DeepCollectionEquality() + .equals(other._paymasterData, _paymasterData) && + const DeepCollectionEquality() + .equals(other._resourceBounds, _resourceBounds) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.tip, tip) || other.tip == tip)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash( + runtimeType, + type, + version, + classHash, + const DeepCollectionEquality().hash(_constructorCalldata), + contractAddressSalt, + feeDataAvailabilityMode, + nonce, + nonceDataAvailabilityMode, + const DeepCollectionEquality().hash(_paymasterData), + const DeepCollectionEquality().hash(_resourceBounds), + const DeepCollectionEquality().hash(_signature), + tip); + + /// Create a copy of DeployAccountTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$DeployAccountTransactionV3ImplCopyWith<_$DeployAccountTransactionV3Impl> + get copyWith => __$$DeployAccountTransactionV3ImplCopyWithImpl< + _$DeployAccountTransactionV3Impl>(this, _$identity); + + @override + Map toJson() { + return _$$DeployAccountTransactionV3ImplToJson( + this, + ); + } +} + +abstract class _DeployAccountTransactionV3 + implements DeployAccountTransactionV3 { + const factory _DeployAccountTransactionV3( + {final String type, + final String version, + required final Felt classHash, + required final List constructorCalldata, + required final Felt contractAddressSalt, + required final String feeDataAvailabilityMode, + required final Felt nonce, + required final String nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required final List signature, + required final String tip}) = _$DeployAccountTransactionV3Impl; + + factory _DeployAccountTransactionV3.fromJson(Map json) = + _$DeployAccountTransactionV3Impl.fromJson; + + @override + String get type; + @override + String get version; + @override + Felt get classHash; + @override + List get constructorCalldata; + @override + Felt get contractAddressSalt; + @override + String get feeDataAvailabilityMode; + @override + Felt get nonce; + @override + String get nonceDataAvailabilityMode; + @override + List get paymasterData; + @override + Map get resourceBounds; + @override + List get signature; + @override + String get tip; + + /// Create a copy of DeployAccountTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$DeployAccountTransactionV3ImplCopyWith<_$DeployAccountTransactionV3Impl> + get copyWith => throw _privateConstructorUsedError; +} + DeployAccountTransactionRequest _$DeployAccountTransactionRequestFromJson( Map json) { return _DeployAccountTransactionRequest.fromJson(json); diff --git a/packages/starknet_provider/lib/src/model/deploy_account_transaction.g.dart b/packages/starknet_provider/lib/src/model/deploy_account_transaction.g.dart index c9a6bed9..acf2274c 100644 --- a/packages/starknet_provider/lib/src/model/deploy_account_transaction.g.dart +++ b/packages/starknet_provider/lib/src/model/deploy_account_transaction.g.dart @@ -20,7 +20,7 @@ _$DeployAccountTransactionV1Impl _$$DeployAccountTransactionV1ImplFromJson( .map((e) => Felt.fromJson(e as String)) .toList(), classHash: Felt.fromJson(json['class_hash'] as String), - version: json['version'] as String? ?? '0x01', + version: json['version'] as String? ?? deployAccountTxnV1, type: json['type'] as String? ?? 'DEPLOY_ACCOUNT', ); @@ -38,6 +38,52 @@ Map _$$DeployAccountTransactionV1ImplToJson( 'type': instance.type, }; +_$DeployAccountTransactionV3Impl _$$DeployAccountTransactionV3ImplFromJson( + Map json) => + _$DeployAccountTransactionV3Impl( + type: json['type'] as String? ?? 'DEPLOY_ACCOUNT', + version: json['version'] as String? ?? deployAccountTxnV3, + classHash: Felt.fromJson(json['class_hash'] as String), + constructorCalldata: (json['constructor_calldata'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + contractAddressSalt: + Felt.fromJson(json['contract_address_salt'] as String), + feeDataAvailabilityMode: json['fee_data_availability_mode'] as String, + nonce: Felt.fromJson(json['nonce'] as String), + nonceDataAvailabilityMode: json['nonce_data_availability_mode'] as String, + paymasterData: (json['paymaster_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + resourceBounds: (json['resource_bounds'] as Map).map( + (k, e) => + MapEntry(k, ResourceBounds.fromJson(e as Map)), + ), + signature: (json['signature'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + tip: json['tip'] as String, + ); + +Map _$$DeployAccountTransactionV3ImplToJson( + _$DeployAccountTransactionV3Impl instance) => + { + 'type': instance.type, + 'version': instance.version, + 'class_hash': instance.classHash.toJson(), + 'constructor_calldata': + instance.constructorCalldata.map((e) => e.toJson()).toList(), + 'contract_address_salt': instance.contractAddressSalt.toJson(), + 'fee_data_availability_mode': instance.feeDataAvailabilityMode, + 'nonce': instance.nonce.toJson(), + 'nonce_data_availability_mode': instance.nonceDataAvailabilityMode, + 'paymaster_data': instance.paymasterData.map((e) => e.toJson()).toList(), + 'resource_bounds': + instance.resourceBounds.map((k, e) => MapEntry(k, e.toJson())), + 'signature': instance.signature.map((e) => e.toJson()).toList(), + 'tip': instance.tip, + }; + _$DeployAccountTransactionRequestImpl _$$DeployAccountTransactionRequestImplFromJson(Map json) => _$DeployAccountTransactionRequestImpl( diff --git a/packages/starknet_provider/lib/src/model/estimate_fee.dart b/packages/starknet_provider/lib/src/model/estimate_fee.dart index f9246a8f..7855d26f 100644 --- a/packages/starknet_provider/lib/src/model/estimate_fee.dart +++ b/packages/starknet_provider/lib/src/model/estimate_fee.dart @@ -7,6 +7,10 @@ import 'package:starknet_provider/starknet_provider.dart'; part 'estimate_fee.freezed.dart'; part 'estimate_fee.g.dart'; +const String estimateFeeV0 = '0x0'; +const String estimateFeeV1 = '0x1'; +const String estimateFeeV3 = '0x3'; + @freezed class EstimateFee with _$EstimateFee { const factory EstimateFee.result({ @@ -74,11 +78,11 @@ class BroadcastedTxn with _$BroadcastedTxn { Felt? nonce, // end of BROADCASTED_TXN_COMMON_PROPERTIES - // start of INVOKE_TXN_V0 + // start of invokeTxnV0 required Felt contractAddress, required Felt entryPointSelector, required List calldata, - // end of INVOKE_TXN_V0 + // end of invokeTxnV0 }) = BroadcastedInvokeTxnV0; @JsonSerializable(includeIfNull: false) @@ -91,12 +95,33 @@ class BroadcastedTxn with _$BroadcastedTxn { required Felt nonce, // end of BROADCASTED_TXN_COMMON_PROPERTIES - // start of INVOKE_TXN_V1 + // start of invokeTxnV1 required Felt senderAddress, required List calldata, - // end of INVOKE_TXN_V1 + // end of invokeTxnV1 }) = BroadcastedInvokeTxnV1; + @JsonSerializable(includeIfNull: false) + const factory BroadcastedTxn.broadcastedInvokeTxnV3({ + // start of BROADCASTED_TXN_COMMON_PROPERTIES + required String type, + required String version, + required List signature, + required Felt nonce, + // end of BROADCASTED_TXN_COMMON_PROPERTIES + + // start of invokeTxnV3 + required List accountDeploymentData, + required List calldata, + required String feeDataAvailabilityMode, + required String nonceDataAvailabilityMode, + required List paymasterData, + required Map resourceBounds, + required Felt senderAddress, + required String tip, + // end of invokeTxnV3 + }) = BroadcastedInvokeTxnV3; + @JsonSerializable(includeIfNull: false) const factory BroadcastedTxn.broadcastedDeclareTxn({ // start of BROADCASTED_TXN_COMMON_PROPERTIES @@ -111,6 +136,46 @@ class BroadcastedTxn with _$BroadcastedTxn { required Felt senderAddress, }) = BroadcastedDeclareTxn; + @JsonSerializable(includeIfNull: false) + const factory BroadcastedTxn.broadcastedDeclareTxnV2({ + // start of BROADCASTED_TXN_COMMON_PROPERTIES + required String type, + required String + max_fee, // As String because devnet only supports 16 bytes and not a Felt + required String version, + required List signature, + required Felt nonce, + // end of BROADCASTED_TXN_COMMON_PROPERTIES + + // start of declareTxnV2 + required Felt compiledClassHash, + required FlattenSierraContractClass contractClass, + required Felt senderAddress, + // end of declareTxnV2 + }) = BroadcastedDeclareTxnV2; + + @JsonSerializable(includeIfNull: false) + const factory BroadcastedTxn.broadcastedDeclareTxnV3({ + // start of BROADCASTED_TXN_COMMON_PROPERTIES + required String type, + required String version, + required List signature, + required Felt nonce, + // end of BROADCASTED_TXN_COMMON_PROPERTIES + + // start of declareTxnV3 + required List accountDeploymentData, + required Felt compiledClassHash, + required FlattenSierraContractClass contractClass, + required String feeDataAvailabilityMode, + required String nonceDataAvailabilityMode, + required List paymasterData, + required Map resourceBounds, + required Felt senderAddress, + required String tip, + // end of declareTxnV3 + }) = BroadcastedDeclareTxnV3; + @JsonSerializable(includeIfNull: false) const factory BroadcastedTxn.broadcastedDeployTxn({ required DeprecatedContractClass contractClass, @@ -137,14 +202,41 @@ class BroadcastedTxn with _$BroadcastedTxn { // end of BROADCASTED_TXN_COMMON_PROPERTIES }) = BroadcastedDeployAccountTxn; + @JsonSerializable(includeIfNull: false) + const factory BroadcastedTxn.broadcastedDeployAccountTxnV3({ + // start of BROADCASTED_TXN_COMMON_PROPERTIES + required String type, + required String version, + required List signature, + required Felt nonce, + // end of BROADCASTED_TXN_COMMON_PROPERTIES + + // start of deployAccountTxnV3 + required Felt classHash, + required List constructorCalldata, + required Felt contractAddressSalt, + required String feeDataAvailabilityMode, + required String nonceDataAvailabilityMode, + required List paymasterData, + required Map resourceBounds, + required String tip, + // end of deployAccountTxnV3 + }) = BroadcastedDeployAccountTxnV3; + factory BroadcastedTxn.fromJson(Map json) => json['type'] == 'DECLARE' - ? BroadcastedDeclareTxn.fromJson(json) + ? json['version'] == estimateFeeV3 + ? BroadcastedDeclareTxnV3.fromJson(json) + : BroadcastedDeclareTxn.fromJson(json) : json['type'] == 'DEPLOY' - ? BroadcastedDeployTxn.fromJson(json) + ? json['version'] == estimateFeeV3 + ? BroadcastedDeployAccountTxnV3.fromJson(json) + : BroadcastedDeployTxn.fromJson(json) : json['type'] == 'INVOKE' - ? json['version'] == '0x1' + ? json['version'] == estimateFeeV1 ? BroadcastedInvokeTxnV1.fromJson(json) - : BroadcastedInvokeTxnV0.fromJson(json) + : json['version'] == estimateFeeV3 + ? BroadcastedInvokeTxnV3.fromJson(json) + : BroadcastedInvokeTxnV0.fromJson(json) : BroadcastedDeployAccountTxn.fromJson(json); } diff --git a/packages/starknet_provider/lib/src/model/estimate_fee.freezed.dart b/packages/starknet_provider/lib/src/model/estimate_fee.freezed.dart index 5e6d664d..3533c2ee 100644 --- a/packages/starknet_provider/lib/src/model/estimate_fee.freezed.dart +++ b/packages/starknet_provider/lib/src/model/estimate_fee.freezed.dart @@ -772,12 +772,20 @@ BroadcastedTxn _$BroadcastedTxnFromJson(Map json) { return BroadcastedInvokeTxnV0.fromJson(json); case 'broadcastedInvokeTxnV1': return BroadcastedInvokeTxnV1.fromJson(json); + case 'broadcastedInvokeTxnV3': + return BroadcastedInvokeTxnV3.fromJson(json); case 'broadcastedDeclareTxn': return BroadcastedDeclareTxn.fromJson(json); + case 'broadcastedDeclareTxnV2': + return BroadcastedDeclareTxnV2.fromJson(json); + case 'broadcastedDeclareTxnV3': + return BroadcastedDeclareTxnV3.fromJson(json); case 'broadcastedDeployTxn': return BroadcastedDeployTxn.fromJson(json); case 'broadcastedDeployAccountTxn': return BroadcastedDeployAccountTxn.fromJson(json); + case 'broadcastedDeployAccountTxnV3': + return BroadcastedDeployAccountTxnV3.fromJson(json); default: throw CheckedFromJsonException( @@ -814,6 +822,20 @@ mixin _$BroadcastedTxn { Felt senderAddress, List calldata) broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, required TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -823,6 +845,31 @@ mixin _$BroadcastedTxn { DeprecatedContractClass contractClass, Felt senderAddress) broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, required TResult Function( DeprecatedContractClass contractClass, String version, @@ -840,6 +887,20 @@ mixin _$BroadcastedTxn { List signature, Felt nonce) broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -863,6 +924,20 @@ mixin _$BroadcastedTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult? Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -872,6 +947,31 @@ mixin _$BroadcastedTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult? Function( DeprecatedContractClass contractClass, String version, @@ -889,6 +989,20 @@ mixin _$BroadcastedTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -912,6 +1026,20 @@ mixin _$BroadcastedTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -921,6 +1049,31 @@ mixin _$BroadcastedTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult Function( DeprecatedContractClass contractClass, String version, @@ -938,6 +1091,20 @@ mixin _$BroadcastedTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -947,31 +1114,49 @@ mixin _$BroadcastedTxn { broadcastedInvokeTxnV0, required TResult Function(BroadcastedInvokeTxnV1 value) broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, required TResult Function(BroadcastedDeclareTxn value) broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, required TResult Function(BroadcastedDeployAccountTxn value) broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult? Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -1146,7 +1331,7 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { @override final Felt? nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES -// start of INVOKE_TXN_V0 +// start of invokeTxnV0 @override final Felt contractAddress; @override @@ -1229,6 +1414,20 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { Felt senderAddress, List calldata) broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, required TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -1238,6 +1437,31 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { DeprecatedContractClass contractClass, Felt senderAddress) broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, required TResult Function( DeprecatedContractClass contractClass, String version, @@ -1255,6 +1479,20 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { List signature, Felt nonce) broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV0(type, maxFee, version, signature, nonce, contractAddress, entryPointSelector, calldata); @@ -1282,6 +1520,20 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult? Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -1291,6 +1543,31 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult? Function( DeprecatedContractClass contractClass, String version, @@ -1308,6 +1585,20 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV0?.call(type, maxFee, version, signature, nonce, contractAddress, entryPointSelector, calldata); @@ -1335,6 +1626,20 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -1344,6 +1649,31 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult Function( DeprecatedContractClass contractClass, String version, @@ -1361,6 +1691,20 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { if (broadcastedInvokeTxnV0 != null) { @@ -1377,11 +1721,19 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { broadcastedInvokeTxnV0, required TResult Function(BroadcastedInvokeTxnV1 value) broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, required TResult Function(BroadcastedDeclareTxn value) broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, required TResult Function(BroadcastedDeployAccountTxn value) broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV0(this); } @@ -1391,10 +1743,15 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { TResult? mapOrNull({ TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult? Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV0?.call(this); } @@ -1404,10 +1761,15 @@ class _$BroadcastedInvokeTxnV0Impl implements BroadcastedInvokeTxnV0 { TResult maybeMap({ TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { if (broadcastedInvokeTxnV0 != null) { @@ -1447,7 +1809,7 @@ abstract class BroadcastedInvokeTxnV0 implements BroadcastedTxn { String get version; List get signature; Felt? get nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES -// start of INVOKE_TXN_V0 +// start of invokeTxnV0 Felt get contractAddress; Felt get entryPointSelector; List get calldata; @@ -1573,7 +1935,7 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { @override final Felt nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES -// start of INVOKE_TXN_V1 +// start of invokeTxnV1 @override final Felt senderAddress; final List _calldata; @@ -1651,6 +2013,20 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { Felt senderAddress, List calldata) broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, required TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -1660,6 +2036,31 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { DeprecatedContractClass contractClass, Felt senderAddress) broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, required TResult Function( DeprecatedContractClass contractClass, String version, @@ -1677,6 +2078,20 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { List signature, Felt nonce) broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV1( type, maxFee, version, signature, nonce, senderAddress, calldata); @@ -1704,6 +2119,20 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult? Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -1713,6 +2142,31 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult? Function( DeprecatedContractClass contractClass, String version, @@ -1730,6 +2184,20 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV1?.call( type, maxFee, version, signature, nonce, senderAddress, calldata); @@ -1757,6 +2225,20 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -1766,6 +2248,31 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult Function( DeprecatedContractClass contractClass, String version, @@ -1783,6 +2290,20 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { if (broadcastedInvokeTxnV1 != null) { @@ -1799,11 +2320,19 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { broadcastedInvokeTxnV0, required TResult Function(BroadcastedInvokeTxnV1 value) broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, required TResult Function(BroadcastedDeclareTxn value) broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, required TResult Function(BroadcastedDeployAccountTxn value) broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV1(this); } @@ -1813,10 +2342,15 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { TResult? mapOrNull({ TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult? Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, }) { return broadcastedInvokeTxnV1?.call(this); } @@ -1826,10 +2360,15 @@ class _$BroadcastedInvokeTxnV1Impl implements BroadcastedInvokeTxnV1 { TResult maybeMap({ TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { if (broadcastedInvokeTxnV1 != null) { @@ -1868,7 +2407,7 @@ abstract class BroadcastedInvokeTxnV1 implements BroadcastedTxn { String get version; List get signature; Felt get nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES -// start of INVOKE_TXN_V1 +// start of invokeTxnV1 Felt get senderAddress; List get calldata; @@ -1881,32 +2420,36 @@ abstract class BroadcastedInvokeTxnV1 implements BroadcastedTxn { } /// @nodoc -abstract class _$$BroadcastedDeclareTxnImplCopyWith<$Res> +abstract class _$$BroadcastedInvokeTxnV3ImplCopyWith<$Res> implements $BroadcastedTxnCopyWith<$Res> { - factory _$$BroadcastedDeclareTxnImplCopyWith( - _$BroadcastedDeclareTxnImpl value, - $Res Function(_$BroadcastedDeclareTxnImpl) then) = - __$$BroadcastedDeclareTxnImplCopyWithImpl<$Res>; + factory _$$BroadcastedInvokeTxnV3ImplCopyWith( + _$BroadcastedInvokeTxnV3Impl value, + $Res Function(_$BroadcastedInvokeTxnV3Impl) then) = + __$$BroadcastedInvokeTxnV3ImplCopyWithImpl<$Res>; @override @useResult $Res call( {String type, - @JsonKey(toJson: maxFeeToJson) Felt maxFee, String version, List signature, Felt nonce, - DeprecatedContractClass contractClass, - Felt senderAddress}); - - $DeprecatedContractClassCopyWith<$Res> get contractClass; + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip}); } /// @nodoc -class __$$BroadcastedDeclareTxnImplCopyWithImpl<$Res> - extends _$BroadcastedTxnCopyWithImpl<$Res, _$BroadcastedDeclareTxnImpl> - implements _$$BroadcastedDeclareTxnImplCopyWith<$Res> { - __$$BroadcastedDeclareTxnImplCopyWithImpl(_$BroadcastedDeclareTxnImpl _value, - $Res Function(_$BroadcastedDeclareTxnImpl) _then) +class __$$BroadcastedInvokeTxnV3ImplCopyWithImpl<$Res> + extends _$BroadcastedTxnCopyWithImpl<$Res, _$BroadcastedInvokeTxnV3Impl> + implements _$$BroadcastedInvokeTxnV3ImplCopyWith<$Res> { + __$$BroadcastedInvokeTxnV3ImplCopyWithImpl( + _$BroadcastedInvokeTxnV3Impl _value, + $Res Function(_$BroadcastedInvokeTxnV3Impl) _then) : super(_value, _then); /// Create a copy of BroadcastedTxn @@ -1915,22 +2458,23 @@ class __$$BroadcastedDeclareTxnImplCopyWithImpl<$Res> @override $Res call({ Object? type = null, - Object? maxFee = null, Object? version = null, Object? signature = null, Object? nonce = null, - Object? contractClass = null, + Object? accountDeploymentData = null, + Object? calldata = null, + Object? feeDataAvailabilityMode = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, Object? senderAddress = null, + Object? tip = null, }) { - return _then(_$BroadcastedDeclareTxnImpl( + return _then(_$BroadcastedInvokeTxnV3Impl( type: null == type ? _value.type : type // ignore: cast_nullable_to_non_nullable as String, - maxFee: null == maxFee - ? _value.maxFee - : maxFee // ignore: cast_nullable_to_non_nullable - as Felt, version: null == version ? _value.version : version // ignore: cast_nullable_to_non_nullable @@ -1943,55 +2487,74 @@ class __$$BroadcastedDeclareTxnImplCopyWithImpl<$Res> ? _value.nonce : nonce // ignore: cast_nullable_to_non_nullable as Felt, - contractClass: null == contractClass - ? _value.contractClass - : contractClass // ignore: cast_nullable_to_non_nullable - as DeprecatedContractClass, + accountDeploymentData: null == accountDeploymentData + ? _value._accountDeploymentData + : accountDeploymentData // ignore: cast_nullable_to_non_nullable + as List, + calldata: null == calldata + ? _value._calldata + : calldata // ignore: cast_nullable_to_non_nullable + as List, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value._paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value._resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, senderAddress: null == senderAddress ? _value.senderAddress : senderAddress // ignore: cast_nullable_to_non_nullable as Felt, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, )); } - - /// Create a copy of BroadcastedTxn - /// with the given fields replaced by the non-null parameter values. - @override - @pragma('vm:prefer-inline') - $DeprecatedContractClassCopyWith<$Res> get contractClass { - return $DeprecatedContractClassCopyWith<$Res>(_value.contractClass, - (value) { - return _then(_value.copyWith(contractClass: value)); - }); - } } /// @nodoc @JsonSerializable(includeIfNull: false) -class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { - const _$BroadcastedDeclareTxnImpl( +class _$BroadcastedInvokeTxnV3Impl implements BroadcastedInvokeTxnV3 { + const _$BroadcastedInvokeTxnV3Impl( {required this.type, - @JsonKey(toJson: maxFeeToJson) required this.maxFee, required this.version, required final List signature, required this.nonce, - required this.contractClass, + required final List accountDeploymentData, + required final List calldata, + required this.feeDataAvailabilityMode, + required this.nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, required this.senderAddress, + required this.tip, final String? $type}) : _signature = signature, - $type = $type ?? 'broadcastedDeclareTxn'; + _accountDeploymentData = accountDeploymentData, + _calldata = calldata, + _paymasterData = paymasterData, + _resourceBounds = resourceBounds, + $type = $type ?? 'broadcastedInvokeTxnV3'; - factory _$BroadcastedDeclareTxnImpl.fromJson(Map json) => - _$$BroadcastedDeclareTxnImplFromJson(json); + factory _$BroadcastedInvokeTxnV3Impl.fromJson(Map json) => + _$$BroadcastedInvokeTxnV3ImplFromJson(json); // start of BROADCASTED_TXN_COMMON_PROPERTIES @override final String type; @override - @JsonKey(toJson: maxFeeToJson) - final Felt maxFee; - @override final String version; final List _signature; @override @@ -2004,34 +2567,85 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { @override final Felt nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of invokeTxnV3 + final List _accountDeploymentData; +// end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of invokeTxnV3 @override - final DeprecatedContractClass contractClass; + List get accountDeploymentData { + if (_accountDeploymentData is EqualUnmodifiableListView) + return _accountDeploymentData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_accountDeploymentData); + } + + final List _calldata; + @override + List get calldata { + if (_calldata is EqualUnmodifiableListView) return _calldata; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_calldata); + } + + @override + final String feeDataAvailabilityMode; + @override + final String nonceDataAvailabilityMode; + final List _paymasterData; + @override + List get paymasterData { + if (_paymasterData is EqualUnmodifiableListView) return _paymasterData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_paymasterData); + } + + final Map _resourceBounds; + @override + Map get resourceBounds { + if (_resourceBounds is EqualUnmodifiableMapView) return _resourceBounds; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_resourceBounds); + } + @override final Felt senderAddress; + @override + final String tip; @JsonKey(name: 'starkNetRuntimeTypeToRemove') final String $type; @override String toString() { - return 'BroadcastedTxn.broadcastedDeclareTxn(type: $type, maxFee: $maxFee, version: $version, signature: $signature, nonce: $nonce, contractClass: $contractClass, senderAddress: $senderAddress)'; + return 'BroadcastedTxn.broadcastedInvokeTxnV3(type: $type, version: $version, signature: $signature, nonce: $nonce, accountDeploymentData: $accountDeploymentData, calldata: $calldata, feeDataAvailabilityMode: $feeDataAvailabilityMode, nonceDataAvailabilityMode: $nonceDataAvailabilityMode, paymasterData: $paymasterData, resourceBounds: $resourceBounds, senderAddress: $senderAddress, tip: $tip)'; } @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$BroadcastedDeclareTxnImpl && + other is _$BroadcastedInvokeTxnV3Impl && (identical(other.type, type) || other.type == type) && - (identical(other.maxFee, maxFee) || other.maxFee == maxFee) && (identical(other.version, version) || other.version == version) && const DeepCollectionEquality() .equals(other._signature, _signature) && (identical(other.nonce, nonce) || other.nonce == nonce) && - (identical(other.contractClass, contractClass) || - other.contractClass == contractClass) && + const DeepCollectionEquality() + .equals(other._accountDeploymentData, _accountDeploymentData) && + const DeepCollectionEquality().equals(other._calldata, _calldata) && + (identical( + other.feeDataAvailabilityMode, feeDataAvailabilityMode) || + other.feeDataAvailabilityMode == feeDataAvailabilityMode) && + (identical(other.nonceDataAvailabilityMode, + nonceDataAvailabilityMode) || + other.nonceDataAvailabilityMode == nonceDataAvailabilityMode) && + const DeepCollectionEquality() + .equals(other._paymasterData, _paymasterData) && + const DeepCollectionEquality() + .equals(other._resourceBounds, _resourceBounds) && (identical(other.senderAddress, senderAddress) || - other.senderAddress == senderAddress)); + other.senderAddress == senderAddress) && + (identical(other.tip, tip) || other.tip == tip)); } @JsonKey(includeFromJson: false, includeToJson: false) @@ -2039,21 +2653,26 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { int get hashCode => Object.hash( runtimeType, type, - maxFee, version, const DeepCollectionEquality().hash(_signature), nonce, - contractClass, - senderAddress); + const DeepCollectionEquality().hash(_accountDeploymentData), + const DeepCollectionEquality().hash(_calldata), + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + const DeepCollectionEquality().hash(_paymasterData), + const DeepCollectionEquality().hash(_resourceBounds), + senderAddress, + tip); /// Create a copy of BroadcastedTxn /// with the given fields replaced by the non-null parameter values. @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') - _$$BroadcastedDeclareTxnImplCopyWith<_$BroadcastedDeclareTxnImpl> - get copyWith => __$$BroadcastedDeclareTxnImplCopyWithImpl< - _$BroadcastedDeclareTxnImpl>(this, _$identity); + _$$BroadcastedInvokeTxnV3ImplCopyWith<_$BroadcastedInvokeTxnV3Impl> + get copyWith => __$$BroadcastedInvokeTxnV3ImplCopyWithImpl< + _$BroadcastedInvokeTxnV3Impl>(this, _$identity); @override @optionalTypeArgs @@ -2077,6 +2696,20 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { Felt senderAddress, List calldata) broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, required TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2086,6 +2719,31 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { DeprecatedContractClass contractClass, Felt senderAddress) broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, required TResult Function( DeprecatedContractClass contractClass, String version, @@ -2103,9 +2761,34 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { List signature, Felt nonce) broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeclareTxn( - type, maxFee, version, signature, nonce, contractClass, senderAddress); + return broadcastedInvokeTxnV3( + type, + version, + signature, + nonce, + accountDeploymentData, + calldata, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + senderAddress, + tip); } @override @@ -2130,6 +2813,20 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult? Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2139,6 +2836,31 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult? Function( DeprecatedContractClass contractClass, String version, @@ -2156,9 +2878,34 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeclareTxn?.call( - type, maxFee, version, signature, nonce, contractClass, senderAddress); + return broadcastedInvokeTxnV3?.call( + type, + version, + signature, + nonce, + accountDeploymentData, + calldata, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + senderAddress, + tip); } @override @@ -2183,6 +2930,20 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2192,6 +2953,31 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult Function( DeprecatedContractClass contractClass, String version, @@ -2209,11 +2995,36 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { - if (broadcastedDeclareTxn != null) { - return broadcastedDeclareTxn(type, maxFee, version, signature, nonce, - contractClass, senderAddress); + if (broadcastedInvokeTxnV3 != null) { + return broadcastedInvokeTxnV3( + type, + version, + signature, + nonce, + accountDeploymentData, + calldata, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + senderAddress, + tip); } return orElse(); } @@ -2225,13 +3036,21 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { broadcastedInvokeTxnV0, required TResult Function(BroadcastedInvokeTxnV1 value) broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, required TResult Function(BroadcastedDeclareTxn value) broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, required TResult Function(BroadcastedDeployAccountTxn value) broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeclareTxn(this); + return broadcastedInvokeTxnV3(this); } @override @@ -2239,12 +3058,17 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { TResult? mapOrNull({ TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult? Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeclareTxn?.call(this); + return broadcastedInvokeTxnV3?.call(this); } @override @@ -2252,83 +3076,101 @@ class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { TResult maybeMap({ TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { - if (broadcastedDeclareTxn != null) { - return broadcastedDeclareTxn(this); + if (broadcastedInvokeTxnV3 != null) { + return broadcastedInvokeTxnV3(this); } return orElse(); } @override Map toJson() { - return _$$BroadcastedDeclareTxnImplToJson( + return _$$BroadcastedInvokeTxnV3ImplToJson( this, ); } } -abstract class BroadcastedDeclareTxn implements BroadcastedTxn { - const factory BroadcastedDeclareTxn( +abstract class BroadcastedInvokeTxnV3 implements BroadcastedTxn { + const factory BroadcastedInvokeTxnV3( {required final String type, - @JsonKey(toJson: maxFeeToJson) required final Felt maxFee, required final String version, required final List signature, required final Felt nonce, - required final DeprecatedContractClass contractClass, - required final Felt senderAddress}) = _$BroadcastedDeclareTxnImpl; + required final List accountDeploymentData, + required final List calldata, + required final String feeDataAvailabilityMode, + required final String nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required final Felt senderAddress, + required final String tip}) = _$BroadcastedInvokeTxnV3Impl; - factory BroadcastedDeclareTxn.fromJson(Map json) = - _$BroadcastedDeclareTxnImpl.fromJson; + factory BroadcastedInvokeTxnV3.fromJson(Map json) = + _$BroadcastedInvokeTxnV3Impl.fromJson; // start of BROADCASTED_TXN_COMMON_PROPERTIES @override String get type; - @JsonKey(toJson: maxFeeToJson) - Felt get maxFee; @override String get version; List get signature; Felt get nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES - DeprecatedContractClass get contractClass; +// start of invokeTxnV3 + List get accountDeploymentData; + List get calldata; + String get feeDataAvailabilityMode; + String get nonceDataAvailabilityMode; + List get paymasterData; + Map get resourceBounds; Felt get senderAddress; + String get tip; /// Create a copy of BroadcastedTxn /// with the given fields replaced by the non-null parameter values. @override @JsonKey(includeFromJson: false, includeToJson: false) - _$$BroadcastedDeclareTxnImplCopyWith<_$BroadcastedDeclareTxnImpl> + _$$BroadcastedInvokeTxnV3ImplCopyWith<_$BroadcastedInvokeTxnV3Impl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$BroadcastedDeployTxnImplCopyWith<$Res> +abstract class _$$BroadcastedDeclareTxnImplCopyWith<$Res> implements $BroadcastedTxnCopyWith<$Res> { - factory _$$BroadcastedDeployTxnImplCopyWith(_$BroadcastedDeployTxnImpl value, - $Res Function(_$BroadcastedDeployTxnImpl) then) = - __$$BroadcastedDeployTxnImplCopyWithImpl<$Res>; + factory _$$BroadcastedDeclareTxnImplCopyWith( + _$BroadcastedDeclareTxnImpl value, + $Res Function(_$BroadcastedDeclareTxnImpl) then) = + __$$BroadcastedDeclareTxnImplCopyWithImpl<$Res>; @override @useResult $Res call( - {DeprecatedContractClass contractClass, + {String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, String version, - String type, - Felt contractAddressSalt, - List constructorCalldata}); + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress}); $DeprecatedContractClassCopyWith<$Res> get contractClass; } /// @nodoc -class __$$BroadcastedDeployTxnImplCopyWithImpl<$Res> - extends _$BroadcastedTxnCopyWithImpl<$Res, _$BroadcastedDeployTxnImpl> - implements _$$BroadcastedDeployTxnImplCopyWith<$Res> { - __$$BroadcastedDeployTxnImplCopyWithImpl(_$BroadcastedDeployTxnImpl _value, - $Res Function(_$BroadcastedDeployTxnImpl) _then) +class __$$BroadcastedDeclareTxnImplCopyWithImpl<$Res> + extends _$BroadcastedTxnCopyWithImpl<$Res, _$BroadcastedDeclareTxnImpl> + implements _$$BroadcastedDeclareTxnImplCopyWith<$Res> { + __$$BroadcastedDeclareTxnImplCopyWithImpl(_$BroadcastedDeclareTxnImpl _value, + $Res Function(_$BroadcastedDeclareTxnImpl) _then) : super(_value, _then); /// Create a copy of BroadcastedTxn @@ -2336,41 +3178,51 @@ class __$$BroadcastedDeployTxnImplCopyWithImpl<$Res> @pragma('vm:prefer-inline') @override $Res call({ - Object? contractClass = null, - Object? version = null, Object? type = null, - Object? contractAddressSalt = null, - Object? constructorCalldata = null, + Object? maxFee = null, + Object? version = null, + Object? signature = null, + Object? nonce = null, + Object? contractClass = null, + Object? senderAddress = null, }) { - return _then(_$BroadcastedDeployTxnImpl( - contractClass: null == contractClass - ? _value.contractClass - : contractClass // ignore: cast_nullable_to_non_nullable - as DeprecatedContractClass, - version: null == version - ? _value.version - : version // ignore: cast_nullable_to_non_nullable - as String, + return _then(_$BroadcastedDeclareTxnImpl( type: null == type ? _value.type : type // ignore: cast_nullable_to_non_nullable as String, - contractAddressSalt: null == contractAddressSalt - ? _value.contractAddressSalt - : contractAddressSalt // ignore: cast_nullable_to_non_nullable + maxFee: null == maxFee + ? _value.maxFee + : maxFee // ignore: cast_nullable_to_non_nullable as Felt, - constructorCalldata: null == constructorCalldata - ? _value._constructorCalldata - : constructorCalldata // ignore: cast_nullable_to_non_nullable + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + signature: null == signature + ? _value._signature + : signature // ignore: cast_nullable_to_non_nullable as List, - )); - } - - /// Create a copy of BroadcastedTxn - /// with the given fields replaced by the non-null parameter values. - @override - @pragma('vm:prefer-inline') - $DeprecatedContractClassCopyWith<$Res> get contractClass { + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + contractClass: null == contractClass + ? _value.contractClass + : contractClass // ignore: cast_nullable_to_non_nullable + as DeprecatedContractClass, + senderAddress: null == senderAddress + ? _value.senderAddress + : senderAddress // ignore: cast_nullable_to_non_nullable + as Felt, + )); + } + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @pragma('vm:prefer-inline') + $DeprecatedContractClassCopyWith<$Res> get contractClass { return $DeprecatedContractClassCopyWith<$Res>(_value.contractClass, (value) { return _then(_value.copyWith(contractClass: value)); @@ -2381,29 +3233,2567 @@ class __$$BroadcastedDeployTxnImplCopyWithImpl<$Res> /// @nodoc @JsonSerializable(includeIfNull: false) -class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { - const _$BroadcastedDeployTxnImpl( - {required this.contractClass, - required this.version, - required this.type, - required this.contractAddressSalt, +class _$BroadcastedDeclareTxnImpl implements BroadcastedDeclareTxn { + const _$BroadcastedDeclareTxnImpl( + {required this.type, + @JsonKey(toJson: maxFeeToJson) required this.maxFee, + required this.version, + required final List signature, + required this.nonce, + required this.contractClass, + required this.senderAddress, + final String? $type}) + : _signature = signature, + $type = $type ?? 'broadcastedDeclareTxn'; + + factory _$BroadcastedDeclareTxnImpl.fromJson(Map json) => + _$$BroadcastedDeclareTxnImplFromJson(json); + +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + final String type; + @override + @JsonKey(toJson: maxFeeToJson) + final Felt maxFee; + @override + final String version; + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } + + @override + final Felt nonce; +// end of BROADCASTED_TXN_COMMON_PROPERTIES + @override + final DeprecatedContractClass contractClass; + @override + final Felt senderAddress; + + @JsonKey(name: 'starkNetRuntimeTypeToRemove') + final String $type; + + @override + String toString() { + return 'BroadcastedTxn.broadcastedDeclareTxn(type: $type, maxFee: $maxFee, version: $version, signature: $signature, nonce: $nonce, contractClass: $contractClass, senderAddress: $senderAddress)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$BroadcastedDeclareTxnImpl && + (identical(other.type, type) || other.type == type) && + (identical(other.maxFee, maxFee) || other.maxFee == maxFee) && + (identical(other.version, version) || other.version == version) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.nonce, nonce) || other.nonce == nonce) && + (identical(other.contractClass, contractClass) || + other.contractClass == contractClass) && + (identical(other.senderAddress, senderAddress) || + other.senderAddress == senderAddress)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash( + runtimeType, + type, + maxFee, + version, + const DeepCollectionEquality().hash(_signature), + nonce, + contractClass, + senderAddress); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$BroadcastedDeclareTxnImplCopyWith<_$BroadcastedDeclareTxnImpl> + get copyWith => __$$BroadcastedDeclareTxnImplCopyWithImpl< + _$BroadcastedDeclareTxnImpl>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata) + broadcastedInvokeTxnV0, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata) + broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, + required TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata) + broadcastedDeployTxn, + required TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce) + broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxn( + type, maxFee, version, signature, nonce, contractClass, senderAddress); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult? Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult? Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxn?.call( + type, maxFee, version, signature, nonce, contractClass, senderAddress); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeclareTxn != null) { + return broadcastedDeclareTxn(type, maxFee, version, signature, nonce, + contractClass, senderAddress); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(BroadcastedInvokeTxnV0 value) + broadcastedInvokeTxnV0, + required TResult Function(BroadcastedInvokeTxnV1 value) + broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, + required TResult Function(BroadcastedDeclareTxn value) + broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, + required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, + required TResult Function(BroadcastedDeployAccountTxn value) + broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxn(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult? Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxn?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeclareTxn != null) { + return broadcastedDeclareTxn(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$$BroadcastedDeclareTxnImplToJson( + this, + ); + } +} + +abstract class BroadcastedDeclareTxn implements BroadcastedTxn { + const factory BroadcastedDeclareTxn( + {required final String type, + @JsonKey(toJson: maxFeeToJson) required final Felt maxFee, + required final String version, + required final List signature, + required final Felt nonce, + required final DeprecatedContractClass contractClass, + required final Felt senderAddress}) = _$BroadcastedDeclareTxnImpl; + + factory BroadcastedDeclareTxn.fromJson(Map json) = + _$BroadcastedDeclareTxnImpl.fromJson; + +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + String get type; + @JsonKey(toJson: maxFeeToJson) + Felt get maxFee; + @override + String get version; + List get signature; + Felt get nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES + DeprecatedContractClass get contractClass; + Felt get senderAddress; + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$BroadcastedDeclareTxnImplCopyWith<_$BroadcastedDeclareTxnImpl> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$BroadcastedDeclareTxnV2ImplCopyWith<$Res> + implements $BroadcastedTxnCopyWith<$Res> { + factory _$$BroadcastedDeclareTxnV2ImplCopyWith( + _$BroadcastedDeclareTxnV2Impl value, + $Res Function(_$BroadcastedDeclareTxnV2Impl) then) = + __$$BroadcastedDeclareTxnV2ImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress}); + + $FlattenSierraContractClassCopyWith<$Res> get contractClass; +} + +/// @nodoc +class __$$BroadcastedDeclareTxnV2ImplCopyWithImpl<$Res> + extends _$BroadcastedTxnCopyWithImpl<$Res, _$BroadcastedDeclareTxnV2Impl> + implements _$$BroadcastedDeclareTxnV2ImplCopyWith<$Res> { + __$$BroadcastedDeclareTxnV2ImplCopyWithImpl( + _$BroadcastedDeclareTxnV2Impl _value, + $Res Function(_$BroadcastedDeclareTxnV2Impl) _then) + : super(_value, _then); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? max_fee = null, + Object? version = null, + Object? signature = null, + Object? nonce = null, + Object? compiledClassHash = null, + Object? contractClass = null, + Object? senderAddress = null, + }) { + return _then(_$BroadcastedDeclareTxnV2Impl( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + max_fee: null == max_fee + ? _value.max_fee + : max_fee // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + signature: null == signature + ? _value._signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + compiledClassHash: null == compiledClassHash + ? _value.compiledClassHash + : compiledClassHash // ignore: cast_nullable_to_non_nullable + as Felt, + contractClass: null == contractClass + ? _value.contractClass + : contractClass // ignore: cast_nullable_to_non_nullable + as FlattenSierraContractClass, + senderAddress: null == senderAddress + ? _value.senderAddress + : senderAddress // ignore: cast_nullable_to_non_nullable + as Felt, + )); + } + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @pragma('vm:prefer-inline') + $FlattenSierraContractClassCopyWith<$Res> get contractClass { + return $FlattenSierraContractClassCopyWith<$Res>(_value.contractClass, + (value) { + return _then(_value.copyWith(contractClass: value)); + }); + } +} + +/// @nodoc + +@JsonSerializable(includeIfNull: false) +class _$BroadcastedDeclareTxnV2Impl implements BroadcastedDeclareTxnV2 { + const _$BroadcastedDeclareTxnV2Impl( + {required this.type, + required this.max_fee, + required this.version, + required final List signature, + required this.nonce, + required this.compiledClassHash, + required this.contractClass, + required this.senderAddress, + final String? $type}) + : _signature = signature, + $type = $type ?? 'broadcastedDeclareTxnV2'; + + factory _$BroadcastedDeclareTxnV2Impl.fromJson(Map json) => + _$$BroadcastedDeclareTxnV2ImplFromJson(json); + +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + final String type; + @override + final String max_fee; +// As String because devnet only supports 16 bytes and not a Felt + @override + final String version; + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } + + @override + final Felt nonce; +// end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of declareTxnV2 + @override + final Felt compiledClassHash; + @override + final FlattenSierraContractClass contractClass; + @override + final Felt senderAddress; + + @JsonKey(name: 'starkNetRuntimeTypeToRemove') + final String $type; + + @override + String toString() { + return 'BroadcastedTxn.broadcastedDeclareTxnV2(type: $type, max_fee: $max_fee, version: $version, signature: $signature, nonce: $nonce, compiledClassHash: $compiledClassHash, contractClass: $contractClass, senderAddress: $senderAddress)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$BroadcastedDeclareTxnV2Impl && + (identical(other.type, type) || other.type == type) && + (identical(other.max_fee, max_fee) || other.max_fee == max_fee) && + (identical(other.version, version) || other.version == version) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.nonce, nonce) || other.nonce == nonce) && + (identical(other.compiledClassHash, compiledClassHash) || + other.compiledClassHash == compiledClassHash) && + (identical(other.contractClass, contractClass) || + other.contractClass == contractClass) && + (identical(other.senderAddress, senderAddress) || + other.senderAddress == senderAddress)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash( + runtimeType, + type, + max_fee, + version, + const DeepCollectionEquality().hash(_signature), + nonce, + compiledClassHash, + contractClass, + senderAddress); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$BroadcastedDeclareTxnV2ImplCopyWith<_$BroadcastedDeclareTxnV2Impl> + get copyWith => __$$BroadcastedDeclareTxnV2ImplCopyWithImpl< + _$BroadcastedDeclareTxnV2Impl>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata) + broadcastedInvokeTxnV0, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata) + broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, + required TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata) + broadcastedDeployTxn, + required TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce) + broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV2(type, max_fee, version, signature, nonce, + compiledClassHash, contractClass, senderAddress); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult? Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult? Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV2?.call(type, max_fee, version, signature, + nonce, compiledClassHash, contractClass, senderAddress); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeclareTxnV2 != null) { + return broadcastedDeclareTxnV2(type, max_fee, version, signature, nonce, + compiledClassHash, contractClass, senderAddress); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(BroadcastedInvokeTxnV0 value) + broadcastedInvokeTxnV0, + required TResult Function(BroadcastedInvokeTxnV1 value) + broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, + required TResult Function(BroadcastedDeclareTxn value) + broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, + required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, + required TResult Function(BroadcastedDeployAccountTxn value) + broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV2(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult? Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV2?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeclareTxnV2 != null) { + return broadcastedDeclareTxnV2(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$$BroadcastedDeclareTxnV2ImplToJson( + this, + ); + } +} + +abstract class BroadcastedDeclareTxnV2 implements BroadcastedTxn { + const factory BroadcastedDeclareTxnV2( + {required final String type, + required final String max_fee, + required final String version, + required final List signature, + required final Felt nonce, + required final Felt compiledClassHash, + required final FlattenSierraContractClass contractClass, + required final Felt senderAddress}) = _$BroadcastedDeclareTxnV2Impl; + + factory BroadcastedDeclareTxnV2.fromJson(Map json) = + _$BroadcastedDeclareTxnV2Impl.fromJson; + +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + String get type; + String + get max_fee; // As String because devnet only supports 16 bytes and not a Felt + @override + String get version; + List get signature; + Felt get nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of declareTxnV2 + Felt get compiledClassHash; + FlattenSierraContractClass get contractClass; + Felt get senderAddress; + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$BroadcastedDeclareTxnV2ImplCopyWith<_$BroadcastedDeclareTxnV2Impl> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$BroadcastedDeclareTxnV3ImplCopyWith<$Res> + implements $BroadcastedTxnCopyWith<$Res> { + factory _$$BroadcastedDeclareTxnV3ImplCopyWith( + _$BroadcastedDeclareTxnV3Impl value, + $Res Function(_$BroadcastedDeclareTxnV3Impl) then) = + __$$BroadcastedDeclareTxnV3ImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip}); + + $FlattenSierraContractClassCopyWith<$Res> get contractClass; +} + +/// @nodoc +class __$$BroadcastedDeclareTxnV3ImplCopyWithImpl<$Res> + extends _$BroadcastedTxnCopyWithImpl<$Res, _$BroadcastedDeclareTxnV3Impl> + implements _$$BroadcastedDeclareTxnV3ImplCopyWith<$Res> { + __$$BroadcastedDeclareTxnV3ImplCopyWithImpl( + _$BroadcastedDeclareTxnV3Impl _value, + $Res Function(_$BroadcastedDeclareTxnV3Impl) _then) + : super(_value, _then); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? version = null, + Object? signature = null, + Object? nonce = null, + Object? accountDeploymentData = null, + Object? compiledClassHash = null, + Object? contractClass = null, + Object? feeDataAvailabilityMode = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? senderAddress = null, + Object? tip = null, + }) { + return _then(_$BroadcastedDeclareTxnV3Impl( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + signature: null == signature + ? _value._signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + accountDeploymentData: null == accountDeploymentData + ? _value._accountDeploymentData + : accountDeploymentData // ignore: cast_nullable_to_non_nullable + as List, + compiledClassHash: null == compiledClassHash + ? _value.compiledClassHash + : compiledClassHash // ignore: cast_nullable_to_non_nullable + as Felt, + contractClass: null == contractClass + ? _value.contractClass + : contractClass // ignore: cast_nullable_to_non_nullable + as FlattenSierraContractClass, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value._paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value._resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + senderAddress: null == senderAddress + ? _value.senderAddress + : senderAddress // ignore: cast_nullable_to_non_nullable + as Felt, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, + )); + } + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @pragma('vm:prefer-inline') + $FlattenSierraContractClassCopyWith<$Res> get contractClass { + return $FlattenSierraContractClassCopyWith<$Res>(_value.contractClass, + (value) { + return _then(_value.copyWith(contractClass: value)); + }); + } +} + +/// @nodoc + +@JsonSerializable(includeIfNull: false) +class _$BroadcastedDeclareTxnV3Impl implements BroadcastedDeclareTxnV3 { + const _$BroadcastedDeclareTxnV3Impl( + {required this.type, + required this.version, + required final List signature, + required this.nonce, + required final List accountDeploymentData, + required this.compiledClassHash, + required this.contractClass, + required this.feeDataAvailabilityMode, + required this.nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required this.senderAddress, + required this.tip, + final String? $type}) + : _signature = signature, + _accountDeploymentData = accountDeploymentData, + _paymasterData = paymasterData, + _resourceBounds = resourceBounds, + $type = $type ?? 'broadcastedDeclareTxnV3'; + + factory _$BroadcastedDeclareTxnV3Impl.fromJson(Map json) => + _$$BroadcastedDeclareTxnV3ImplFromJson(json); + +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + final String type; + @override + final String version; + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } + + @override + final Felt nonce; +// end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of declareTxnV3 + final List _accountDeploymentData; +// end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of declareTxnV3 + @override + List get accountDeploymentData { + if (_accountDeploymentData is EqualUnmodifiableListView) + return _accountDeploymentData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_accountDeploymentData); + } + + @override + final Felt compiledClassHash; + @override + final FlattenSierraContractClass contractClass; + @override + final String feeDataAvailabilityMode; + @override + final String nonceDataAvailabilityMode; + final List _paymasterData; + @override + List get paymasterData { + if (_paymasterData is EqualUnmodifiableListView) return _paymasterData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_paymasterData); + } + + final Map _resourceBounds; + @override + Map get resourceBounds { + if (_resourceBounds is EqualUnmodifiableMapView) return _resourceBounds; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_resourceBounds); + } + + @override + final Felt senderAddress; + @override + final String tip; + + @JsonKey(name: 'starkNetRuntimeTypeToRemove') + final String $type; + + @override + String toString() { + return 'BroadcastedTxn.broadcastedDeclareTxnV3(type: $type, version: $version, signature: $signature, nonce: $nonce, accountDeploymentData: $accountDeploymentData, compiledClassHash: $compiledClassHash, contractClass: $contractClass, feeDataAvailabilityMode: $feeDataAvailabilityMode, nonceDataAvailabilityMode: $nonceDataAvailabilityMode, paymasterData: $paymasterData, resourceBounds: $resourceBounds, senderAddress: $senderAddress, tip: $tip)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$BroadcastedDeclareTxnV3Impl && + (identical(other.type, type) || other.type == type) && + (identical(other.version, version) || other.version == version) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.nonce, nonce) || other.nonce == nonce) && + const DeepCollectionEquality() + .equals(other._accountDeploymentData, _accountDeploymentData) && + (identical(other.compiledClassHash, compiledClassHash) || + other.compiledClassHash == compiledClassHash) && + (identical(other.contractClass, contractClass) || + other.contractClass == contractClass) && + (identical( + other.feeDataAvailabilityMode, feeDataAvailabilityMode) || + other.feeDataAvailabilityMode == feeDataAvailabilityMode) && + (identical(other.nonceDataAvailabilityMode, + nonceDataAvailabilityMode) || + other.nonceDataAvailabilityMode == nonceDataAvailabilityMode) && + const DeepCollectionEquality() + .equals(other._paymasterData, _paymasterData) && + const DeepCollectionEquality() + .equals(other._resourceBounds, _resourceBounds) && + (identical(other.senderAddress, senderAddress) || + other.senderAddress == senderAddress) && + (identical(other.tip, tip) || other.tip == tip)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash( + runtimeType, + type, + version, + const DeepCollectionEquality().hash(_signature), + nonce, + const DeepCollectionEquality().hash(_accountDeploymentData), + compiledClassHash, + contractClass, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + const DeepCollectionEquality().hash(_paymasterData), + const DeepCollectionEquality().hash(_resourceBounds), + senderAddress, + tip); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$BroadcastedDeclareTxnV3ImplCopyWith<_$BroadcastedDeclareTxnV3Impl> + get copyWith => __$$BroadcastedDeclareTxnV3ImplCopyWithImpl< + _$BroadcastedDeclareTxnV3Impl>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata) + broadcastedInvokeTxnV0, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata) + broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, + required TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata) + broadcastedDeployTxn, + required TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce) + broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV3( + type, + version, + signature, + nonce, + accountDeploymentData, + compiledClassHash, + contractClass, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + senderAddress, + tip); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult? Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult? Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV3?.call( + type, + version, + signature, + nonce, + accountDeploymentData, + compiledClassHash, + contractClass, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + senderAddress, + tip); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeclareTxnV3 != null) { + return broadcastedDeclareTxnV3( + type, + version, + signature, + nonce, + accountDeploymentData, + compiledClassHash, + contractClass, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + senderAddress, + tip); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(BroadcastedInvokeTxnV0 value) + broadcastedInvokeTxnV0, + required TResult Function(BroadcastedInvokeTxnV1 value) + broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, + required TResult Function(BroadcastedDeclareTxn value) + broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, + required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, + required TResult Function(BroadcastedDeployAccountTxn value) + broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV3(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult? Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeclareTxnV3?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeclareTxnV3 != null) { + return broadcastedDeclareTxnV3(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$$BroadcastedDeclareTxnV3ImplToJson( + this, + ); + } +} + +abstract class BroadcastedDeclareTxnV3 implements BroadcastedTxn { + const factory BroadcastedDeclareTxnV3( + {required final String type, + required final String version, + required final List signature, + required final Felt nonce, + required final List accountDeploymentData, + required final Felt compiledClassHash, + required final FlattenSierraContractClass contractClass, + required final String feeDataAvailabilityMode, + required final String nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required final Felt senderAddress, + required final String tip}) = _$BroadcastedDeclareTxnV3Impl; + + factory BroadcastedDeclareTxnV3.fromJson(Map json) = + _$BroadcastedDeclareTxnV3Impl.fromJson; + +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + String get type; + @override + String get version; + List get signature; + Felt get nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of declareTxnV3 + List get accountDeploymentData; + Felt get compiledClassHash; + FlattenSierraContractClass get contractClass; + String get feeDataAvailabilityMode; + String get nonceDataAvailabilityMode; + List get paymasterData; + Map get resourceBounds; + Felt get senderAddress; + String get tip; + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$BroadcastedDeclareTxnV3ImplCopyWith<_$BroadcastedDeclareTxnV3Impl> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$BroadcastedDeployTxnImplCopyWith<$Res> + implements $BroadcastedTxnCopyWith<$Res> { + factory _$$BroadcastedDeployTxnImplCopyWith(_$BroadcastedDeployTxnImpl value, + $Res Function(_$BroadcastedDeployTxnImpl) then) = + __$$BroadcastedDeployTxnImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata}); + + $DeprecatedContractClassCopyWith<$Res> get contractClass; +} + +/// @nodoc +class __$$BroadcastedDeployTxnImplCopyWithImpl<$Res> + extends _$BroadcastedTxnCopyWithImpl<$Res, _$BroadcastedDeployTxnImpl> + implements _$$BroadcastedDeployTxnImplCopyWith<$Res> { + __$$BroadcastedDeployTxnImplCopyWithImpl(_$BroadcastedDeployTxnImpl _value, + $Res Function(_$BroadcastedDeployTxnImpl) _then) + : super(_value, _then); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? contractClass = null, + Object? version = null, + Object? type = null, + Object? contractAddressSalt = null, + Object? constructorCalldata = null, + }) { + return _then(_$BroadcastedDeployTxnImpl( + contractClass: null == contractClass + ? _value.contractClass + : contractClass // ignore: cast_nullable_to_non_nullable + as DeprecatedContractClass, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + contractAddressSalt: null == contractAddressSalt + ? _value.contractAddressSalt + : contractAddressSalt // ignore: cast_nullable_to_non_nullable + as Felt, + constructorCalldata: null == constructorCalldata + ? _value._constructorCalldata + : constructorCalldata // ignore: cast_nullable_to_non_nullable + as List, + )); + } + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @pragma('vm:prefer-inline') + $DeprecatedContractClassCopyWith<$Res> get contractClass { + return $DeprecatedContractClassCopyWith<$Res>(_value.contractClass, + (value) { + return _then(_value.copyWith(contractClass: value)); + }); + } +} + +/// @nodoc + +@JsonSerializable(includeIfNull: false) +class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { + const _$BroadcastedDeployTxnImpl( + {required this.contractClass, + required this.version, + required this.type, + required this.contractAddressSalt, + required final List constructorCalldata, + final String? $type}) + : _constructorCalldata = constructorCalldata, + $type = $type ?? 'broadcastedDeployTxn'; + + factory _$BroadcastedDeployTxnImpl.fromJson(Map json) => + _$$BroadcastedDeployTxnImplFromJson(json); + + @override + final DeprecatedContractClass contractClass; +// start of DEPLOY_TXN_PROPERTIES + @override + final String version; + @override + final String type; + @override + final Felt contractAddressSalt; + final List _constructorCalldata; + @override + List get constructorCalldata { + if (_constructorCalldata is EqualUnmodifiableListView) + return _constructorCalldata; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_constructorCalldata); + } + + @JsonKey(name: 'starkNetRuntimeTypeToRemove') + final String $type; + + @override + String toString() { + return 'BroadcastedTxn.broadcastedDeployTxn(contractClass: $contractClass, version: $version, type: $type, contractAddressSalt: $contractAddressSalt, constructorCalldata: $constructorCalldata)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$BroadcastedDeployTxnImpl && + (identical(other.contractClass, contractClass) || + other.contractClass == contractClass) && + (identical(other.version, version) || other.version == version) && + (identical(other.type, type) || other.type == type) && + (identical(other.contractAddressSalt, contractAddressSalt) || + other.contractAddressSalt == contractAddressSalt) && + const DeepCollectionEquality() + .equals(other._constructorCalldata, _constructorCalldata)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash( + runtimeType, + contractClass, + version, + type, + contractAddressSalt, + const DeepCollectionEquality().hash(_constructorCalldata)); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$BroadcastedDeployTxnImplCopyWith<_$BroadcastedDeployTxnImpl> + get copyWith => + __$$BroadcastedDeployTxnImplCopyWithImpl<_$BroadcastedDeployTxnImpl>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata) + broadcastedInvokeTxnV0, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata) + broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, + required TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, + required TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata) + broadcastedDeployTxn, + required TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce) + broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeployTxn( + contractClass, version, type, contractAddressSalt, constructorCalldata); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult? Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult? Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult? Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeployTxn?.call( + contractClass, version, type, contractAddressSalt, constructorCalldata); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt? nonce, + Felt contractAddress, + Felt entryPointSelector, + List calldata)? + broadcastedInvokeTxnV0, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + Felt senderAddress, + List calldata)? + broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, + TResult Function( + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce, + DeprecatedContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, + TResult Function( + DeprecatedContractClass contractClass, + String version, + String type, + Felt contractAddressSalt, + List constructorCalldata)? + broadcastedDeployTxn, + TResult Function( + Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce)? + broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeployTxn != null) { + return broadcastedDeployTxn(contractClass, version, type, + contractAddressSalt, constructorCalldata); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(BroadcastedInvokeTxnV0 value) + broadcastedInvokeTxnV0, + required TResult Function(BroadcastedInvokeTxnV1 value) + broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, + required TResult Function(BroadcastedDeclareTxn value) + broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, + required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, + required TResult Function(BroadcastedDeployAccountTxn value) + broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeployTxn(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult? Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + }) { + return broadcastedDeployTxn?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, + TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, + TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, + TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, + TResult Function(BroadcastedDeployAccountTxn value)? + broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, + required TResult orElse(), + }) { + if (broadcastedDeployTxn != null) { + return broadcastedDeployTxn(this); + } + return orElse(); + } + + @override + Map toJson() { + return _$$BroadcastedDeployTxnImplToJson( + this, + ); + } +} + +abstract class BroadcastedDeployTxn implements BroadcastedTxn { + const factory BroadcastedDeployTxn( + {required final DeprecatedContractClass contractClass, + required final String version, + required final String type, + required final Felt contractAddressSalt, + required final List constructorCalldata}) = + _$BroadcastedDeployTxnImpl; + + factory BroadcastedDeployTxn.fromJson(Map json) = + _$BroadcastedDeployTxnImpl.fromJson; + + DeprecatedContractClass get contractClass; // start of DEPLOY_TXN_PROPERTIES + @override + String get version; + @override + String get type; + Felt get contractAddressSalt; + List get constructorCalldata; + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$BroadcastedDeployTxnImplCopyWith<_$BroadcastedDeployTxnImpl> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$BroadcastedDeployAccountTxnImplCopyWith<$Res> + implements $BroadcastedTxnCopyWith<$Res> { + factory _$$BroadcastedDeployAccountTxnImplCopyWith( + _$BroadcastedDeployAccountTxnImpl value, + $Res Function(_$BroadcastedDeployAccountTxnImpl) then) = + __$$BroadcastedDeployAccountTxnImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {Felt contractAddressSalt, + Felt classHash, + List constructorCalldata, + String type, + @JsonKey(toJson: maxFeeToJson) Felt maxFee, + String version, + List signature, + Felt nonce}); +} + +/// @nodoc +class __$$BroadcastedDeployAccountTxnImplCopyWithImpl<$Res> + extends _$BroadcastedTxnCopyWithImpl<$Res, + _$BroadcastedDeployAccountTxnImpl> + implements _$$BroadcastedDeployAccountTxnImplCopyWith<$Res> { + __$$BroadcastedDeployAccountTxnImplCopyWithImpl( + _$BroadcastedDeployAccountTxnImpl _value, + $Res Function(_$BroadcastedDeployAccountTxnImpl) _then) + : super(_value, _then); + + /// Create a copy of BroadcastedTxn + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? contractAddressSalt = null, + Object? classHash = null, + Object? constructorCalldata = null, + Object? type = null, + Object? maxFee = null, + Object? version = null, + Object? signature = null, + Object? nonce = null, + }) { + return _then(_$BroadcastedDeployAccountTxnImpl( + contractAddressSalt: null == contractAddressSalt + ? _value.contractAddressSalt + : contractAddressSalt // ignore: cast_nullable_to_non_nullable + as Felt, + classHash: null == classHash + ? _value.classHash + : classHash // ignore: cast_nullable_to_non_nullable + as Felt, + constructorCalldata: null == constructorCalldata + ? _value._constructorCalldata + : constructorCalldata // ignore: cast_nullable_to_non_nullable + as List, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + maxFee: null == maxFee + ? _value.maxFee + : maxFee // ignore: cast_nullable_to_non_nullable + as Felt, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + signature: null == signature + ? _value._signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + )); + } +} + +/// @nodoc + +@JsonSerializable(includeIfNull: false) +class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { + const _$BroadcastedDeployAccountTxnImpl( + {required this.contractAddressSalt, + required this.classHash, required final List constructorCalldata, + required this.type, + @JsonKey(toJson: maxFeeToJson) required this.maxFee, + required this.version, + required final List signature, + required this.nonce, final String? $type}) : _constructorCalldata = constructorCalldata, - $type = $type ?? 'broadcastedDeployTxn'; + _signature = signature, + $type = $type ?? 'broadcastedDeployAccountTxn'; - factory _$BroadcastedDeployTxnImpl.fromJson(Map json) => - _$$BroadcastedDeployTxnImplFromJson(json); + factory _$BroadcastedDeployAccountTxnImpl.fromJson( + Map json) => + _$$BroadcastedDeployAccountTxnImplFromJson(json); - @override - final DeprecatedContractClass contractClass; -// start of DEPLOY_TXN_PROPERTIES - @override - final String version; - @override - final String type; @override final Felt contractAddressSalt; + @override + final Felt classHash; final List _constructorCalldata; @override List get constructorCalldata { @@ -2413,48 +5803,73 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { return EqualUnmodifiableListView(_constructorCalldata); } +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + final String type; + @override + @JsonKey(toJson: maxFeeToJson) + final Felt maxFee; + @override + final String version; + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } + + @override + final Felt nonce; + @JsonKey(name: 'starkNetRuntimeTypeToRemove') final String $type; @override String toString() { - return 'BroadcastedTxn.broadcastedDeployTxn(contractClass: $contractClass, version: $version, type: $type, contractAddressSalt: $contractAddressSalt, constructorCalldata: $constructorCalldata)'; + return 'BroadcastedTxn.broadcastedDeployAccountTxn(contractAddressSalt: $contractAddressSalt, classHash: $classHash, constructorCalldata: $constructorCalldata, type: $type, maxFee: $maxFee, version: $version, signature: $signature, nonce: $nonce)'; } @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$BroadcastedDeployTxnImpl && - (identical(other.contractClass, contractClass) || - other.contractClass == contractClass) && - (identical(other.version, version) || other.version == version) && - (identical(other.type, type) || other.type == type) && + other is _$BroadcastedDeployAccountTxnImpl && (identical(other.contractAddressSalt, contractAddressSalt) || other.contractAddressSalt == contractAddressSalt) && + (identical(other.classHash, classHash) || + other.classHash == classHash) && const DeepCollectionEquality() - .equals(other._constructorCalldata, _constructorCalldata)); + .equals(other._constructorCalldata, _constructorCalldata) && + (identical(other.type, type) || other.type == type) && + (identical(other.maxFee, maxFee) || other.maxFee == maxFee) && + (identical(other.version, version) || other.version == version) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.nonce, nonce) || other.nonce == nonce)); } @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, - contractClass, - version, - type, contractAddressSalt, - const DeepCollectionEquality().hash(_constructorCalldata)); + classHash, + const DeepCollectionEquality().hash(_constructorCalldata), + type, + maxFee, + version, + const DeepCollectionEquality().hash(_signature), + nonce); /// Create a copy of BroadcastedTxn /// with the given fields replaced by the non-null parameter values. @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') - _$$BroadcastedDeployTxnImplCopyWith<_$BroadcastedDeployTxnImpl> - get copyWith => - __$$BroadcastedDeployTxnImplCopyWithImpl<_$BroadcastedDeployTxnImpl>( - this, _$identity); + _$$BroadcastedDeployAccountTxnImplCopyWith<_$BroadcastedDeployAccountTxnImpl> + get copyWith => __$$BroadcastedDeployAccountTxnImplCopyWithImpl< + _$BroadcastedDeployAccountTxnImpl>(this, _$identity); @override @optionalTypeArgs @@ -2478,6 +5893,20 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { Felt senderAddress, List calldata) broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, required TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2487,6 +5916,31 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { DeprecatedContractClass contractClass, Felt senderAddress) broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, required TResult Function( DeprecatedContractClass contractClass, String version, @@ -2504,9 +5958,23 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { List signature, Felt nonce) broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployTxn( - contractClass, version, type, contractAddressSalt, constructorCalldata); + return broadcastedDeployAccountTxn(contractAddressSalt, classHash, + constructorCalldata, type, maxFee, version, signature, nonce); } @override @@ -2531,6 +5999,20 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult? Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2540,6 +6022,31 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult? Function( DeprecatedContractClass contractClass, String version, @@ -2557,9 +6064,23 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployTxn?.call( - contractClass, version, type, contractAddressSalt, constructorCalldata); + return broadcastedDeployAccountTxn?.call(contractAddressSalt, classHash, + constructorCalldata, type, maxFee, version, signature, nonce); } @override @@ -2584,6 +6105,20 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2593,6 +6128,31 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult Function( DeprecatedContractClass contractClass, String version, @@ -2610,11 +6170,25 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { - if (broadcastedDeployTxn != null) { - return broadcastedDeployTxn(contractClass, version, type, - contractAddressSalt, constructorCalldata); + if (broadcastedDeployAccountTxn != null) { + return broadcastedDeployAccountTxn(contractAddressSalt, classHash, + constructorCalldata, type, maxFee, version, signature, nonce); } return orElse(); } @@ -2626,13 +6200,21 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { broadcastedInvokeTxnV0, required TResult Function(BroadcastedInvokeTxnV1 value) broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, required TResult Function(BroadcastedDeclareTxn value) broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, required TResult Function(BroadcastedDeployAccountTxn value) broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployTxn(this); + return broadcastedDeployAccountTxn(this); } @override @@ -2640,12 +6222,17 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { TResult? mapOrNull({ TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult? Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployTxn?.call(this); + return broadcastedDeployAccountTxn?.call(this); } @override @@ -2653,82 +6240,98 @@ class _$BroadcastedDeployTxnImpl implements BroadcastedDeployTxn { TResult maybeMap({ TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { - if (broadcastedDeployTxn != null) { - return broadcastedDeployTxn(this); + if (broadcastedDeployAccountTxn != null) { + return broadcastedDeployAccountTxn(this); } return orElse(); } @override Map toJson() { - return _$$BroadcastedDeployTxnImplToJson( + return _$$BroadcastedDeployAccountTxnImplToJson( this, ); } } -abstract class BroadcastedDeployTxn implements BroadcastedTxn { - const factory BroadcastedDeployTxn( - {required final DeprecatedContractClass contractClass, - required final String version, - required final String type, - required final Felt contractAddressSalt, - required final List constructorCalldata}) = - _$BroadcastedDeployTxnImpl; +abstract class BroadcastedDeployAccountTxn implements BroadcastedTxn { + const factory BroadcastedDeployAccountTxn( + {required final Felt contractAddressSalt, + required final Felt classHash, + required final List constructorCalldata, + required final String type, + @JsonKey(toJson: maxFeeToJson) required final Felt maxFee, + required final String version, + required final List signature, + required final Felt nonce}) = _$BroadcastedDeployAccountTxnImpl; - factory BroadcastedDeployTxn.fromJson(Map json) = - _$BroadcastedDeployTxnImpl.fromJson; + factory BroadcastedDeployAccountTxn.fromJson(Map json) = + _$BroadcastedDeployAccountTxnImpl.fromJson; - DeprecatedContractClass get contractClass; // start of DEPLOY_TXN_PROPERTIES - @override - String get version; + Felt get contractAddressSalt; + Felt get classHash; + List + get constructorCalldata; // start of BROADCASTED_TXN_COMMON_PROPERTIES @override String get type; - Felt get contractAddressSalt; - List get constructorCalldata; + @JsonKey(toJson: maxFeeToJson) + Felt get maxFee; + @override + String get version; + List get signature; + Felt get nonce; /// Create a copy of BroadcastedTxn /// with the given fields replaced by the non-null parameter values. @override @JsonKey(includeFromJson: false, includeToJson: false) - _$$BroadcastedDeployTxnImplCopyWith<_$BroadcastedDeployTxnImpl> + _$$BroadcastedDeployAccountTxnImplCopyWith<_$BroadcastedDeployAccountTxnImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$BroadcastedDeployAccountTxnImplCopyWith<$Res> +abstract class _$$BroadcastedDeployAccountTxnV3ImplCopyWith<$Res> implements $BroadcastedTxnCopyWith<$Res> { - factory _$$BroadcastedDeployAccountTxnImplCopyWith( - _$BroadcastedDeployAccountTxnImpl value, - $Res Function(_$BroadcastedDeployAccountTxnImpl) then) = - __$$BroadcastedDeployAccountTxnImplCopyWithImpl<$Res>; + factory _$$BroadcastedDeployAccountTxnV3ImplCopyWith( + _$BroadcastedDeployAccountTxnV3Impl value, + $Res Function(_$BroadcastedDeployAccountTxnV3Impl) then) = + __$$BroadcastedDeployAccountTxnV3ImplCopyWithImpl<$Res>; @override @useResult $Res call( - {Felt contractAddressSalt, - Felt classHash, - List constructorCalldata, - String type, - @JsonKey(toJson: maxFeeToJson) Felt maxFee, + {String type, String version, List signature, - Felt nonce}); + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip}); } /// @nodoc -class __$$BroadcastedDeployAccountTxnImplCopyWithImpl<$Res> +class __$$BroadcastedDeployAccountTxnV3ImplCopyWithImpl<$Res> extends _$BroadcastedTxnCopyWithImpl<$Res, - _$BroadcastedDeployAccountTxnImpl> - implements _$$BroadcastedDeployAccountTxnImplCopyWith<$Res> { - __$$BroadcastedDeployAccountTxnImplCopyWithImpl( - _$BroadcastedDeployAccountTxnImpl _value, - $Res Function(_$BroadcastedDeployAccountTxnImpl) _then) + _$BroadcastedDeployAccountTxnV3Impl> + implements _$$BroadcastedDeployAccountTxnV3ImplCopyWith<$Res> { + __$$BroadcastedDeployAccountTxnV3ImplCopyWithImpl( + _$BroadcastedDeployAccountTxnV3Impl _value, + $Res Function(_$BroadcastedDeployAccountTxnV3Impl) _then) : super(_value, _then); /// Create a copy of BroadcastedTxn @@ -2736,36 +6339,24 @@ class __$$BroadcastedDeployAccountTxnImplCopyWithImpl<$Res> @pragma('vm:prefer-inline') @override $Res call({ - Object? contractAddressSalt = null, - Object? classHash = null, - Object? constructorCalldata = null, Object? type = null, - Object? maxFee = null, Object? version = null, Object? signature = null, Object? nonce = null, + Object? classHash = null, + Object? constructorCalldata = null, + Object? contractAddressSalt = null, + Object? feeDataAvailabilityMode = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? tip = null, }) { - return _then(_$BroadcastedDeployAccountTxnImpl( - contractAddressSalt: null == contractAddressSalt - ? _value.contractAddressSalt - : contractAddressSalt // ignore: cast_nullable_to_non_nullable - as Felt, - classHash: null == classHash - ? _value.classHash - : classHash // ignore: cast_nullable_to_non_nullable - as Felt, - constructorCalldata: null == constructorCalldata - ? _value._constructorCalldata - : constructorCalldata // ignore: cast_nullable_to_non_nullable - as List, + return _then(_$BroadcastedDeployAccountTxnV3Impl( type: null == type ? _value.type : type // ignore: cast_nullable_to_non_nullable as String, - maxFee: null == maxFee - ? _value.maxFee - : maxFee // ignore: cast_nullable_to_non_nullable - as Felt, version: null == version ? _value.version : version // ignore: cast_nullable_to_non_nullable @@ -2778,6 +6369,38 @@ class __$$BroadcastedDeployAccountTxnImplCopyWithImpl<$Res> ? _value.nonce : nonce // ignore: cast_nullable_to_non_nullable as Felt, + classHash: null == classHash + ? _value.classHash + : classHash // ignore: cast_nullable_to_non_nullable + as Felt, + constructorCalldata: null == constructorCalldata + ? _value._constructorCalldata + : constructorCalldata // ignore: cast_nullable_to_non_nullable + as List, + contractAddressSalt: null == contractAddressSalt + ? _value.contractAddressSalt + : contractAddressSalt // ignore: cast_nullable_to_non_nullable + as Felt, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value._paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value._resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, )); } } @@ -2785,27 +6408,49 @@ class __$$BroadcastedDeployAccountTxnImplCopyWithImpl<$Res> /// @nodoc @JsonSerializable(includeIfNull: false) -class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { - const _$BroadcastedDeployAccountTxnImpl( - {required this.contractAddressSalt, - required this.classHash, - required final List constructorCalldata, - required this.type, - @JsonKey(toJson: maxFeeToJson) required this.maxFee, +class _$BroadcastedDeployAccountTxnV3Impl + implements BroadcastedDeployAccountTxnV3 { + const _$BroadcastedDeployAccountTxnV3Impl( + {required this.type, required this.version, required final List signature, required this.nonce, + required this.classHash, + required final List constructorCalldata, + required this.contractAddressSalt, + required this.feeDataAvailabilityMode, + required this.nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required this.tip, final String? $type}) - : _constructorCalldata = constructorCalldata, - _signature = signature, - $type = $type ?? 'broadcastedDeployAccountTxn'; + : _signature = signature, + _constructorCalldata = constructorCalldata, + _paymasterData = paymasterData, + _resourceBounds = resourceBounds, + $type = $type ?? 'broadcastedDeployAccountTxnV3'; - factory _$BroadcastedDeployAccountTxnImpl.fromJson( + factory _$BroadcastedDeployAccountTxnV3Impl.fromJson( Map json) => - _$$BroadcastedDeployAccountTxnImplFromJson(json); + _$$BroadcastedDeployAccountTxnV3ImplFromJson(json); + +// start of BROADCASTED_TXN_COMMON_PROPERTIES + @override + final String type; + @override + final String version; + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } @override - final Felt contractAddressSalt; + final Felt nonce; +// end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of deployAccountTxnV3 @override final Felt classHash; final List _constructorCalldata; @@ -2817,73 +6462,94 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { return EqualUnmodifiableListView(_constructorCalldata); } -// start of BROADCASTED_TXN_COMMON_PROPERTIES @override - final String type; + final Felt contractAddressSalt; @override - @JsonKey(toJson: maxFeeToJson) - final Felt maxFee; + final String feeDataAvailabilityMode; @override - final String version; - final List _signature; + final String nonceDataAvailabilityMode; + final List _paymasterData; @override - List get signature { - if (_signature is EqualUnmodifiableListView) return _signature; + List get paymasterData { + if (_paymasterData is EqualUnmodifiableListView) return _paymasterData; // ignore: implicit_dynamic_type - return EqualUnmodifiableListView(_signature); + return EqualUnmodifiableListView(_paymasterData); } + final Map _resourceBounds; @override - final Felt nonce; + Map get resourceBounds { + if (_resourceBounds is EqualUnmodifiableMapView) return _resourceBounds; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_resourceBounds); + } + + @override + final String tip; @JsonKey(name: 'starkNetRuntimeTypeToRemove') final String $type; @override String toString() { - return 'BroadcastedTxn.broadcastedDeployAccountTxn(contractAddressSalt: $contractAddressSalt, classHash: $classHash, constructorCalldata: $constructorCalldata, type: $type, maxFee: $maxFee, version: $version, signature: $signature, nonce: $nonce)'; + return 'BroadcastedTxn.broadcastedDeployAccountTxnV3(type: $type, version: $version, signature: $signature, nonce: $nonce, classHash: $classHash, constructorCalldata: $constructorCalldata, contractAddressSalt: $contractAddressSalt, feeDataAvailabilityMode: $feeDataAvailabilityMode, nonceDataAvailabilityMode: $nonceDataAvailabilityMode, paymasterData: $paymasterData, resourceBounds: $resourceBounds, tip: $tip)'; } @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$BroadcastedDeployAccountTxnImpl && - (identical(other.contractAddressSalt, contractAddressSalt) || - other.contractAddressSalt == contractAddressSalt) && + other is _$BroadcastedDeployAccountTxnV3Impl && + (identical(other.type, type) || other.type == type) && + (identical(other.version, version) || other.version == version) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.nonce, nonce) || other.nonce == nonce) && (identical(other.classHash, classHash) || other.classHash == classHash) && const DeepCollectionEquality() .equals(other._constructorCalldata, _constructorCalldata) && - (identical(other.type, type) || other.type == type) && - (identical(other.maxFee, maxFee) || other.maxFee == maxFee) && - (identical(other.version, version) || other.version == version) && + (identical(other.contractAddressSalt, contractAddressSalt) || + other.contractAddressSalt == contractAddressSalt) && + (identical( + other.feeDataAvailabilityMode, feeDataAvailabilityMode) || + other.feeDataAvailabilityMode == feeDataAvailabilityMode) && + (identical(other.nonceDataAvailabilityMode, + nonceDataAvailabilityMode) || + other.nonceDataAvailabilityMode == nonceDataAvailabilityMode) && const DeepCollectionEquality() - .equals(other._signature, _signature) && - (identical(other.nonce, nonce) || other.nonce == nonce)); + .equals(other._paymasterData, _paymasterData) && + const DeepCollectionEquality() + .equals(other._resourceBounds, _resourceBounds) && + (identical(other.tip, tip) || other.tip == tip)); } @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, - contractAddressSalt, - classHash, - const DeepCollectionEquality().hash(_constructorCalldata), type, - maxFee, version, const DeepCollectionEquality().hash(_signature), - nonce); + nonce, + classHash, + const DeepCollectionEquality().hash(_constructorCalldata), + contractAddressSalt, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + const DeepCollectionEquality().hash(_paymasterData), + const DeepCollectionEquality().hash(_resourceBounds), + tip); /// Create a copy of BroadcastedTxn /// with the given fields replaced by the non-null parameter values. @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') - _$$BroadcastedDeployAccountTxnImplCopyWith<_$BroadcastedDeployAccountTxnImpl> - get copyWith => __$$BroadcastedDeployAccountTxnImplCopyWithImpl< - _$BroadcastedDeployAccountTxnImpl>(this, _$identity); + _$$BroadcastedDeployAccountTxnV3ImplCopyWith< + _$BroadcastedDeployAccountTxnV3Impl> + get copyWith => __$$BroadcastedDeployAccountTxnV3ImplCopyWithImpl< + _$BroadcastedDeployAccountTxnV3Impl>(this, _$identity); @override @optionalTypeArgs @@ -2907,6 +6573,20 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { Felt senderAddress, List calldata) broadcastedInvokeTxnV1, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedInvokeTxnV3, required TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2916,6 +6596,31 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { DeprecatedContractClass contractClass, Felt senderAddress) broadcastedDeclareTxn, + required TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress) + broadcastedDeclareTxnV2, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip) + broadcastedDeclareTxnV3, required TResult Function( DeprecatedContractClass contractClass, String version, @@ -2933,9 +6638,34 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { List signature, Felt nonce) broadcastedDeployAccountTxn, + required TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip) + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployAccountTxn(contractAddressSalt, classHash, - constructorCalldata, type, maxFee, version, signature, nonce); + return broadcastedDeployAccountTxnV3( + type, + version, + signature, + nonce, + classHash, + constructorCalldata, + contractAddressSalt, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + tip); } @override @@ -2960,6 +6690,20 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult? Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -2969,6 +6713,31 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult? Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult? Function( DeprecatedContractClass contractClass, String version, @@ -2986,9 +6755,34 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult? Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployAccountTxn?.call(contractAddressSalt, classHash, - constructorCalldata, type, maxFee, version, signature, nonce); + return broadcastedDeployAccountTxnV3?.call( + type, + version, + signature, + nonce, + classHash, + constructorCalldata, + contractAddressSalt, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + tip); } @override @@ -3013,6 +6807,20 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { Felt senderAddress, List calldata)? broadcastedInvokeTxnV1, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedInvokeTxnV3, TResult Function( String type, @JsonKey(toJson: maxFeeToJson) Felt maxFee, @@ -3022,6 +6830,31 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { DeprecatedContractClass contractClass, Felt senderAddress)? broadcastedDeclareTxn, + TResult Function( + String type, + String max_fee, + String version, + List signature, + Felt nonce, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + Felt senderAddress)? + broadcastedDeclareTxnV2, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + List accountDeploymentData, + Felt compiledClassHash, + FlattenSierraContractClass contractClass, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + String tip)? + broadcastedDeclareTxnV3, TResult Function( DeprecatedContractClass contractClass, String version, @@ -3039,11 +6872,36 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { List signature, Felt nonce)? broadcastedDeployAccountTxn, + TResult Function( + String type, + String version, + List signature, + Felt nonce, + Felt classHash, + List constructorCalldata, + Felt contractAddressSalt, + String feeDataAvailabilityMode, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + String tip)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { - if (broadcastedDeployAccountTxn != null) { - return broadcastedDeployAccountTxn(contractAddressSalt, classHash, - constructorCalldata, type, maxFee, version, signature, nonce); + if (broadcastedDeployAccountTxnV3 != null) { + return broadcastedDeployAccountTxnV3( + type, + version, + signature, + nonce, + classHash, + constructorCalldata, + contractAddressSalt, + feeDataAvailabilityMode, + nonceDataAvailabilityMode, + paymasterData, + resourceBounds, + tip); } return orElse(); } @@ -3055,13 +6913,21 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { broadcastedInvokeTxnV0, required TResult Function(BroadcastedInvokeTxnV1 value) broadcastedInvokeTxnV1, + required TResult Function(BroadcastedInvokeTxnV3 value) + broadcastedInvokeTxnV3, required TResult Function(BroadcastedDeclareTxn value) broadcastedDeclareTxn, + required TResult Function(BroadcastedDeclareTxnV2 value) + broadcastedDeclareTxnV2, + required TResult Function(BroadcastedDeclareTxnV3 value) + broadcastedDeclareTxnV3, required TResult Function(BroadcastedDeployTxn value) broadcastedDeployTxn, required TResult Function(BroadcastedDeployAccountTxn value) broadcastedDeployAccountTxn, + required TResult Function(BroadcastedDeployAccountTxnV3 value) + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployAccountTxn(this); + return broadcastedDeployAccountTxnV3(this); } @override @@ -3069,12 +6935,17 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { TResult? mapOrNull({ TResult? Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult? Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult? Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult? Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult? Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult? Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult? Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult? Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult? Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, }) { - return broadcastedDeployAccountTxn?.call(this); + return broadcastedDeployAccountTxnV3?.call(this); } @override @@ -3082,57 +6953,71 @@ class _$BroadcastedDeployAccountTxnImpl implements BroadcastedDeployAccountTxn { TResult maybeMap({ TResult Function(BroadcastedInvokeTxnV0 value)? broadcastedInvokeTxnV0, TResult Function(BroadcastedInvokeTxnV1 value)? broadcastedInvokeTxnV1, + TResult Function(BroadcastedInvokeTxnV3 value)? broadcastedInvokeTxnV3, TResult Function(BroadcastedDeclareTxn value)? broadcastedDeclareTxn, + TResult Function(BroadcastedDeclareTxnV2 value)? broadcastedDeclareTxnV2, + TResult Function(BroadcastedDeclareTxnV3 value)? broadcastedDeclareTxnV3, TResult Function(BroadcastedDeployTxn value)? broadcastedDeployTxn, TResult Function(BroadcastedDeployAccountTxn value)? broadcastedDeployAccountTxn, + TResult Function(BroadcastedDeployAccountTxnV3 value)? + broadcastedDeployAccountTxnV3, required TResult orElse(), }) { - if (broadcastedDeployAccountTxn != null) { - return broadcastedDeployAccountTxn(this); + if (broadcastedDeployAccountTxnV3 != null) { + return broadcastedDeployAccountTxnV3(this); } return orElse(); } @override Map toJson() { - return _$$BroadcastedDeployAccountTxnImplToJson( + return _$$BroadcastedDeployAccountTxnV3ImplToJson( this, ); } } -abstract class BroadcastedDeployAccountTxn implements BroadcastedTxn { - const factory BroadcastedDeployAccountTxn( - {required final Felt contractAddressSalt, - required final Felt classHash, - required final List constructorCalldata, - required final String type, - @JsonKey(toJson: maxFeeToJson) required final Felt maxFee, +abstract class BroadcastedDeployAccountTxnV3 implements BroadcastedTxn { + const factory BroadcastedDeployAccountTxnV3( + {required final String type, required final String version, required final List signature, - required final Felt nonce}) = _$BroadcastedDeployAccountTxnImpl; + required final Felt nonce, + required final Felt classHash, + required final List constructorCalldata, + required final Felt contractAddressSalt, + required final String feeDataAvailabilityMode, + required final String nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required final String tip}) = _$BroadcastedDeployAccountTxnV3Impl; - factory BroadcastedDeployAccountTxn.fromJson(Map json) = - _$BroadcastedDeployAccountTxnImpl.fromJson; + factory BroadcastedDeployAccountTxnV3.fromJson(Map json) = + _$BroadcastedDeployAccountTxnV3Impl.fromJson; - Felt get contractAddressSalt; - Felt get classHash; - List - get constructorCalldata; // start of BROADCASTED_TXN_COMMON_PROPERTIES +// start of BROADCASTED_TXN_COMMON_PROPERTIES @override String get type; - @JsonKey(toJson: maxFeeToJson) - Felt get maxFee; @override String get version; List get signature; - Felt get nonce; + Felt get nonce; // end of BROADCASTED_TXN_COMMON_PROPERTIES +// start of deployAccountTxnV3 + Felt get classHash; + List get constructorCalldata; + Felt get contractAddressSalt; + String get feeDataAvailabilityMode; + String get nonceDataAvailabilityMode; + List get paymasterData; + Map get resourceBounds; + String get tip; /// Create a copy of BroadcastedTxn /// with the given fields replaced by the non-null parameter values. @override @JsonKey(includeFromJson: false, includeToJson: false) - _$$BroadcastedDeployAccountTxnImplCopyWith<_$BroadcastedDeployAccountTxnImpl> + _$$BroadcastedDeployAccountTxnV3ImplCopyWith< + _$BroadcastedDeployAccountTxnV3Impl> get copyWith => throw _privateConstructorUsedError; } diff --git a/packages/starknet_provider/lib/src/model/estimate_fee.g.dart b/packages/starknet_provider/lib/src/model/estimate_fee.g.dart index 131a497e..a973b8f0 100644 --- a/packages/starknet_provider/lib/src/model/estimate_fee.g.dart +++ b/packages/starknet_provider/lib/src/model/estimate_fee.g.dart @@ -147,6 +147,55 @@ Map _$$BroadcastedInvokeTxnV1ImplToJson( 'starkNetRuntimeTypeToRemove': instance.$type, }; +_$BroadcastedInvokeTxnV3Impl _$$BroadcastedInvokeTxnV3ImplFromJson( + Map json) => + _$BroadcastedInvokeTxnV3Impl( + type: json['type'] as String, + version: json['version'] as String, + signature: (json['signature'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + nonce: Felt.fromJson(json['nonce'] as String), + accountDeploymentData: (json['account_deployment_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + calldata: (json['calldata'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + feeDataAvailabilityMode: json['fee_data_availability_mode'] as String, + nonceDataAvailabilityMode: json['nonce_data_availability_mode'] as String, + paymasterData: (json['paymaster_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + resourceBounds: (json['resource_bounds'] as Map).map( + (k, e) => + MapEntry(k, ResourceBounds.fromJson(e as Map)), + ), + senderAddress: Felt.fromJson(json['sender_address'] as String), + tip: json['tip'] as String, + $type: json['starkNetRuntimeTypeToRemove'] as String?, + ); + +Map _$$BroadcastedInvokeTxnV3ImplToJson( + _$BroadcastedInvokeTxnV3Impl instance) => + { + 'type': instance.type, + 'version': instance.version, + 'signature': instance.signature.map((e) => e.toJson()).toList(), + 'nonce': instance.nonce.toJson(), + 'account_deployment_data': + instance.accountDeploymentData.map((e) => e.toJson()).toList(), + 'calldata': instance.calldata.map((e) => e.toJson()).toList(), + 'fee_data_availability_mode': instance.feeDataAvailabilityMode, + 'nonce_data_availability_mode': instance.nonceDataAvailabilityMode, + 'paymaster_data': instance.paymasterData.map((e) => e.toJson()).toList(), + 'resource_bounds': + instance.resourceBounds.map((k, e) => MapEntry(k, e.toJson())), + 'sender_address': instance.senderAddress.toJson(), + 'tip': instance.tip, + 'starkNetRuntimeTypeToRemove': instance.$type, + }; + _$BroadcastedDeclareTxnImpl _$$BroadcastedDeclareTxnImplFromJson( Map json) => _$BroadcastedDeclareTxnImpl( @@ -176,6 +225,87 @@ Map _$$BroadcastedDeclareTxnImplToJson( 'starkNetRuntimeTypeToRemove': instance.$type, }; +_$BroadcastedDeclareTxnV2Impl _$$BroadcastedDeclareTxnV2ImplFromJson( + Map json) => + _$BroadcastedDeclareTxnV2Impl( + type: json['type'] as String, + max_fee: json['max_fee'] as String, + version: json['version'] as String, + signature: (json['signature'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + nonce: Felt.fromJson(json['nonce'] as String), + compiledClassHash: Felt.fromJson(json['compiled_class_hash'] as String), + contractClass: FlattenSierraContractClass.fromJson( + json['contract_class'] as Map), + senderAddress: Felt.fromJson(json['sender_address'] as String), + $type: json['starkNetRuntimeTypeToRemove'] as String?, + ); + +Map _$$BroadcastedDeclareTxnV2ImplToJson( + _$BroadcastedDeclareTxnV2Impl instance) => + { + 'type': instance.type, + 'max_fee': instance.max_fee, + 'version': instance.version, + 'signature': instance.signature.map((e) => e.toJson()).toList(), + 'nonce': instance.nonce.toJson(), + 'compiled_class_hash': instance.compiledClassHash.toJson(), + 'contract_class': instance.contractClass.toJson(), + 'sender_address': instance.senderAddress.toJson(), + 'starkNetRuntimeTypeToRemove': instance.$type, + }; + +_$BroadcastedDeclareTxnV3Impl _$$BroadcastedDeclareTxnV3ImplFromJson( + Map json) => + _$BroadcastedDeclareTxnV3Impl( + type: json['type'] as String, + version: json['version'] as String, + signature: (json['signature'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + nonce: Felt.fromJson(json['nonce'] as String), + accountDeploymentData: (json['account_deployment_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + compiledClassHash: Felt.fromJson(json['compiled_class_hash'] as String), + contractClass: FlattenSierraContractClass.fromJson( + json['contract_class'] as Map), + feeDataAvailabilityMode: json['fee_data_availability_mode'] as String, + nonceDataAvailabilityMode: json['nonce_data_availability_mode'] as String, + paymasterData: (json['paymaster_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + resourceBounds: (json['resource_bounds'] as Map).map( + (k, e) => + MapEntry(k, ResourceBounds.fromJson(e as Map)), + ), + senderAddress: Felt.fromJson(json['sender_address'] as String), + tip: json['tip'] as String, + $type: json['starkNetRuntimeTypeToRemove'] as String?, + ); + +Map _$$BroadcastedDeclareTxnV3ImplToJson( + _$BroadcastedDeclareTxnV3Impl instance) => + { + 'type': instance.type, + 'version': instance.version, + 'signature': instance.signature.map((e) => e.toJson()).toList(), + 'nonce': instance.nonce.toJson(), + 'account_deployment_data': + instance.accountDeploymentData.map((e) => e.toJson()).toList(), + 'compiled_class_hash': instance.compiledClassHash.toJson(), + 'contract_class': instance.contractClass.toJson(), + 'fee_data_availability_mode': instance.feeDataAvailabilityMode, + 'nonce_data_availability_mode': instance.nonceDataAvailabilityMode, + 'paymaster_data': instance.paymasterData.map((e) => e.toJson()).toList(), + 'resource_bounds': + instance.resourceBounds.map((k, e) => MapEntry(k, e.toJson())), + 'sender_address': instance.senderAddress.toJson(), + 'tip': instance.tip, + 'starkNetRuntimeTypeToRemove': instance.$type, + }; + _$BroadcastedDeployTxnImpl _$$BroadcastedDeployTxnImplFromJson( Map json) => _$BroadcastedDeployTxnImpl( @@ -236,3 +366,52 @@ Map _$$BroadcastedDeployAccountTxnImplToJson( 'nonce': instance.nonce.toJson(), 'starkNetRuntimeTypeToRemove': instance.$type, }; + +_$BroadcastedDeployAccountTxnV3Impl + _$$BroadcastedDeployAccountTxnV3ImplFromJson(Map json) => + _$BroadcastedDeployAccountTxnV3Impl( + type: json['type'] as String, + version: json['version'] as String, + signature: (json['signature'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + nonce: Felt.fromJson(json['nonce'] as String), + classHash: Felt.fromJson(json['class_hash'] as String), + constructorCalldata: (json['constructor_calldata'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + contractAddressSalt: + Felt.fromJson(json['contract_address_salt'] as String), + feeDataAvailabilityMode: json['fee_data_availability_mode'] as String, + nonceDataAvailabilityMode: + json['nonce_data_availability_mode'] as String, + paymasterData: (json['paymaster_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + resourceBounds: (json['resource_bounds'] as Map).map( + (k, e) => + MapEntry(k, ResourceBounds.fromJson(e as Map)), + ), + tip: json['tip'] as String, + $type: json['starkNetRuntimeTypeToRemove'] as String?, + ); + +Map _$$BroadcastedDeployAccountTxnV3ImplToJson( + _$BroadcastedDeployAccountTxnV3Impl instance) => + { + 'type': instance.type, + 'version': instance.version, + 'signature': instance.signature.map((e) => e.toJson()).toList(), + 'nonce': instance.nonce.toJson(), + 'class_hash': instance.classHash.toJson(), + 'constructor_calldata': + instance.constructorCalldata.map((e) => e.toJson()).toList(), + 'contract_address_salt': instance.contractAddressSalt.toJson(), + 'fee_data_availability_mode': instance.feeDataAvailabilityMode, + 'nonce_data_availability_mode': instance.nonceDataAvailabilityMode, + 'paymaster_data': instance.paymasterData.map((e) => e.toJson()).toList(), + 'resource_bounds': + instance.resourceBounds.map((k, e) => MapEntry(k, e.toJson())), + 'tip': instance.tip, + 'starkNetRuntimeTypeToRemove': instance.$type, + }; diff --git a/packages/starknet_provider/lib/src/model/fee_estimate.dart b/packages/starknet_provider/lib/src/model/fee_estimate.dart index f2487571..17dc1b4e 100644 --- a/packages/starknet_provider/lib/src/model/fee_estimate.dart +++ b/packages/starknet_provider/lib/src/model/fee_estimate.dart @@ -5,11 +5,13 @@ part 'fee_estimate.g.dart'; @freezed class FeeEstimate with _$FeeEstimate { - const factory FeeEstimate({ - required String gasConsumed, - required String gasPrice, - required String overallFee, - }) = _FeeEstimate; + const factory FeeEstimate( + {required String gasConsumed, + required String dataGasConsumed, + required String gasPrice, + required String dataGasPrice, + required String overallFee, + required String unit}) = _FeeEstimate; factory FeeEstimate.fromJson(Map json) => _$FeeEstimateFromJson(json); diff --git a/packages/starknet_provider/lib/src/model/fee_estimate.freezed.dart b/packages/starknet_provider/lib/src/model/fee_estimate.freezed.dart index f70232ab..c2a572d7 100644 --- a/packages/starknet_provider/lib/src/model/fee_estimate.freezed.dart +++ b/packages/starknet_provider/lib/src/model/fee_estimate.freezed.dart @@ -21,8 +21,11 @@ FeeEstimate _$FeeEstimateFromJson(Map json) { /// @nodoc mixin _$FeeEstimate { String get gasConsumed => throw _privateConstructorUsedError; + String get dataGasConsumed => throw _privateConstructorUsedError; String get gasPrice => throw _privateConstructorUsedError; + String get dataGasPrice => throw _privateConstructorUsedError; String get overallFee => throw _privateConstructorUsedError; + String get unit => throw _privateConstructorUsedError; /// Serializes this FeeEstimate to a JSON map. Map toJson() => throw _privateConstructorUsedError; @@ -40,7 +43,13 @@ abstract class $FeeEstimateCopyWith<$Res> { FeeEstimate value, $Res Function(FeeEstimate) then) = _$FeeEstimateCopyWithImpl<$Res, FeeEstimate>; @useResult - $Res call({String gasConsumed, String gasPrice, String overallFee}); + $Res call( + {String gasConsumed, + String dataGasConsumed, + String gasPrice, + String dataGasPrice, + String overallFee, + String unit}); } /// @nodoc @@ -59,22 +68,37 @@ class _$FeeEstimateCopyWithImpl<$Res, $Val extends FeeEstimate> @override $Res call({ Object? gasConsumed = null, + Object? dataGasConsumed = null, Object? gasPrice = null, + Object? dataGasPrice = null, Object? overallFee = null, + Object? unit = null, }) { return _then(_value.copyWith( gasConsumed: null == gasConsumed ? _value.gasConsumed : gasConsumed // ignore: cast_nullable_to_non_nullable as String, + dataGasConsumed: null == dataGasConsumed + ? _value.dataGasConsumed + : dataGasConsumed // ignore: cast_nullable_to_non_nullable + as String, gasPrice: null == gasPrice ? _value.gasPrice : gasPrice // ignore: cast_nullable_to_non_nullable as String, + dataGasPrice: null == dataGasPrice + ? _value.dataGasPrice + : dataGasPrice // ignore: cast_nullable_to_non_nullable + as String, overallFee: null == overallFee ? _value.overallFee : overallFee // ignore: cast_nullable_to_non_nullable as String, + unit: null == unit + ? _value.unit + : unit // ignore: cast_nullable_to_non_nullable + as String, ) as $Val); } } @@ -87,7 +111,13 @@ abstract class _$$FeeEstimateImplCopyWith<$Res> __$$FeeEstimateImplCopyWithImpl<$Res>; @override @useResult - $Res call({String gasConsumed, String gasPrice, String overallFee}); + $Res call( + {String gasConsumed, + String dataGasConsumed, + String gasPrice, + String dataGasPrice, + String overallFee, + String unit}); } /// @nodoc @@ -104,22 +134,37 @@ class __$$FeeEstimateImplCopyWithImpl<$Res> @override $Res call({ Object? gasConsumed = null, + Object? dataGasConsumed = null, Object? gasPrice = null, + Object? dataGasPrice = null, Object? overallFee = null, + Object? unit = null, }) { return _then(_$FeeEstimateImpl( gasConsumed: null == gasConsumed ? _value.gasConsumed : gasConsumed // ignore: cast_nullable_to_non_nullable as String, + dataGasConsumed: null == dataGasConsumed + ? _value.dataGasConsumed + : dataGasConsumed // ignore: cast_nullable_to_non_nullable + as String, gasPrice: null == gasPrice ? _value.gasPrice : gasPrice // ignore: cast_nullable_to_non_nullable as String, + dataGasPrice: null == dataGasPrice + ? _value.dataGasPrice + : dataGasPrice // ignore: cast_nullable_to_non_nullable + as String, overallFee: null == overallFee ? _value.overallFee : overallFee // ignore: cast_nullable_to_non_nullable as String, + unit: null == unit + ? _value.unit + : unit // ignore: cast_nullable_to_non_nullable + as String, )); } } @@ -129,8 +174,11 @@ class __$$FeeEstimateImplCopyWithImpl<$Res> class _$FeeEstimateImpl implements _FeeEstimate { const _$FeeEstimateImpl( {required this.gasConsumed, + required this.dataGasConsumed, required this.gasPrice, - required this.overallFee}); + required this.dataGasPrice, + required this.overallFee, + required this.unit}); factory _$FeeEstimateImpl.fromJson(Map json) => _$$FeeEstimateImplFromJson(json); @@ -138,13 +186,19 @@ class _$FeeEstimateImpl implements _FeeEstimate { @override final String gasConsumed; @override + final String dataGasConsumed; + @override final String gasPrice; @override + final String dataGasPrice; + @override final String overallFee; + @override + final String unit; @override String toString() { - return 'FeeEstimate(gasConsumed: $gasConsumed, gasPrice: $gasPrice, overallFee: $overallFee)'; + return 'FeeEstimate(gasConsumed: $gasConsumed, dataGasConsumed: $dataGasConsumed, gasPrice: $gasPrice, dataGasPrice: $dataGasPrice, overallFee: $overallFee, unit: $unit)'; } @override @@ -154,16 +208,21 @@ class _$FeeEstimateImpl implements _FeeEstimate { other is _$FeeEstimateImpl && (identical(other.gasConsumed, gasConsumed) || other.gasConsumed == gasConsumed) && + (identical(other.dataGasConsumed, dataGasConsumed) || + other.dataGasConsumed == dataGasConsumed) && (identical(other.gasPrice, gasPrice) || other.gasPrice == gasPrice) && + (identical(other.dataGasPrice, dataGasPrice) || + other.dataGasPrice == dataGasPrice) && (identical(other.overallFee, overallFee) || - other.overallFee == overallFee)); + other.overallFee == overallFee) && + (identical(other.unit, unit) || other.unit == unit)); } @JsonKey(includeFromJson: false, includeToJson: false) @override - int get hashCode => - Object.hash(runtimeType, gasConsumed, gasPrice, overallFee); + int get hashCode => Object.hash(runtimeType, gasConsumed, dataGasConsumed, + gasPrice, dataGasPrice, overallFee, unit); /// Create a copy of FeeEstimate /// with the given fields replaced by the non-null parameter values. @@ -184,8 +243,11 @@ class _$FeeEstimateImpl implements _FeeEstimate { abstract class _FeeEstimate implements FeeEstimate { const factory _FeeEstimate( {required final String gasConsumed, + required final String dataGasConsumed, required final String gasPrice, - required final String overallFee}) = _$FeeEstimateImpl; + required final String dataGasPrice, + required final String overallFee, + required final String unit}) = _$FeeEstimateImpl; factory _FeeEstimate.fromJson(Map json) = _$FeeEstimateImpl.fromJson; @@ -193,9 +255,15 @@ abstract class _FeeEstimate implements FeeEstimate { @override String get gasConsumed; @override + String get dataGasConsumed; + @override String get gasPrice; @override + String get dataGasPrice; + @override String get overallFee; + @override + String get unit; /// Create a copy of FeeEstimate /// with the given fields replaced by the non-null parameter values. diff --git a/packages/starknet_provider/lib/src/model/fee_estimate.g.dart b/packages/starknet_provider/lib/src/model/fee_estimate.g.dart index 9825bcb8..1f369d4f 100644 --- a/packages/starknet_provider/lib/src/model/fee_estimate.g.dart +++ b/packages/starknet_provider/lib/src/model/fee_estimate.g.dart @@ -9,13 +9,19 @@ part of 'fee_estimate.dart'; _$FeeEstimateImpl _$$FeeEstimateImplFromJson(Map json) => _$FeeEstimateImpl( gasConsumed: json['gas_consumed'] as String, + dataGasConsumed: json['data_gas_consumed'] as String, gasPrice: json['gas_price'] as String, + dataGasPrice: json['data_gas_price'] as String, overallFee: json['overall_fee'] as String, + unit: json['unit'] as String, ); Map _$$FeeEstimateImplToJson(_$FeeEstimateImpl instance) => { 'gas_consumed': instance.gasConsumed, + 'data_gas_consumed': instance.dataGasConsumed, 'gas_price': instance.gasPrice, + 'data_gas_price': instance.dataGasPrice, 'overall_fee': instance.overallFee, + 'unit': instance.unit, }; diff --git a/packages/starknet_provider/lib/src/model/get_transaction.dart b/packages/starknet_provider/lib/src/model/get_transaction.dart index 7c1cd11f..ca923356 100644 --- a/packages/starknet_provider/lib/src/model/get_transaction.dart +++ b/packages/starknet_provider/lib/src/model/get_transaction.dart @@ -37,11 +37,11 @@ class Txn with _$Txn { // end of BROADCASTED_TXN_COMMON_PROPERTIES // end of COMMON_TXN_PROPERTIES - // start of INVOKE_TXN_V0 + // start of invokeTxnV0 required Felt? contractAddress, required Felt? entryPointSelector, required List? calldata, - // end of INVOKE_TXN_V0 + // end of invokeTxnV0 }) = InvokeTxnV0; const factory Txn.invokeTxnV1({ @@ -56,10 +56,10 @@ class Txn with _$Txn { // end of BROADCASTED_TXN_COMMON_PROPERTIES // end of COMMON_TXN_PROPERTIES - // start of INVOKE_TXN_V1 + // start of invokeTxnV1 required Felt? sender_address, required List? calldata, - // end of INVOKE_TXN_V1 + // end of invokeTxnV1 }) = InvokeTxnV1; const factory Txn.declareTxn({ diff --git a/packages/starknet_provider/lib/src/model/get_transaction.freezed.dart b/packages/starknet_provider/lib/src/model/get_transaction.freezed.dart index 8c46a926..c0292b64 100644 --- a/packages/starknet_provider/lib/src/model/get_transaction.freezed.dart +++ b/packages/starknet_provider/lib/src/model/get_transaction.freezed.dart @@ -871,7 +871,7 @@ class _$InvokeTxnV0Impl implements InvokeTxnV0 { final String? type; // end of BROADCASTED_TXN_COMMON_PROPERTIES // end of COMMON_TXN_PROPERTIES -// start of INVOKE_TXN_V0 +// start of invokeTxnV0 @override final Felt? contractAddress; @override @@ -1219,7 +1219,7 @@ abstract class InvokeTxnV0 implements Txn { @override String? get type; // end of BROADCASTED_TXN_COMMON_PROPERTIES // end of COMMON_TXN_PROPERTIES -// start of INVOKE_TXN_V0 +// start of invokeTxnV0 Felt? get contractAddress; Felt? get entryPointSelector; List? get calldata; @@ -1354,7 +1354,7 @@ class _$InvokeTxnV1Impl implements InvokeTxnV1 { final String? type; // end of BROADCASTED_TXN_COMMON_PROPERTIES // end of COMMON_TXN_PROPERTIES -// start of INVOKE_TXN_V1 +// start of invokeTxnV1 @override final Felt? sender_address; final List? _calldata; @@ -1696,7 +1696,7 @@ abstract class InvokeTxnV1 implements Txn { @override String? get type; // end of BROADCASTED_TXN_COMMON_PROPERTIES // end of COMMON_TXN_PROPERTIES -// start of INVOKE_TXN_V1 +// start of invokeTxnV1 Felt? get sender_address; List? get calldata; diff --git a/packages/starknet_provider/lib/src/model/invoke_transaction.dart b/packages/starknet_provider/lib/src/model/invoke_transaction.dart index a67ea48b..3ba758ac 100644 --- a/packages/starknet_provider/lib/src/model/invoke_transaction.dart +++ b/packages/starknet_provider/lib/src/model/invoke_transaction.dart @@ -7,6 +7,13 @@ import 'package:starknet_provider/starknet_provider.dart'; part 'invoke_transaction.freezed.dart'; part 'invoke_transaction.g.dart'; +const String invokeTxnV0 = '0x0'; +const String invokeTxnV1 = '0x1'; +const String invokeTxnV3 = '0x3'; +const String invokeTxnV0OldCompat = '0x00'; +const String invokeTxnV1OldCompat = '0x01'; +const String invokeTxnV3OldCompat = '0x03'; + @freezed class InvokeTransactionRequest with _$InvokeTransactionRequest { const factory InvokeTransactionRequest({ @@ -18,10 +25,21 @@ class InvokeTransactionRequest with _$InvokeTransactionRequest { } abstract class InvokeTransaction { - factory InvokeTransaction.fromJson(Map json) => - json['version'] == '0x01' - ? InvokeTransactionV1.fromJson(json) - : InvokeTransactionV0.fromJson(json); + factory InvokeTransaction.fromJson(Map json) { + switch (json['version']) { + case invokeTxnV0: + case invokeTxnV0OldCompat: + return InvokeTransactionV0.fromJson(json); + case invokeTxnV1: + case invokeTxnV1OldCompat: + return InvokeTransactionV1.fromJson(json); + case invokeTxnV3: + case invokeTxnV3OldCompat: + return InvokeTransactionV3.fromJson(json); + default: + throw ArgumentError('Unsupported transaction version:'); + } + } Map toJson(); } @@ -33,7 +51,7 @@ class InvokeTransactionV0 const factory InvokeTransactionV0({ @Default('INVOKE') String type, @JsonKey(toJson: maxFeeToJson) required Felt maxFee, - @Default('0x00') String version, + @Default(invokeTxnV0) String version, required List signature, required Felt contractAddress, required Felt entryPointSelector, @@ -54,7 +72,7 @@ class InvokeTransactionV1 required Felt nonce, required Felt senderAddress, required List calldata, - @Default('0x1') String version, + @Default(invokeTxnV1) String version, @Default('INVOKE') String type, }) = _InvokeTransactionV1; @@ -62,6 +80,29 @@ class InvokeTransactionV1 _$InvokeTransactionV1FromJson(json); } +@freezed +class InvokeTransactionV3 + with _$InvokeTransactionV3 + implements InvokeTransaction { + const factory InvokeTransactionV3({ + @Default('INVOKE') String type, + required List accountDeploymentData, + required List calldata, + required String feeDataAvailabilityMode, + required Felt nonce, + required String nonceDataAvailabilityMode, + required List paymasterData, + required Map resourceBounds, + required Felt senderAddress, + required List signature, + required String tip, + @Default(invokeTxnV3) String version, + }) = _InvokeTransactionV3; + + factory InvokeTransactionV3.fromJson(Map json) => + _$InvokeTransactionV3FromJson(json); +} + @freezed class InvokeTransactionResponse with _$InvokeTransactionResponse { const factory InvokeTransactionResponse.result({ diff --git a/packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart b/packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart index 2fe386b7..005d5dd1 100644 --- a/packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart +++ b/packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart @@ -347,7 +347,7 @@ class _$InvokeTransactionV0Impl implements _InvokeTransactionV0 { const _$InvokeTransactionV0Impl( {this.type = 'INVOKE', @JsonKey(toJson: maxFeeToJson) required this.maxFee, - this.version = '0x00', + this.version = invokeTxnV0, required final List signature, required this.contractAddress, required this.entryPointSelector, @@ -653,7 +653,7 @@ class _$InvokeTransactionV1Impl implements _InvokeTransactionV1 { required this.nonce, required this.senderAddress, required final List calldata, - this.version = '0x1', + this.version = invokeTxnV1, this.type = 'INVOKE'}) : _signature = signature, _calldata = calldata; @@ -778,6 +778,441 @@ abstract class _InvokeTransactionV1 implements InvokeTransactionV1 { throw _privateConstructorUsedError; } +InvokeTransactionV3 _$InvokeTransactionV3FromJson(Map json) { + return _InvokeTransactionV3.fromJson(json); +} + +/// @nodoc +mixin _$InvokeTransactionV3 { + String get type => throw _privateConstructorUsedError; + List get accountDeploymentData => throw _privateConstructorUsedError; + List get calldata => throw _privateConstructorUsedError; + String get feeDataAvailabilityMode => throw _privateConstructorUsedError; + Felt get nonce => throw _privateConstructorUsedError; + String get nonceDataAvailabilityMode => throw _privateConstructorUsedError; + List get paymasterData => throw _privateConstructorUsedError; + Map get resourceBounds => + throw _privateConstructorUsedError; + Felt get senderAddress => throw _privateConstructorUsedError; + List get signature => throw _privateConstructorUsedError; + String get tip => throw _privateConstructorUsedError; + String get version => throw _privateConstructorUsedError; + + /// Serializes this InvokeTransactionV3 to a JSON map. + Map toJson() => throw _privateConstructorUsedError; + + /// Create a copy of InvokeTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + $InvokeTransactionV3CopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $InvokeTransactionV3CopyWith<$Res> { + factory $InvokeTransactionV3CopyWith( + InvokeTransactionV3 value, $Res Function(InvokeTransactionV3) then) = + _$InvokeTransactionV3CopyWithImpl<$Res, InvokeTransactionV3>; + @useResult + $Res call( + {String type, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + Felt nonce, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + List signature, + String tip, + String version}); +} + +/// @nodoc +class _$InvokeTransactionV3CopyWithImpl<$Res, $Val extends InvokeTransactionV3> + implements $InvokeTransactionV3CopyWith<$Res> { + _$InvokeTransactionV3CopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + /// Create a copy of InvokeTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? accountDeploymentData = null, + Object? calldata = null, + Object? feeDataAvailabilityMode = null, + Object? nonce = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? senderAddress = null, + Object? signature = null, + Object? tip = null, + Object? version = null, + }) { + return _then(_value.copyWith( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + accountDeploymentData: null == accountDeploymentData + ? _value.accountDeploymentData + : accountDeploymentData // ignore: cast_nullable_to_non_nullable + as List, + calldata: null == calldata + ? _value.calldata + : calldata // ignore: cast_nullable_to_non_nullable + as List, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value.paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value.resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + senderAddress: null == senderAddress + ? _value.senderAddress + : senderAddress // ignore: cast_nullable_to_non_nullable + as Felt, + signature: null == signature + ? _value.signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$InvokeTransactionV3ImplCopyWith<$Res> + implements $InvokeTransactionV3CopyWith<$Res> { + factory _$$InvokeTransactionV3ImplCopyWith(_$InvokeTransactionV3Impl value, + $Res Function(_$InvokeTransactionV3Impl) then) = + __$$InvokeTransactionV3ImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String type, + List accountDeploymentData, + List calldata, + String feeDataAvailabilityMode, + Felt nonce, + String nonceDataAvailabilityMode, + List paymasterData, + Map resourceBounds, + Felt senderAddress, + List signature, + String tip, + String version}); +} + +/// @nodoc +class __$$InvokeTransactionV3ImplCopyWithImpl<$Res> + extends _$InvokeTransactionV3CopyWithImpl<$Res, _$InvokeTransactionV3Impl> + implements _$$InvokeTransactionV3ImplCopyWith<$Res> { + __$$InvokeTransactionV3ImplCopyWithImpl(_$InvokeTransactionV3Impl _value, + $Res Function(_$InvokeTransactionV3Impl) _then) + : super(_value, _then); + + /// Create a copy of InvokeTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = null, + Object? accountDeploymentData = null, + Object? calldata = null, + Object? feeDataAvailabilityMode = null, + Object? nonce = null, + Object? nonceDataAvailabilityMode = null, + Object? paymasterData = null, + Object? resourceBounds = null, + Object? senderAddress = null, + Object? signature = null, + Object? tip = null, + Object? version = null, + }) { + return _then(_$InvokeTransactionV3Impl( + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + accountDeploymentData: null == accountDeploymentData + ? _value._accountDeploymentData + : accountDeploymentData // ignore: cast_nullable_to_non_nullable + as List, + calldata: null == calldata + ? _value._calldata + : calldata // ignore: cast_nullable_to_non_nullable + as List, + feeDataAvailabilityMode: null == feeDataAvailabilityMode + ? _value.feeDataAvailabilityMode + : feeDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + nonce: null == nonce + ? _value.nonce + : nonce // ignore: cast_nullable_to_non_nullable + as Felt, + nonceDataAvailabilityMode: null == nonceDataAvailabilityMode + ? _value.nonceDataAvailabilityMode + : nonceDataAvailabilityMode // ignore: cast_nullable_to_non_nullable + as String, + paymasterData: null == paymasterData + ? _value._paymasterData + : paymasterData // ignore: cast_nullable_to_non_nullable + as List, + resourceBounds: null == resourceBounds + ? _value._resourceBounds + : resourceBounds // ignore: cast_nullable_to_non_nullable + as Map, + senderAddress: null == senderAddress + ? _value.senderAddress + : senderAddress // ignore: cast_nullable_to_non_nullable + as Felt, + signature: null == signature + ? _value._signature + : signature // ignore: cast_nullable_to_non_nullable + as List, + tip: null == tip + ? _value.tip + : tip // ignore: cast_nullable_to_non_nullable + as String, + version: null == version + ? _value.version + : version // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$InvokeTransactionV3Impl implements _InvokeTransactionV3 { + const _$InvokeTransactionV3Impl( + {this.type = 'INVOKE', + required final List accountDeploymentData, + required final List calldata, + required this.feeDataAvailabilityMode, + required this.nonce, + required this.nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required this.senderAddress, + required final List signature, + required this.tip, + this.version = invokeTxnV3}) + : _accountDeploymentData = accountDeploymentData, + _calldata = calldata, + _paymasterData = paymasterData, + _resourceBounds = resourceBounds, + _signature = signature; + + factory _$InvokeTransactionV3Impl.fromJson(Map json) => + _$$InvokeTransactionV3ImplFromJson(json); + + @override + @JsonKey() + final String type; + final List _accountDeploymentData; + @override + List get accountDeploymentData { + if (_accountDeploymentData is EqualUnmodifiableListView) + return _accountDeploymentData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_accountDeploymentData); + } + + final List _calldata; + @override + List get calldata { + if (_calldata is EqualUnmodifiableListView) return _calldata; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_calldata); + } + + @override + final String feeDataAvailabilityMode; + @override + final Felt nonce; + @override + final String nonceDataAvailabilityMode; + final List _paymasterData; + @override + List get paymasterData { + if (_paymasterData is EqualUnmodifiableListView) return _paymasterData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_paymasterData); + } + + final Map _resourceBounds; + @override + Map get resourceBounds { + if (_resourceBounds is EqualUnmodifiableMapView) return _resourceBounds; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_resourceBounds); + } + + @override + final Felt senderAddress; + final List _signature; + @override + List get signature { + if (_signature is EqualUnmodifiableListView) return _signature; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_signature); + } + + @override + final String tip; + @override + @JsonKey() + final String version; + + @override + String toString() { + return 'InvokeTransactionV3(type: $type, accountDeploymentData: $accountDeploymentData, calldata: $calldata, feeDataAvailabilityMode: $feeDataAvailabilityMode, nonce: $nonce, nonceDataAvailabilityMode: $nonceDataAvailabilityMode, paymasterData: $paymasterData, resourceBounds: $resourceBounds, senderAddress: $senderAddress, signature: $signature, tip: $tip, version: $version)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$InvokeTransactionV3Impl && + (identical(other.type, type) || other.type == type) && + const DeepCollectionEquality() + .equals(other._accountDeploymentData, _accountDeploymentData) && + const DeepCollectionEquality().equals(other._calldata, _calldata) && + (identical( + other.feeDataAvailabilityMode, feeDataAvailabilityMode) || + other.feeDataAvailabilityMode == feeDataAvailabilityMode) && + (identical(other.nonce, nonce) || other.nonce == nonce) && + (identical(other.nonceDataAvailabilityMode, + nonceDataAvailabilityMode) || + other.nonceDataAvailabilityMode == nonceDataAvailabilityMode) && + const DeepCollectionEquality() + .equals(other._paymasterData, _paymasterData) && + const DeepCollectionEquality() + .equals(other._resourceBounds, _resourceBounds) && + (identical(other.senderAddress, senderAddress) || + other.senderAddress == senderAddress) && + const DeepCollectionEquality() + .equals(other._signature, _signature) && + (identical(other.tip, tip) || other.tip == tip) && + (identical(other.version, version) || other.version == version)); + } + + @JsonKey(includeFromJson: false, includeToJson: false) + @override + int get hashCode => Object.hash( + runtimeType, + type, + const DeepCollectionEquality().hash(_accountDeploymentData), + const DeepCollectionEquality().hash(_calldata), + feeDataAvailabilityMode, + nonce, + nonceDataAvailabilityMode, + const DeepCollectionEquality().hash(_paymasterData), + const DeepCollectionEquality().hash(_resourceBounds), + senderAddress, + const DeepCollectionEquality().hash(_signature), + tip, + version); + + /// Create a copy of InvokeTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$InvokeTransactionV3ImplCopyWith<_$InvokeTransactionV3Impl> get copyWith => + __$$InvokeTransactionV3ImplCopyWithImpl<_$InvokeTransactionV3Impl>( + this, _$identity); + + @override + Map toJson() { + return _$$InvokeTransactionV3ImplToJson( + this, + ); + } +} + +abstract class _InvokeTransactionV3 implements InvokeTransactionV3 { + const factory _InvokeTransactionV3( + {final String type, + required final List accountDeploymentData, + required final List calldata, + required final String feeDataAvailabilityMode, + required final Felt nonce, + required final String nonceDataAvailabilityMode, + required final List paymasterData, + required final Map resourceBounds, + required final Felt senderAddress, + required final List signature, + required final String tip, + final String version}) = _$InvokeTransactionV3Impl; + + factory _InvokeTransactionV3.fromJson(Map json) = + _$InvokeTransactionV3Impl.fromJson; + + @override + String get type; + @override + List get accountDeploymentData; + @override + List get calldata; + @override + String get feeDataAvailabilityMode; + @override + Felt get nonce; + @override + String get nonceDataAvailabilityMode; + @override + List get paymasterData; + @override + Map get resourceBounds; + @override + Felt get senderAddress; + @override + List get signature; + @override + String get tip; + @override + String get version; + + /// Create a copy of InvokeTransactionV3 + /// with the given fields replaced by the non-null parameter values. + @override + @JsonKey(includeFromJson: false, includeToJson: false) + _$$InvokeTransactionV3ImplCopyWith<_$InvokeTransactionV3Impl> get copyWith => + throw _privateConstructorUsedError; +} + InvokeTransactionResponse _$InvokeTransactionResponseFromJson( Map json) { switch (json['starkNetRuntimeTypeToRemove']) { diff --git a/packages/starknet_provider/lib/src/model/invoke_transaction.g.dart b/packages/starknet_provider/lib/src/model/invoke_transaction.g.dart index ac2e49b6..d66af8e7 100644 --- a/packages/starknet_provider/lib/src/model/invoke_transaction.g.dart +++ b/packages/starknet_provider/lib/src/model/invoke_transaction.g.dart @@ -24,7 +24,7 @@ _$InvokeTransactionV0Impl _$$InvokeTransactionV0ImplFromJson( _$InvokeTransactionV0Impl( type: json['type'] as String? ?? 'INVOKE', maxFee: Felt.fromJson(json['max_fee'] as String), - version: json['version'] as String? ?? '0x00', + version: json['version'] as String? ?? invokeTxnV0, signature: (json['signature'] as List) .map((e) => Felt.fromJson(e as String)) .toList(), @@ -59,7 +59,7 @@ _$InvokeTransactionV1Impl _$$InvokeTransactionV1ImplFromJson( calldata: (json['calldata'] as List) .map((e) => Felt.fromJson(e as String)) .toList(), - version: json['version'] as String? ?? '0x1', + version: json['version'] as String? ?? invokeTxnV1, type: json['type'] as String? ?? 'INVOKE', ); @@ -75,6 +75,53 @@ Map _$$InvokeTransactionV1ImplToJson( 'type': instance.type, }; +_$InvokeTransactionV3Impl _$$InvokeTransactionV3ImplFromJson( + Map json) => + _$InvokeTransactionV3Impl( + type: json['type'] as String? ?? 'INVOKE', + accountDeploymentData: (json['account_deployment_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + calldata: (json['calldata'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + feeDataAvailabilityMode: json['fee_data_availability_mode'] as String, + nonce: Felt.fromJson(json['nonce'] as String), + nonceDataAvailabilityMode: json['nonce_data_availability_mode'] as String, + paymasterData: (json['paymaster_data'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + resourceBounds: (json['resource_bounds'] as Map).map( + (k, e) => + MapEntry(k, ResourceBounds.fromJson(e as Map)), + ), + senderAddress: Felt.fromJson(json['sender_address'] as String), + signature: (json['signature'] as List) + .map((e) => Felt.fromJson(e as String)) + .toList(), + tip: json['tip'] as String, + version: json['version'] as String? ?? invokeTxnV3, + ); + +Map _$$InvokeTransactionV3ImplToJson( + _$InvokeTransactionV3Impl instance) => + { + 'type': instance.type, + 'account_deployment_data': + instance.accountDeploymentData.map((e) => e.toJson()).toList(), + 'calldata': instance.calldata.map((e) => e.toJson()).toList(), + 'fee_data_availability_mode': instance.feeDataAvailabilityMode, + 'nonce': instance.nonce.toJson(), + 'nonce_data_availability_mode': instance.nonceDataAvailabilityMode, + 'paymaster_data': instance.paymasterData.map((e) => e.toJson()).toList(), + 'resource_bounds': + instance.resourceBounds.map((k, e) => MapEntry(k, e.toJson())), + 'sender_address': instance.senderAddress.toJson(), + 'signature': instance.signature.map((e) => e.toJson()).toList(), + 'tip': instance.tip, + 'version': instance.version, + }; + _$InvokeTransactionResultImpl _$$InvokeTransactionResultImplFromJson( Map json) => _$InvokeTransactionResultImpl( diff --git a/packages/starknet_provider/test/integration/read_provider_test.dart b/packages/starknet_provider/test/integration/read_provider_test.dart index 9edcefff..ab10eef6 100644 --- a/packages/starknet_provider/test/integration/read_provider_test.dart +++ b/packages/starknet_provider/test/integration/read_provider_test.dart @@ -988,6 +988,41 @@ void main() { ], ); + BroadcastedInvokeTxnV3 broadcastedInvokeTxnV3 = BroadcastedInvokeTxnV3( + type: 'INVOKE', + calldata: [ + Felt.fromHexString('0x1'), + Felt.fromHexString( + '0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'), + Felt.fromHexString( + '0x83afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e'), + Felt.fromHexString('0x3'), + Felt.fromHexString( + '0x16a0d7df981d681537dc2ce648722ff1d1c2cbe59412b492d35bac69825f104'), + Felt.fromHexString('0x100000000000000000'), + Felt.fromHexString('0x0'), + ], + accountDeploymentData: [], + feeDataAvailabilityMode: 'L1', + nonce: Felt.fromHexString('0x4'), + nonceDataAvailabilityMode: 'L1', + paymasterData: [], + resourceBounds: { + 'l1_gas': ResourceBounds(maxAmount: '0x0', maxPricePerUnit: '0x0'), + 'l2_gas': ResourceBounds(maxAmount: '0x0', maxPricePerUnit: '0x0'), + }, + senderAddress: Felt.fromHexString( + '0x064b48806902a367c8598f4f95c305e8c1a1acba5f082d294a43793113115691'), + signature: [ + Felt.fromHexString( + '0x505c1a8cb4f9b3237aadf958e7990d833b89ba173284881d2c9f341be8ada8f'), + Felt.fromHexString( + '0x4bf4c7296230b6f6bbcebd43448629fff8f2eeec5e8ba6267ad9ff8180ba38c'), + ], + tip: '0x0', + version: '0x100000000000000000000000000000003', + ); + test('estimate the fee for a given V1 Invoke StarkNet transaction', () async { EstimateFeeRequest estimateFeeRequest = EstimateFeeRequest( @@ -1005,8 +1040,37 @@ void main() { expect(result.length, 1); final estimate = result[0]; expect(estimate.gasConsumed, "0x17"); + expect(estimate.dataGasConsumed, "0xc0"); expect(estimate.gasPrice, "0x174876e800"); + expect(estimate.dataGasPrice, "0x174876e800"); expect(estimate.overallFee, "0x138ddbdcd800"); + expect(estimate.unit, "WEI"); + }, + ); + }); + + test('estimate the fee for a given V3 Invoke StarkNet transaction', + () async { + EstimateFeeRequest estimateFeeRequest = EstimateFeeRequest( + request: [broadcastedInvokeTxnV3], + blockId: parentBlockId, + simulation_flags: []); + + final response = await provider.estimateFee(estimateFeeRequest); + + response.when( + error: (error) { + fail('Should not fail. (${error.code}): ${error.message}'); + }, + result: (result) { + expect(result.length, 1); + final estimate = result[0]; + expect(estimate.gasConsumed, "0x17"); + expect(estimate.dataGasConsumed, "0x140"); + expect(estimate.gasPrice, "0x174876e800"); + expect(estimate.dataGasPrice, "0x174876e800"); + expect(estimate.overallFee, "0x1f321750d800"); + expect(estimate.unit, "FRI"); }, ); }); @@ -1023,16 +1087,24 @@ void main() { final response = await provider.estimateFee(estimateFeeRequest); + //expect one of contract_not_found or contract_error response.when( error: (error) { - expect(error.code, JsonRpcApiErrorCode.CONTRACT_NOT_FOUND); - expect(error.message, 'Contract not found'); + expect( + error.code == JsonRpcApiErrorCode.CONTRACT_NOT_FOUND || + error.code == + JsonRpcApiErrorCode.CONTRACT_ERROR, //for devnet + true); + expect( + error.message.contains('Contract not found') || + error.message.contains('Contract error'), //for devnet + true); }, result: (result) { fail('Should fail.'); }, ); - }, skip: true); // todo FIXME devnet + }, skip: false); test('returns BLOCK_NOT_FOUND with invalid block id', () async { // contract address from main net.