@arkecosystem/typescript-crypto 0.0.4 → 0.0.5

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 (196) hide show
  1. package/.github/workflows/ci.yml +23 -23
  2. package/.github/workflows/format.yml +80 -0
  3. package/.github/workflows/publish.yml +1 -1
  4. package/.prettierrc.json +8 -0
  5. package/dist/enums/ContractAbiType.d.ts.map +1 -1
  6. package/dist/exceptions/index.d.ts.map +1 -1
  7. package/dist/identities/PrivateKey.d.ts +2 -2
  8. package/dist/identities/PrivateKey.d.ts.map +1 -1
  9. package/dist/identities/PrivateKey.js +1 -1
  10. package/dist/identities/WIF.d.ts.map +1 -1
  11. package/dist/identities/WIF.js +2 -2
  12. package/dist/index.js +532 -627
  13. package/dist/networks/AbstractNetwork.d.ts +1 -1
  14. package/dist/networks/AbstractNetwork.d.ts.map +1 -1
  15. package/dist/networks/Mainnet.d.ts +1 -1
  16. package/dist/networks/Mainnet.d.ts.map +1 -1
  17. package/dist/networks/Mainnet.js +1 -1
  18. package/dist/networks/Testnet.d.ts +1 -1
  19. package/dist/networks/Testnet.d.ts.map +1 -1
  20. package/dist/networks/Testnet.js +1 -1
  21. package/dist/transactions/Deserializer.d.ts +5 -5
  22. package/dist/transactions/Deserializer.d.ts.map +1 -1
  23. package/dist/transactions/Deserializer.js +18 -18
  24. package/dist/transactions/Serializer.d.ts +0 -1
  25. package/dist/transactions/Serializer.d.ts.map +1 -1
  26. package/dist/transactions/Serializer.js +0 -3
  27. package/dist/transactions/builders/AbstractTransactionBuilder.d.ts +7 -6
  28. package/dist/transactions/builders/AbstractTransactionBuilder.d.ts.map +1 -1
  29. package/dist/transactions/builders/AbstractTransactionBuilder.js +15 -8
  30. package/dist/transactions/builders/EvmCallBuilder.d.ts +3 -3
  31. package/dist/transactions/builders/EvmCallBuilder.d.ts.map +1 -1
  32. package/dist/transactions/builders/MultipaymentBuilder.d.ts +5 -4
  33. package/dist/transactions/builders/MultipaymentBuilder.d.ts.map +1 -1
  34. package/dist/transactions/builders/MultipaymentBuilder.js +6 -2
  35. package/dist/transactions/builders/TransferBuilder.d.ts +4 -3
  36. package/dist/transactions/builders/TransferBuilder.d.ts.map +1 -1
  37. package/dist/transactions/builders/TransferBuilder.js +4 -0
  38. package/dist/transactions/builders/UnvoteBuilder.d.ts +3 -3
  39. package/dist/transactions/builders/UnvoteBuilder.d.ts.map +1 -1
  40. package/dist/transactions/builders/UnvoteBuilder.js +1 -1
  41. package/dist/transactions/builders/UsernameRegistrationBuilder.d.ts +3 -3
  42. package/dist/transactions/builders/UsernameRegistrationBuilder.d.ts.map +1 -1
  43. package/dist/transactions/builders/UsernameRegistrationBuilder.js +1 -1
  44. package/dist/transactions/builders/UsernameResignationBuilder.d.ts +3 -3
  45. package/dist/transactions/builders/UsernameResignationBuilder.d.ts.map +1 -1
  46. package/dist/transactions/builders/UsernameResignationBuilder.js +1 -1
  47. package/dist/transactions/builders/ValidatorRegistrationBuilder.d.ts +3 -3
  48. package/dist/transactions/builders/ValidatorRegistrationBuilder.d.ts.map +1 -1
  49. package/dist/transactions/builders/ValidatorRegistrationBuilder.js +1 -1
  50. package/dist/transactions/builders/ValidatorResignationBuilder.d.ts +3 -3
  51. package/dist/transactions/builders/ValidatorResignationBuilder.d.ts.map +1 -1
  52. package/dist/transactions/builders/ValidatorResignationBuilder.js +1 -1
  53. package/dist/transactions/builders/VoteBuilder.d.ts +3 -3
  54. package/dist/transactions/builders/VoteBuilder.d.ts.map +1 -1
  55. package/dist/transactions/builders/VoteBuilder.js +1 -1
  56. package/dist/transactions/types/AbstractTransaction.d.ts +2 -5
  57. package/dist/transactions/types/AbstractTransaction.d.ts.map +1 -1
  58. package/dist/transactions/types/AbstractTransaction.js +13 -15
  59. package/dist/transactions/types/EvmCall.d.ts +0 -3
  60. package/dist/transactions/types/EvmCall.d.ts.map +1 -1
  61. package/dist/transactions/types/EvmCall.js +0 -8
  62. package/dist/transactions/types/Multipayment.d.ts +1 -3
  63. package/dist/transactions/types/Multipayment.d.ts.map +1 -1
  64. package/dist/transactions/types/Multipayment.js +1 -8
  65. package/dist/transactions/types/Transfer.d.ts +0 -3
  66. package/dist/transactions/types/Transfer.d.ts.map +1 -1
  67. package/dist/transactions/types/Transfer.js +0 -8
  68. package/dist/transactions/types/Unvote.d.ts +0 -3
  69. package/dist/transactions/types/Unvote.d.ts.map +1 -1
  70. package/dist/transactions/types/Unvote.js +0 -8
  71. package/dist/transactions/types/UsernameRegistration.d.ts +1 -3
  72. package/dist/transactions/types/UsernameRegistration.d.ts.map +1 -1
  73. package/dist/transactions/types/UsernameRegistration.js +0 -7
  74. package/dist/transactions/types/UsernameResignation.d.ts +0 -3
  75. package/dist/transactions/types/UsernameResignation.d.ts.map +1 -1
  76. package/dist/transactions/types/UsernameResignation.js +0 -7
  77. package/dist/transactions/types/ValidatorRegistration.d.ts +1 -3
  78. package/dist/transactions/types/ValidatorRegistration.d.ts.map +1 -1
  79. package/dist/transactions/types/ValidatorRegistration.js +0 -8
  80. package/dist/transactions/types/ValidatorResignation.d.ts +0 -3
  81. package/dist/transactions/types/ValidatorResignation.d.ts.map +1 -1
  82. package/dist/transactions/types/ValidatorResignation.js +0 -8
  83. package/dist/transactions/types/Vote.d.ts +1 -3
  84. package/dist/transactions/types/Vote.d.ts.map +1 -1
  85. package/dist/transactions/types/Vote.js +0 -8
  86. package/dist/types.d.ts +19 -19
  87. package/dist/types.d.ts.map +1 -1
  88. package/dist/utils/Abi/ArgumentDecoder.js +6 -6
  89. package/dist/utils/Abi/json/Abi.Consensus.json +15 -45
  90. package/dist/utils/Abi/json/Abi.Usernames.json +9 -27
  91. package/dist/utils/AbiDecoder.d.ts.map +1 -1
  92. package/dist/utils/AbiDecoder.js +3 -0
  93. package/dist/utils/AbiEncoder.d.ts +1 -1
  94. package/dist/utils/AbiEncoder.d.ts.map +1 -1
  95. package/dist/utils/AbiEncoder.js +2 -1
  96. package/dist/utils/Message.d.ts +1 -1
  97. package/dist/utils/Message.d.ts.map +1 -1
  98. package/dist/utils/Message.js +1 -1
  99. package/dist/utils/TransactionUtils.d.ts +0 -1
  100. package/dist/utils/TransactionUtils.d.ts.map +1 -1
  101. package/dist/utils/TransactionUtils.js +15 -18
  102. package/dist/utils/UnitConverter.d.ts.map +1 -1
  103. package/dist/utils/UnitConverter.js +12 -12
  104. package/eslint.config.mjs +19 -0
  105. package/jest.config.ts +6 -6
  106. package/package.json +6 -2
  107. package/src/enums/Constants.ts +1 -1
  108. package/src/enums/ContractAbiType.ts +4 -4
  109. package/src/exceptions/index.ts +1 -1
  110. package/src/identities/PrivateKey.ts +3 -3
  111. package/src/identities/WIF.ts +2 -3
  112. package/src/networks/AbstractNetwork.ts +3 -3
  113. package/src/networks/Mainnet.ts +3 -3
  114. package/src/networks/Testnet.ts +1 -1
  115. package/src/transactions/Deserializer.ts +39 -30
  116. package/src/transactions/Serializer.ts +1 -5
  117. package/src/transactions/builders/AbstractTransactionBuilder.ts +20 -11
  118. package/src/transactions/builders/EvmCallBuilder.ts +3 -3
  119. package/src/transactions/builders/MultipaymentBuilder.ts +13 -6
  120. package/src/transactions/builders/TransferBuilder.ts +8 -3
  121. package/src/transactions/builders/UnvoteBuilder.ts +4 -4
  122. package/src/transactions/builders/UsernameRegistrationBuilder.ts +4 -4
  123. package/src/transactions/builders/UsernameResignationBuilder.ts +4 -4
  124. package/src/transactions/builders/ValidatorRegistrationBuilder.ts +4 -4
  125. package/src/transactions/builders/ValidatorResignationBuilder.ts +4 -4
  126. package/src/transactions/builders/VoteBuilder.ts +4 -4
  127. package/src/transactions/types/AbstractTransaction.ts +17 -24
  128. package/src/transactions/types/EvmCall.ts +0 -15
  129. package/src/transactions/types/Multipayment.ts +3 -15
  130. package/src/transactions/types/Transfer.ts +0 -15
  131. package/src/transactions/types/Unvote.ts +0 -15
  132. package/src/transactions/types/UsernameRegistration.ts +1 -13
  133. package/src/transactions/types/UsernameResignation.ts +0 -14
  134. package/src/transactions/types/ValidatorRegistration.ts +1 -14
  135. package/src/transactions/types/ValidatorResignation.ts +0 -15
  136. package/src/transactions/types/Vote.ts +1 -14
  137. package/src/types.ts +19 -19
  138. package/src/utils/Abi/ArgumentDecoder.ts +6 -6
  139. package/src/utils/Abi/json/Abi.Consensus.json +1641 -1671
  140. package/src/utils/Abi/json/Abi.Multipayment.json +108 -108
  141. package/src/utils/Abi/json/Abi.Usernames.json +880 -898
  142. package/src/utils/AbiBase.ts +1 -1
  143. package/src/utils/AbiDecoder.ts +6 -3
  144. package/src/utils/AbiEncoder.ts +3 -2
  145. package/src/utils/Message.ts +1 -1
  146. package/src/utils/TransactionUtils.ts +24 -28
  147. package/src/utils/UnitConverter.ts +29 -29
  148. package/tests/fixtures/global.json +4 -4
  149. package/tests/fixtures/identity.json +10 -10
  150. package/tests/fixtures/transactions/evm-sign.json +4 -4
  151. package/tests/fixtures/transactions/multipayment-empty.json +4 -4
  152. package/tests/fixtures/transactions/multipayment-single.json +4 -4
  153. package/tests/fixtures/transactions/multipayment.json +4 -4
  154. package/tests/fixtures/transactions/transfer-0.json +4 -4
  155. package/tests/fixtures/transactions/transfer-large-amount.json +4 -4
  156. package/tests/fixtures/transactions/transfer.json +4 -4
  157. package/tests/fixtures/transactions/unvote.json +4 -4
  158. package/tests/fixtures/transactions/username-registration.json +4 -4
  159. package/tests/fixtures/transactions/username-resignation.json +4 -4
  160. package/tests/fixtures/transactions/validator-registration.json +4 -4
  161. package/tests/fixtures/transactions/validator-resignation.json +4 -4
  162. package/tests/fixtures/transactions/vote.json +4 -4
  163. package/tests/unit/configuration/Network.test.ts +52 -0
  164. package/tests/unit/identities/Address.test.ts +4 -4
  165. package/tests/unit/identities/PrivateKey.test.ts +5 -5
  166. package/tests/unit/identities/PublicKey.test.ts +9 -9
  167. package/tests/unit/identities/WIF.test.ts +1 -1
  168. package/tests/unit/transactions/Deserializer.test.ts +81 -63
  169. package/tests/unit/transactions/Serializer.test.ts +11 -1
  170. package/tests/unit/transactions/builders/EvmCallBuilder.test.ts +76 -9
  171. package/tests/unit/transactions/builders/MultipaymentBuilder.test.ts +125 -17
  172. package/tests/unit/transactions/builders/TransferBuilder.test.ts +146 -47
  173. package/tests/unit/transactions/builders/UnvoteBuilder.test.ts +75 -8
  174. package/tests/unit/transactions/builders/UsernameRegistrationBuilder.test.ts +75 -8
  175. package/tests/unit/transactions/builders/UsernameResignationBuilder.test.ts +75 -8
  176. package/tests/unit/transactions/builders/ValidatorRegistrationBuilder.test.ts +79 -12
  177. package/tests/unit/transactions/builders/ValidatorResignationBuilder.test.ts +75 -8
  178. package/tests/unit/transactions/builders/VoteBuilder.test.ts +75 -8
  179. package/tests/unit/transactions/types/AbstractTransaction.test.ts +27 -30
  180. package/tests/unit/transactions/types/EvmCall.test.ts +22 -0
  181. package/tests/unit/transactions/types/Multipayment.test.ts +38 -0
  182. package/tests/unit/transactions/types/Transfer.test.ts +18 -0
  183. package/tests/unit/transactions/types/Unvote.test.ts +18 -0
  184. package/tests/unit/transactions/types/UsernameRegistration.test.ts +22 -0
  185. package/tests/unit/transactions/types/UsernameResignation.test.ts +18 -0
  186. package/tests/unit/transactions/types/ValidatorRegistration.test.ts +22 -0
  187. package/tests/unit/transactions/types/ValidatorResignation.test.ts +18 -0
  188. package/tests/unit/transactions/types/Vote.test.ts +20 -0
  189. package/tests/unit/utils/Abi/ArgumentDecoder.test.ts +17 -16
  190. package/tests/unit/utils/AbiEncoder.test.ts +2 -2
  191. package/tests/unit/utils/Message.test.ts +1 -1
  192. package/tests/unit/utils/TransactionUtils.test.ts +1 -5
  193. package/tests/unit/utils/UnitConverter.test.ts +81 -47
  194. package/tsconfig.json +1 -1
  195. package/.eslintrc.js +0 -12
  196. package/prettier.config.js +0 -8
@@ -1,110 +1,110 @@
1
1
  {
2
- "abi": [
3
- {
4
- "type": "function",
5
- "name": "pay",
6
- "inputs": [
7
- {
8
- "name": "recipients",
9
- "type": "address[]",
10
- "internalType": "address payable[]"
11
- },
12
- {
13
- "name": "amounts",
14
- "type": "uint256[]",
15
- "internalType": "uint256[]"
16
- }
17
- ],
18
- "outputs": [],
19
- "stateMutability": "payable"
20
- },
21
- { "type": "error", "name": "FailedToSendEther", "inputs": [] },
22
- { "type": "error", "name": "InvalidValue", "inputs": [] },
23
- {
24
- "type": "error",
25
- "name": "RecipientsAndAmountsMismatch",
26
- "inputs": []
27
- }
28
- ],
29
- "bytecode": {
30
- "object": "0x6080604052348015600e575f5ffd5b506102c98061001c5f395ff3fe60806040526004361061001d575f3560e01c8063084ce70814610021575b5f5ffd5b61003461002f3660046101c1565b610036565b005b828114610056576040516366d5293b60e11b815260040160405180910390fd5b5f805b8281101561008f578383828181106100735761007361022d565b90506020020135826100859190610241565b9150600101610059565b508034146100b057604051632a9ffab760e21b815260040160405180910390fd5b5f5b84811015610171575f8686838181106100cd576100cd61022d565b90506020020160208101906100e29190610266565b6001600160a01b03168585848181106100fd576100fd61022d565b905060200201356040515f6040518083038185875af1925050503d805f8114610141576040519150601f19603f3d011682016040523d82523d5f602084013e610146565b606091505b505090508061016857604051630dcf35db60e41b815260040160405180910390fd5b506001016100b2565b505050505050565b5f5f83601f840112610189575f5ffd5b50813567ffffffffffffffff8111156101a0575f5ffd5b6020830191508360208260051b85010111156101ba575f5ffd5b9250929050565b5f5f5f5f604085870312156101d4575f5ffd5b843567ffffffffffffffff8111156101ea575f5ffd5b6101f687828801610179565b909550935050602085013567ffffffffffffffff811115610215575f5ffd5b61022187828801610179565b95989497509550505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561026057634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215610276575f5ffd5b81356001600160a01b038116811461028c575f5ffd5b939250505056fea2646970667358221220bfee9113d4628767f3e4ea5baeb21f9c3bd88ea4c440d0a915dae090d37cd9a664736f6c634300081b0033",
31
- "sourceMap": "81:836:23:-:0;;;;;;;;;;;;;;;;;;;",
32
- "linkReferences": {}
33
- },
34
- "deployedBytecode": {
35
- "object": "0x60806040526004361061001d575f3560e01c8063084ce70814610021575b5f5ffd5b61003461002f3660046101c1565b610036565b005b828114610056576040516366d5293b60e11b815260040160405180910390fd5b5f805b8281101561008f578383828181106100735761007361022d565b90506020020135826100859190610241565b9150600101610059565b508034146100b057604051632a9ffab760e21b815260040160405180910390fd5b5f5b84811015610171575f8686838181106100cd576100cd61022d565b90506020020160208101906100e29190610266565b6001600160a01b03168585848181106100fd576100fd61022d565b905060200201356040515f6040518083038185875af1925050503d805f8114610141576040519150601f19603f3d011682016040523d82523d5f602084013e610146565b606091505b505090508061016857604051630dcf35db60e41b815260040160405180910390fd5b506001016100b2565b505050505050565b5f5f83601f840112610189575f5ffd5b50813567ffffffffffffffff8111156101a0575f5ffd5b6020830191508360208260051b85010111156101ba575f5ffd5b9250929050565b5f5f5f5f604085870312156101d4575f5ffd5b843567ffffffffffffffff8111156101ea575f5ffd5b6101f687828801610179565b909550935050602085013567ffffffffffffffff811115610215575f5ffd5b61022187828801610179565b95989497509550505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561026057634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215610276575f5ffd5b81356001600160a01b038116811461028c575f5ffd5b939250505056fea2646970667358221220bfee9113d4628767f3e4ea5baeb21f9c3bd88ea4c440d0a915dae090d37cd9a664736f6c634300081b0033",
36
- "sourceMap": "81:836:23:-:0;;;;;;;;;;;;;;;;;;;;;209:706;;;;;;:::i;:::-;;:::i;:::-;;;318:35;;;314:103;;376:30;;-1:-1:-1;;;376:30:23;;;;;;;;;;;314:103;492:13;;519:89;539:18;;;519:89;;;587:7;;595:1;587:10;;;;;;;:::i;:::-;;;;;;;578:19;;;;;:::i;:::-;;-1:-1:-1;559:3:23;;519:89;;;;634:5;621:9;:18;617:70;;662:14;;-1:-1:-1;;;662:14:23;;;;;;;;;;;617:70;702:9;697:212;717:21;;;697:212;;;760:9;774:10;;785:1;774:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;774:18:23;800:7;;808:1;800:10;;;;;;;:::i;:::-;;;;;;;774:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;759:56;;;834:4;829:70;;865:19;;-1:-1:-1;;;865:19:23;;;;;;;;;;;829:70;-1:-1:-1;740:3:23;;697:212;;;;304:611;209:706;;;;:::o;14:375:25:-;85:8;95:6;149:3;142:4;134:6;130:17;126:27;116:55;;167:1;164;157:12;116:55;-1:-1:-1;190:20:25;;233:18;222:30;;219:50;;;265:1;262;255:12;219:50;302:4;294:6;290:17;278:29;;362:3;355:4;345:6;342:1;338:14;330:6;326:27;322:38;319:47;316:67;;;379:1;376;369:12;316:67;14:375;;;;;:::o;394:792::-;524:6;532;540;548;601:2;589:9;580:7;576:23;572:32;569:52;;;617:1;614;607:12;569:52;657:9;644:23;690:18;682:6;679:30;676:50;;;722:1;719;712:12;676:50;761:78;831:7;822:6;811:9;807:22;761:78;:::i;:::-;858:8;;-1:-1:-1;735:104:25;-1:-1:-1;;946:2:25;931:18;;918:32;975:18;962:32;;959:52;;;1007:1;1004;997:12;959:52;1046:80;1118:7;1107:8;1096:9;1092:24;1046:80;:::i;:::-;394:792;;;;-1:-1:-1;1145:8:25;-1:-1:-1;;;;394:792:25:o;1191:127::-;1252:10;1247:3;1243:20;1240:1;1233:31;1283:4;1280:1;1273:15;1307:4;1304:1;1297:15;1323:222;1388:9;;;1409:10;;;1406:133;;;1461:10;1456:3;1452:20;1449:1;1442:31;1496:4;1493:1;1486:15;1524:4;1521:1;1514:15;1406:133;1323:222;;;;:::o;1550:294::-;1617:6;1670:2;1658:9;1649:7;1645:23;1641:32;1638:52;;;1686:1;1683;1676:12;1638:52;1712:23;;-1:-1:-1;;;;;1764:31:25;;1754:42;;1744:70;;1810:1;1807;1800:12;1744:70;1833:5;1550:294;-1:-1:-1;;;1550:294:25:o",
37
- "linkReferences": {}
38
- },
39
- "methodIdentifiers": { "pay(address[],uint256[])": "084ce708" },
40
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedToSendEther\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RecipientsAndAmountsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address payable[]\",\"name\":\"recipients\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"pay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/multi-payment/MultiPayment.sol\":\"MultiPayment\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@contracts/=src/\",\":@forge-std/=lib/forge-std/src/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"]},\"sources\":{\"src/multi-payment/MultiPayment.sol\":{\"keccak256\":\"0x804a5823ffdb1866bc5f42a0fe3688c8e153da92e279c7b79aa3d73472a1ce35\",\"license\":\"GNU GENERAL PUBLIC LICENSE\",\"urls\":[\"bzz-raw://43df2e2ee0c0a76dd4ee8bd6cc81d65c80fb1aaada5e925d129a91de434d2c52\",\"dweb:/ipfs/QmRj4GTC5R6QTcaBxmghrH3ABuDXXwvHpi4yYjd1e8VduW\"]}},\"version\":1}",
41
- "metadata": {
42
- "compiler": { "version": "0.8.27+commit.40a35a09" },
43
- "language": "Solidity",
44
- "output": {
45
- "abi": [
46
- { "inputs": [], "type": "error", "name": "FailedToSendEther" },
47
- { "inputs": [], "type": "error", "name": "InvalidValue" },
48
- {
49
- "inputs": [],
50
- "type": "error",
51
- "name": "RecipientsAndAmountsMismatch"
52
- },
53
- {
54
- "inputs": [
55
- {
56
- "internalType": "address payable[]",
57
- "name": "recipients",
58
- "type": "address[]"
59
- },
60
- {
61
- "internalType": "uint256[]",
62
- "name": "amounts",
63
- "type": "uint256[]"
64
- }
65
- ],
66
- "stateMutability": "payable",
67
- "type": "function",
68
- "name": "pay"
69
- }
70
- ],
71
- "devdoc": { "kind": "dev", "methods": {}, "version": 1 },
72
- "userdoc": { "kind": "user", "methods": {}, "version": 1 }
73
- },
74
- "settings": {
75
- "remappings": [
76
- "@contracts/=src/",
77
- "@forge-std/=lib/forge-std/src/",
78
- "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
79
- "@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/",
80
- "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/",
81
- "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
82
- "forge-std/=lib/forge-std/src/",
83
- "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
84
- "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
85
- "openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/",
86
- "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/",
87
- "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"
88
- ],
89
- "optimizer": { "enabled": true, "runs": 200 },
90
- "metadata": { "bytecodeHash": "ipfs" },
91
- "compilationTarget": {
92
- "src/multi-payment/MultiPayment.sol": "MultiPayment"
93
- },
94
- "evmVersion": "shanghai",
95
- "libraries": {}
96
- },
97
- "sources": {
98
- "src/multi-payment/MultiPayment.sol": {
99
- "keccak256": "0x804a5823ffdb1866bc5f42a0fe3688c8e153da92e279c7b79aa3d73472a1ce35",
100
- "urls": [
101
- "bzz-raw://43df2e2ee0c0a76dd4ee8bd6cc81d65c80fb1aaada5e925d129a91de434d2c52",
102
- "dweb:/ipfs/QmRj4GTC5R6QTcaBxmghrH3ABuDXXwvHpi4yYjd1e8VduW"
103
- ],
104
- "license": "GNU GENERAL PUBLIC LICENSE"
105
- }
106
- },
107
- "version": 1
108
- },
109
- "id": 23
2
+ "abi": [
3
+ {
4
+ "type": "function",
5
+ "name": "pay",
6
+ "inputs": [
7
+ {
8
+ "name": "recipients",
9
+ "type": "address[]",
10
+ "internalType": "address payable[]"
11
+ },
12
+ {
13
+ "name": "amounts",
14
+ "type": "uint256[]",
15
+ "internalType": "uint256[]"
16
+ }
17
+ ],
18
+ "outputs": [],
19
+ "stateMutability": "payable"
20
+ },
21
+ { "type": "error", "name": "FailedToSendEther", "inputs": [] },
22
+ { "type": "error", "name": "InvalidValue", "inputs": [] },
23
+ {
24
+ "type": "error",
25
+ "name": "RecipientsAndAmountsMismatch",
26
+ "inputs": []
27
+ }
28
+ ],
29
+ "bytecode": {
30
+ "object": "0x6080604052348015600e575f5ffd5b506102c98061001c5f395ff3fe60806040526004361061001d575f3560e01c8063084ce70814610021575b5f5ffd5b61003461002f3660046101c1565b610036565b005b828114610056576040516366d5293b60e11b815260040160405180910390fd5b5f805b8281101561008f578383828181106100735761007361022d565b90506020020135826100859190610241565b9150600101610059565b508034146100b057604051632a9ffab760e21b815260040160405180910390fd5b5f5b84811015610171575f8686838181106100cd576100cd61022d565b90506020020160208101906100e29190610266565b6001600160a01b03168585848181106100fd576100fd61022d565b905060200201356040515f6040518083038185875af1925050503d805f8114610141576040519150601f19603f3d011682016040523d82523d5f602084013e610146565b606091505b505090508061016857604051630dcf35db60e41b815260040160405180910390fd5b506001016100b2565b505050505050565b5f5f83601f840112610189575f5ffd5b50813567ffffffffffffffff8111156101a0575f5ffd5b6020830191508360208260051b85010111156101ba575f5ffd5b9250929050565b5f5f5f5f604085870312156101d4575f5ffd5b843567ffffffffffffffff8111156101ea575f5ffd5b6101f687828801610179565b909550935050602085013567ffffffffffffffff811115610215575f5ffd5b61022187828801610179565b95989497509550505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561026057634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215610276575f5ffd5b81356001600160a01b038116811461028c575f5ffd5b939250505056fea2646970667358221220bfee9113d4628767f3e4ea5baeb21f9c3bd88ea4c440d0a915dae090d37cd9a664736f6c634300081b0033",
31
+ "sourceMap": "81:836:23:-:0;;;;;;;;;;;;;;;;;;;",
32
+ "linkReferences": {}
33
+ },
34
+ "deployedBytecode": {
35
+ "object": "0x60806040526004361061001d575f3560e01c8063084ce70814610021575b5f5ffd5b61003461002f3660046101c1565b610036565b005b828114610056576040516366d5293b60e11b815260040160405180910390fd5b5f805b8281101561008f578383828181106100735761007361022d565b90506020020135826100859190610241565b9150600101610059565b508034146100b057604051632a9ffab760e21b815260040160405180910390fd5b5f5b84811015610171575f8686838181106100cd576100cd61022d565b90506020020160208101906100e29190610266565b6001600160a01b03168585848181106100fd576100fd61022d565b905060200201356040515f6040518083038185875af1925050503d805f8114610141576040519150601f19603f3d011682016040523d82523d5f602084013e610146565b606091505b505090508061016857604051630dcf35db60e41b815260040160405180910390fd5b506001016100b2565b505050505050565b5f5f83601f840112610189575f5ffd5b50813567ffffffffffffffff8111156101a0575f5ffd5b6020830191508360208260051b85010111156101ba575f5ffd5b9250929050565b5f5f5f5f604085870312156101d4575f5ffd5b843567ffffffffffffffff8111156101ea575f5ffd5b6101f687828801610179565b909550935050602085013567ffffffffffffffff811115610215575f5ffd5b61022187828801610179565b95989497509550505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561026057634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215610276575f5ffd5b81356001600160a01b038116811461028c575f5ffd5b939250505056fea2646970667358221220bfee9113d4628767f3e4ea5baeb21f9c3bd88ea4c440d0a915dae090d37cd9a664736f6c634300081b0033",
36
+ "sourceMap": "81:836:23:-:0;;;;;;;;;;;;;;;;;;;;;209:706;;;;;;:::i;:::-;;:::i;:::-;;;318:35;;;314:103;;376:30;;-1:-1:-1;;;376:30:23;;;;;;;;;;;314:103;492:13;;519:89;539:18;;;519:89;;;587:7;;595:1;587:10;;;;;;;:::i;:::-;;;;;;;578:19;;;;;:::i;:::-;;-1:-1:-1;559:3:23;;519:89;;;;634:5;621:9;:18;617:70;;662:14;;-1:-1:-1;;;662:14:23;;;;;;;;;;;617:70;702:9;697:212;717:21;;;697:212;;;760:9;774:10;;785:1;774:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;774:18:23;800:7;;808:1;800:10;;;;;;;:::i;:::-;;;;;;;774:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;759:56;;;834:4;829:70;;865:19;;-1:-1:-1;;;865:19:23;;;;;;;;;;;829:70;-1:-1:-1;740:3:23;;697:212;;;;304:611;209:706;;;;:::o;14:375:25:-;85:8;95:6;149:3;142:4;134:6;130:17;126:27;116:55;;167:1;164;157:12;116:55;-1:-1:-1;190:20:25;;233:18;222:30;;219:50;;;265:1;262;255:12;219:50;302:4;294:6;290:17;278:29;;362:3;355:4;345:6;342:1;338:14;330:6;326:27;322:38;319:47;316:67;;;379:1;376;369:12;316:67;14:375;;;;;:::o;394:792::-;524:6;532;540;548;601:2;589:9;580:7;576:23;572:32;569:52;;;617:1;614;607:12;569:52;657:9;644:23;690:18;682:6;679:30;676:50;;;722:1;719;712:12;676:50;761:78;831:7;822:6;811:9;807:22;761:78;:::i;:::-;858:8;;-1:-1:-1;735:104:25;-1:-1:-1;;946:2:25;931:18;;918:32;975:18;962:32;;959:52;;;1007:1;1004;997:12;959:52;1046:80;1118:7;1107:8;1096:9;1092:24;1046:80;:::i;:::-;394:792;;;;-1:-1:-1;1145:8:25;-1:-1:-1;;;;394:792:25:o;1191:127::-;1252:10;1247:3;1243:20;1240:1;1233:31;1283:4;1280:1;1273:15;1307:4;1304:1;1297:15;1323:222;1388:9;;;1409:10;;;1406:133;;;1461:10;1456:3;1452:20;1449:1;1442:31;1496:4;1493:1;1486:15;1524:4;1521:1;1514:15;1406:133;1323:222;;;;:::o;1550:294::-;1617:6;1670:2;1658:9;1649:7;1645:23;1641:32;1638:52;;;1686:1;1683;1676:12;1638:52;1712:23;;-1:-1:-1;;;;;1764:31:25;;1754:42;;1744:70;;1810:1;1807;1800:12;1744:70;1833:5;1550:294;-1:-1:-1;;;1550:294:25:o",
37
+ "linkReferences": {}
38
+ },
39
+ "methodIdentifiers": { "pay(address[],uint256[])": "084ce708" },
40
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedToSendEther\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RecipientsAndAmountsMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address payable[]\",\"name\":\"recipients\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"pay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/multi-payment/MultiPayment.sol\":\"MultiPayment\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@contracts/=src/\",\":@forge-std/=lib/forge-std/src/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"]},\"sources\":{\"src/multi-payment/MultiPayment.sol\":{\"keccak256\":\"0x804a5823ffdb1866bc5f42a0fe3688c8e153da92e279c7b79aa3d73472a1ce35\",\"license\":\"GNU GENERAL PUBLIC LICENSE\",\"urls\":[\"bzz-raw://43df2e2ee0c0a76dd4ee8bd6cc81d65c80fb1aaada5e925d129a91de434d2c52\",\"dweb:/ipfs/QmRj4GTC5R6QTcaBxmghrH3ABuDXXwvHpi4yYjd1e8VduW\"]}},\"version\":1}",
41
+ "metadata": {
42
+ "compiler": { "version": "0.8.27+commit.40a35a09" },
43
+ "language": "Solidity",
44
+ "output": {
45
+ "abi": [
46
+ { "inputs": [], "type": "error", "name": "FailedToSendEther" },
47
+ { "inputs": [], "type": "error", "name": "InvalidValue" },
48
+ {
49
+ "inputs": [],
50
+ "type": "error",
51
+ "name": "RecipientsAndAmountsMismatch"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address payable[]",
57
+ "name": "recipients",
58
+ "type": "address[]"
59
+ },
60
+ {
61
+ "internalType": "uint256[]",
62
+ "name": "amounts",
63
+ "type": "uint256[]"
64
+ }
65
+ ],
66
+ "stateMutability": "payable",
67
+ "type": "function",
68
+ "name": "pay"
69
+ }
70
+ ],
71
+ "devdoc": { "kind": "dev", "methods": {}, "version": 1 },
72
+ "userdoc": { "kind": "user", "methods": {}, "version": 1 }
73
+ },
74
+ "settings": {
75
+ "remappings": [
76
+ "@contracts/=src/",
77
+ "@forge-std/=lib/forge-std/src/",
78
+ "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
79
+ "@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/",
80
+ "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/",
81
+ "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
82
+ "forge-std/=lib/forge-std/src/",
83
+ "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
84
+ "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
85
+ "openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/",
86
+ "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/",
87
+ "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"
88
+ ],
89
+ "optimizer": { "enabled": true, "runs": 200 },
90
+ "metadata": { "bytecodeHash": "ipfs" },
91
+ "compilationTarget": {
92
+ "src/multi-payment/MultiPayment.sol": "MultiPayment"
93
+ },
94
+ "evmVersion": "shanghai",
95
+ "libraries": {}
96
+ },
97
+ "sources": {
98
+ "src/multi-payment/MultiPayment.sol": {
99
+ "keccak256": "0x804a5823ffdb1866bc5f42a0fe3688c8e153da92e279c7b79aa3d73472a1ce35",
100
+ "urls": [
101
+ "bzz-raw://43df2e2ee0c0a76dd4ee8bd6cc81d65c80fb1aaada5e925d129a91de434d2c52",
102
+ "dweb:/ipfs/QmRj4GTC5R6QTcaBxmghrH3ABuDXXwvHpi4yYjd1e8VduW"
103
+ ],
104
+ "license": "GNU GENERAL PUBLIC LICENSE"
105
+ }
106
+ },
107
+ "version": 1
108
+ },
109
+ "id": 23
110
110
  }