@keep-network/tbtc-v2 1.0.0-dev.6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/artifacts/.chainId +1 -1
  2. package/artifacts/Bank.json +40 -50
  3. package/artifacts/Bridge.json +50 -431
  4. package/artifacts/BridgeGovernance.json +21 -21
  5. package/artifacts/BridgeGovernanceParameters.json +10 -10
  6. package/artifacts/Deposit.json +10 -10
  7. package/artifacts/DepositSweep.json +10 -10
  8. package/artifacts/DonationVault.json +14 -14
  9. package/artifacts/Fraud.json +10 -10
  10. package/artifacts/LightRelay.json +34 -34
  11. package/artifacts/MaintainerProxy.json +44 -44
  12. package/artifacts/MovingFunds.json +10 -10
  13. package/artifacts/Redemption.json +10 -10
  14. package/artifacts/TBTC.json +36 -37
  15. package/artifacts/TBTCVault.json +43 -43
  16. package/artifacts/VendingMachine.json +34 -35
  17. package/artifacts/Wallets.json +10 -10
  18. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +102 -0
  19. package/artifacts/solcInputs/{79a96d1cf4af176d93e6844dc248dcff.json → 887fad6b16575ba42183543c324eeb0e.json} +1 -1
  20. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  21. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  22. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  23. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  24. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  25. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  26. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  27. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  28. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  29. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  30. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  31. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  32. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  33. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  34. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  35. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  36. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  37. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  38. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  39. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  40. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  41. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  42. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  43. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  44. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  45. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  46. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  47. package/deploy/06_deploy_bridge.ts +7 -0
  48. package/deploy/09_deploy_bridge_governance.ts +2 -0
  49. package/export/artifacts/@keep-network/ecdsa/contracts/EcdsaDkgValidator.sol/EcdsaDkgValidator.json +26 -26
  50. package/export/artifacts/@keep-network/ecdsa/contracts/WalletRegistry.sol/WalletRegistry.json +251 -251
  51. package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaDkg.sol/EcdsaDkg.json +2 -2
  52. package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaInactivity.sol/EcdsaInactivity.json +25 -25
  53. package/export/artifacts/@keep-network/random-beacon/contracts/ReimbursementPool.sol/ReimbursementPool.json +47 -47
  54. package/export/artifacts/@keep-network/sortition-pools/contracts/Chaosnet.sol/Chaosnet.json +21 -21
  55. package/export/artifacts/@keep-network/sortition-pools/contracts/Rewards.sol/Rewards.json +16 -16
  56. package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionPool.sol/SortitionPool.json +204 -204
  57. package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionTree.sol/SortitionTree.json +26 -26
  58. package/export/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +42 -42
  59. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +34 -34
  60. package/export/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +74 -74
  61. package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +62 -62
  62. package/export/artifacts/@thesis/solidity-contracts/contracts/token/ERC20WithPermit.sol/ERC20WithPermit.json +77 -77
  63. package/export/artifacts/@thesis/solidity-contracts/contracts/token/MisfundRecovery.sol/MisfundRecovery.json +38 -38
  64. package/export/artifacts/contracts/bank/Bank.sol/Bank.json +75 -75
  65. package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +326 -326
  66. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +104 -104
  67. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +147 -147
  68. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +74 -74
  69. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +100 -100
  70. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +19 -19
  71. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +176 -176
  72. package/export/deploy/06_deploy_bridge.js +30 -8
  73. package/export/deploy/09_deploy_bridge_governance.js +11 -7
  74. package/export/hardhat.config.js +1 -0
  75. package/export/typechain/factories/WalletRegistry__factory.js +1 -1
  76. package/export.json +13069 -0
  77. package/package.json +6 -6
  78. package/artifacts/BLS.json +0 -223
  79. package/artifacts/BeaconAuthorization.json +0 -273
  80. package/artifacts/BeaconDkg.json +0 -241
  81. package/artifacts/BeaconDkgValidator.json +0 -501
  82. package/artifacts/BeaconInactivity.json +0 -151
  83. package/artifacts/BeaconSortitionPool.json +0 -1187
  84. package/artifacts/EcdsaDkgValidator.json +0 -517
  85. package/artifacts/EcdsaInactivity.json +0 -156
  86. package/artifacts/EcdsaSortitionPool.json +0 -1187
  87. package/artifacts/KeepRegistry.json +0 -99
  88. package/artifacts/KeepStake.json +0 -286
  89. package/artifacts/KeepToken.json +0 -711
  90. package/artifacts/KeepTokenStaking.json +0 -483
  91. package/artifacts/NuCypherStakingEscrow.json +0 -287
  92. package/artifacts/NuCypherToken.json +0 -711
  93. package/artifacts/RandomBeacon.json +0 -3271
  94. package/artifacts/RandomBeaconChaosnet.json +0 -252
  95. package/artifacts/RandomBeaconGovernance.json +0 -3499
  96. package/artifacts/ReimbursementPool.json +0 -509
  97. package/artifacts/T.json +0 -1148
  98. package/artifacts/TBTCToken.json +0 -738
  99. package/artifacts/TokenStaking.json +0 -2288
  100. package/artifacts/TokenholderGovernor.json +0 -1795
  101. package/artifacts/TokenholderTimelock.json +0 -1058
  102. package/artifacts/VendingMachineKeep.json +0 -400
  103. package/artifacts/VendingMachineNuCypher.json +0 -400
  104. package/artifacts/WalletRegistry.json +0 -1962
  105. package/artifacts/WalletRegistryGovernance.json +0 -2863
  106. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +0 -11969
  107. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +0 -51939
  108. package/export/artifacts/contracts/test/GoerliLightRelay.sol/GoerliLightRelay.json +0 -11982
  109. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +0 -822
  110. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +0 -12723
  111. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +0 -2160
  112. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +0 -3407
  113. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +0 -14257
  114. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +0 -11816
  115. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +0 -1160
  116. package/export/test/integration/data/bls.js +0 -12
  117. package/export/test/integration/data/integration.js +0 -133
  118. package/export/test/integration/utils/ecdsa-wallet-registry.js +0 -370
  119. package/export/test/integration/utils/random-beacon.js +0 -193
  120. package/export/test/integration/utils/staking.js +0 -83
@@ -479,7 +479,7 @@
479
479
  "parameterSlots": 1,
480
480
  "returnSlots": 0
481
481
  },
482
- "abi_decode_tuple_t_contract$_SortitionPool_$11055_fromMemory": {
482
+ "abi_decode_tuple_t_contract$_SortitionPool_$11057_fromMemory": {
483
483
  "entryPoint": 64,
484
484
  "id": null,
485
485
  "parameterSlots": 2,
@@ -751,7 +751,7 @@
751
751
  }
752
752
  ]
753
753
  },
754
- "name": "abi_decode_tuple_t_contract$_SortitionPool_$11055_fromMemory",
754
+ "name": "abi_decode_tuple_t_contract$_SortitionPool_$11057_fromMemory",
755
755
  "nodeType": "YulFunctionDefinition",
756
756
  "parameters": [
757
757
  {
@@ -779,7 +779,7 @@
779
779
  }
780
780
  ]
781
781
  },
782
- "contents": "{\n { }\n function abi_decode_tuple_t_contract$_SortitionPool_$11055_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n }\n}",
782
+ "contents": "{\n { }\n function abi_decode_tuple_t_contract$_SortitionPool_$11057_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n }\n}",
783
783
  "id": 101,
784
784
  "language": "Yul",
785
785
  "name": "#utility.yul"
@@ -791,9 +791,9 @@
791
791
  },
792
792
  "deployedBytecode": {
793
793
  "functionDebugData": {
794
- "@_throwError_16129": {
794
+ "@_throwError_16131": {
795
795
  "entryPoint": 4125,
796
- "id": 16129,
796
+ "id": 16131,
797
797
  "parameterSlots": 1,
798
798
  "returnSlots": 0
799
799
  },
@@ -821,9 +821,9 @@
821
821
  "parameterSlots": 0,
822
822
  "returnSlots": 0
823
823
  },
824
- "@recover_16221": {
824
+ "@recover_16223": {
825
825
  "entryPoint": 3979,
826
- "id": 16221,
826
+ "id": 16223,
827
827
  "parameterSlots": 2,
828
828
  "returnSlots": 1
829
829
  },
@@ -833,9 +833,9 @@
833
833
  "parameterSlots": 0,
834
834
  "returnSlots": 0
835
835
  },
836
- "@slice_8913": {
836
+ "@slice_8915": {
837
837
  "entryPoint": 3798,
838
- "id": 8913,
838
+ "id": 8915,
839
839
  "parameterSlots": 3,
840
840
  "returnSlots": 1
841
841
  },
@@ -845,27 +845,27 @@
845
845
  "parameterSlots": 0,
846
846
  "returnSlots": 0
847
847
  },
848
- "@toEthSignedMessageHash_16429": {
848
+ "@toEthSignedMessageHash_16431": {
849
849
  "entryPoint": null,
850
- "id": 16429,
850
+ "id": 16431,
851
851
  "parameterSlots": 1,
852
852
  "returnSlots": 1
853
853
  },
854
- "@tryRecover_16194": {
854
+ "@tryRecover_16196": {
855
855
  "entryPoint": 4015,
856
- "id": 16194,
856
+ "id": 16196,
857
857
  "parameterSlots": 2,
858
858
  "returnSlots": 2
859
859
  },
860
- "@tryRecover_16268": {
860
+ "@tryRecover_16270": {
861
861
  "entryPoint": 4803,
862
- "id": 16268,
862
+ "id": 16270,
863
863
  "parameterSlots": 3,
864
864
  "returnSlots": 2
865
865
  },
866
- "@tryRecover_16379": {
866
+ "@tryRecover_16381": {
867
867
  "entryPoint": 4566,
868
- "id": 16379,
868
+ "id": 16381,
869
869
  "parameterSlots": 4,
870
870
  "returnSlots": 2
871
871
  },
@@ -917,19 +917,19 @@
917
917
  "parameterSlots": 2,
918
918
  "returnSlots": 1
919
919
  },
920
- "abi_decode_tuple_t_struct$_Result_$6858_calldata_ptr": {
920
+ "abi_decode_tuple_t_struct$_Result_$6860_calldata_ptr": {
921
921
  "entryPoint": 4909,
922
922
  "id": null,
923
923
  "parameterSlots": 2,
924
924
  "returnSlots": 1
925
925
  },
926
- "abi_decode_tuple_t_struct$_Result_$6858_calldata_ptrt_uint256": {
926
+ "abi_decode_tuple_t_struct$_Result_$6860_calldata_ptrt_uint256": {
927
927
  "entryPoint": 5058,
928
928
  "id": null,
929
929
  "parameterSlots": 2,
930
930
  "returnSlots": 2
931
931
  },
932
- "abi_decode_tuple_t_struct$_Result_$6858_calldata_ptrt_uint256t_uint256": {
932
+ "abi_decode_tuple_t_struct$_Result_$6860_calldata_ptrt_uint256t_uint256": {
933
933
  "entryPoint": 5127,
934
934
  "id": null,
935
935
  "parameterSlots": 2,
@@ -989,7 +989,7 @@
989
989
  "parameterSlots": 5,
990
990
  "returnSlots": 1
991
991
  },
992
- "abi_encode_tuple_t_contract$_SortitionPool_$11055__to_t_address__fromStack_reversed": {
992
+ "abi_encode_tuple_t_contract$_SortitionPool_$11057__to_t_address__fromStack_reversed": {
993
993
  "entryPoint": null,
994
994
  "id": null,
995
995
  "parameterSlots": 2,
@@ -1611,7 +1611,7 @@
1611
1611
  }
1612
1612
  ]
1613
1613
  },
1614
- "name": "abi_decode_tuple_t_struct$_Result_$6858_calldata_ptr",
1614
+ "name": "abi_decode_tuple_t_struct$_Result_$6860_calldata_ptr",
1615
1615
  "nodeType": "YulFunctionDefinition",
1616
1616
  "parameters": [
1617
1617
  {
@@ -2477,7 +2477,7 @@
2477
2477
  }
2478
2478
  ]
2479
2479
  },
2480
- "name": "abi_decode_tuple_t_struct$_Result_$6858_calldata_ptrt_uint256",
2480
+ "name": "abi_decode_tuple_t_struct$_Result_$6860_calldata_ptrt_uint256",
2481
2481
  "nodeType": "YulFunctionDefinition",
2482
2482
  "parameters": [
2483
2483
  {
@@ -2707,7 +2707,7 @@
2707
2707
  }
2708
2708
  ]
2709
2709
  },
2710
- "name": "abi_encode_tuple_t_contract$_SortitionPool_$11055__to_t_address__fromStack_reversed",
2710
+ "name": "abi_encode_tuple_t_contract$_SortitionPool_$11057__to_t_address__fromStack_reversed",
2711
2711
  "nodeType": "YulFunctionDefinition",
2712
2712
  "parameters": [
2713
2713
  {
@@ -3046,7 +3046,7 @@
3046
3046
  }
3047
3047
  ]
3048
3048
  },
3049
- "name": "abi_decode_tuple_t_struct$_Result_$6858_calldata_ptrt_uint256t_uint256",
3049
+ "name": "abi_decode_tuple_t_struct$_Result_$6860_calldata_ptrt_uint256t_uint256",
3050
3050
  "nodeType": "YulFunctionDefinition",
3051
3051
  "parameters": [
3052
3052
  {
@@ -12211,7 +12211,7 @@
12211
12211
  }
12212
12212
  ]
12213
12213
  },
12214
- "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_struct_Result_calldata(offset, end) -> value\n {\n if slt(sub(end, offset), 224) { revert(0, 0) }\n value := offset\n }\n function abi_decode_tuple_t_struct$_Result_$6858_calldata_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_struct_Result_calldata(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_bool_t_string_memory_ptr__to_t_bool_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, iszero(iszero(value0)))\n let _1 := 32\n mstore(add(headStart, _1), 64)\n let length := mload(value1)\n mstore(add(headStart, 64), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 96), mload(add(add(value1, i), _1)))\n }\n mstore(add(add(headStart, length), 96), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n }\n function abi_decode_tuple_t_struct$_Result_$6858_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_struct_Result_calldata(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_contract$_SortitionPool_$11055__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_struct$_Result_$6858_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_struct_Result_calldata(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n }\n function access_calldata_tail_t_array$_t_uint8_$dyn_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), shl(5, length))) { revert(0, 0) }\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function panic_error_0x32()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_uint8(headStart)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function access_calldata_tail_t_array$_t_uint256_$dyn_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), shl(5, length))) { revert(0, 0) }\n }\n function access_calldata_tail_t_array$_t_uint32_$dyn_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), shl(5, length))) { revert(0, 0) }\n }\n function abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_uint32_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function validator_revert_uint32(value)\n {\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_array$_t_uint32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n let dst := allocate_memory(array_allocation_size_array_uint32_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _1)\n let srcEnd := add(add(_2, shl(5, _3)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n let value := mload(src)\n validator_revert_uint32(value)\n mstore(dst, value)\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_uint32(value)\n value0 := value\n }\n function checked_sub_t_uint8(x, y) -> diff\n {\n diff := sub(and(x, 0xff), and(y, 0xff))\n if gt(diff, 0xff) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_array$_t_uint32_$dyn_memory_ptr__to_t_array$_t_uint32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xffffffff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_tuple_t_array$_t_uint32_$dyn_calldata_ptr__to_t_array$_t_uint32_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n mstore(tail_1, value1)\n pos := add(headStart, 64)\n let srcPtr := value0\n let i := 0\n for { } lt(i, value1) { i := add(i, 1) }\n {\n let value := calldataload(srcPtr)\n validator_revert_uint32(value)\n mstore(pos, and(value, 0xffffffff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_array$_t_uint8_$dyn_calldata_ptr_t_uint256__to_t_uint256_t_bytes_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n let _1 := 32\n mstore(add(headStart, _1), 128)\n mstore(add(headStart, 128), value2)\n calldatacopy(add(headStart, 160), value1, value2)\n mstore(add(add(headStart, value2), 160), 0)\n let _2 := add(headStart, and(add(value2, 31), not(31)))\n let end := add(_2, 160)\n mstore(add(headStart, 64), add(sub(_2, headStart), 160))\n let pos := end\n mstore(end, value4)\n pos := add(_2, 192)\n let srcPtr := value3\n let i := 0\n for { } lt(i, value4) { i := add(i, 1) }\n {\n mstore(pos, and(abi_decode_uint8(srcPtr), 0xff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n mstore(add(headStart, 96), value5)\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n let dst := allocate_memory(array_allocation_size_array_uint32_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _1)\n let srcEnd := add(add(_2, shl(5, _3)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n let value := mload(src)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff)))\n {\n let _4 := 0\n revert(_4, _4)\n }\n mstore(dst, value)\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n mstore(add(pos, 28), value0)\n end := add(pos, 60)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_f1c269d7eab972b2fd4d87a15c317e920493e7eea923de7e48c0ebcb7f611fa9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"Slice out of bounds\")\n tail := add(headStart, 96)\n }\n function panic_error_0x21()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ECDSA: invalid signature\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ECDSA: invalid signature length\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 's' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 'v' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}",
12214
+ "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_struct_Result_calldata(offset, end) -> value\n {\n if slt(sub(end, offset), 224) { revert(0, 0) }\n value := offset\n }\n function abi_decode_tuple_t_struct$_Result_$6860_calldata_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_struct_Result_calldata(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_bool_t_string_memory_ptr__to_t_bool_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, iszero(iszero(value0)))\n let _1 := 32\n mstore(add(headStart, _1), 64)\n let length := mload(value1)\n mstore(add(headStart, 64), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 96), mload(add(add(value1, i), _1)))\n }\n mstore(add(add(headStart, length), 96), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n }\n function abi_decode_tuple_t_struct$_Result_$6860_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_struct_Result_calldata(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_contract$_SortitionPool_$11057__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_struct$_Result_$6860_calldata_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_struct_Result_calldata(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n }\n function access_calldata_tail_t_array$_t_uint8_$dyn_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), shl(5, length))) { revert(0, 0) }\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function panic_error_0x32()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_uint8(headStart)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x12()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function access_calldata_tail_t_array$_t_uint256_$dyn_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), shl(5, length))) { revert(0, 0) }\n }\n function access_calldata_tail_t_array$_t_uint32_$dyn_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), shl(5, length))) { revert(0, 0) }\n }\n function abi_encode_tuple_t_uint256_t_bytes32__to_t_uint256_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_uint32_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function validator_revert_uint32(value)\n {\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_array$_t_uint32_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n let dst := allocate_memory(array_allocation_size_array_uint32_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _1)\n let srcEnd := add(add(_2, shl(5, _3)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n let value := mload(src)\n validator_revert_uint32(value)\n mstore(dst, value)\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_uint32(value)\n value0 := value\n }\n function checked_sub_t_uint8(x, y) -> diff\n {\n diff := sub(and(x, 0xff), and(y, 0xff))\n if gt(diff, 0xff) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_array$_t_uint32_$dyn_memory_ptr__to_t_array$_t_uint32_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xffffffff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_tuple_t_array$_t_uint32_$dyn_calldata_ptr__to_t_array$_t_uint32_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n mstore(tail_1, value1)\n pos := add(headStart, 64)\n let srcPtr := value0\n let i := 0\n for { } lt(i, value1) { i := add(i, 1) }\n {\n let value := calldataload(srcPtr)\n validator_revert_uint32(value)\n mstore(pos, and(value, 0xffffffff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_tuple_t_uint256_t_bytes_calldata_ptr_t_array$_t_uint8_$dyn_calldata_ptr_t_uint256__to_t_uint256_t_bytes_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n let _1 := 32\n mstore(add(headStart, _1), 128)\n mstore(add(headStart, 128), value2)\n calldatacopy(add(headStart, 160), value1, value2)\n mstore(add(add(headStart, value2), 160), 0)\n let _2 := add(headStart, and(add(value2, 31), not(31)))\n let end := add(_2, 160)\n mstore(add(headStart, 64), add(sub(_2, headStart), 160))\n let pos := end\n mstore(end, value4)\n pos := add(_2, 192)\n let srcPtr := value3\n let i := 0\n for { } lt(i, value4) { i := add(i, 1) }\n {\n mstore(pos, and(abi_decode_uint8(srcPtr), 0xff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n mstore(add(headStart, 96), value5)\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n let dst := allocate_memory(array_allocation_size_array_uint32_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _1)\n let srcEnd := add(add(_2, shl(5, _3)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n let value := mload(src)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff)))\n {\n let _4 := 0\n revert(_4, _4)\n }\n mstore(dst, value)\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n mstore(add(pos, 28), value0)\n end := add(pos, 60)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_f1c269d7eab972b2fd4d87a15c317e920493e7eea923de7e48c0ebcb7f611fa9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"Slice out of bounds\")\n tail := add(headStart, 96)\n }\n function panic_error_0x21()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ECDSA: invalid signature\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ECDSA: invalid signature length\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 's' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 'v' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}",
12215
12215
  "id": 101,
12216
12216
  "language": "Yul",
12217
12217
  "name": "#utility.yul"