@stargatefinance/stg-evm-sdk-v2 0.0.11

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 (150) hide show
  1. package/artifacts/src/StargateBase.sol/StargateBase.json +1348 -0
  2. package/artifacts/src/StargateOFT.sol/StargateOFT.json +1374 -0
  3. package/artifacts/src/StargatePool.sol/StargatePool.json +1722 -0
  4. package/artifacts/src/StargatePoolNative.sol/StargatePoolNative.json +1717 -0
  5. package/artifacts/src/feelibs/FeeLibBase.sol/FeeLibBase.json +313 -0
  6. package/artifacts/src/feelibs/FeeLibV1.sol/FeeConfigLib.json +10 -0
  7. package/artifacts/src/feelibs/FeeLibV1.sol/FeeLibV1.json +561 -0
  8. package/artifacts/src/intent/IntentBase.sol/IntentBase.json +231 -0
  9. package/artifacts/src/intent/IntentOFT.sol/IntentOFT.json +247 -0
  10. package/artifacts/src/intent/IntentPool.sol/IntentPool.json +350 -0
  11. package/artifacts/src/intent/IntentPoolNative.sol/IWETH.json +24 -0
  12. package/artifacts/src/intent/IntentPoolNative.sol/IntentPoolNative.json +367 -0
  13. package/artifacts/src/interfaces/IBridgedUSDCMinter.sol/IBridgedUSDCMinter.json +48 -0
  14. package/artifacts/src/interfaces/ICreditMessaging.sol/ICreditMessaging.json +113 -0
  15. package/artifacts/src/interfaces/ICreditMessagingHandler.sol/ICreditMessagingHandler.json +71 -0
  16. package/artifacts/src/interfaces/IERC20Minter.sol/IERC20Minter.json +47 -0
  17. package/artifacts/src/interfaces/IStargate.sol/IStargate.json +661 -0
  18. package/artifacts/src/interfaces/IStargateFeeLib.sol/IStargateFeeLib.json +230 -0
  19. package/artifacts/src/interfaces/IStargatePool.sol/IStargatePool.json +939 -0
  20. package/artifacts/src/interfaces/ITokenMessaging.sol/ITokenMessaging.json +494 -0
  21. package/artifacts/src/interfaces/ITokenMessagingHandler.sol/ITokenMessagingHandler.json +78 -0
  22. package/artifacts/src/interfaces/permit2/IAllowanceTransfer.sol/IAllowanceTransfer.json +495 -0
  23. package/artifacts/src/interfaces/permit2/IEIP712.sol/IEIP712.json +24 -0
  24. package/artifacts/src/interfaces/permit2/IPermit2.sol/IPermit2.json +874 -0
  25. package/artifacts/src/interfaces/permit2/ISignatureTransfer.sol/ISignatureTransfer.json +403 -0
  26. package/artifacts/src/libs/AddressCast.sol/AddressCast.json +10 -0
  27. package/artifacts/src/libs/Bus.sol/BusLib.json +92 -0
  28. package/artifacts/src/libs/CreditMsgCodec.sol/CreditMsgCodec.json +16 -0
  29. package/artifacts/src/libs/MessagingHelper.sol/MessagingHelper.json +10 -0
  30. package/artifacts/src/libs/PassengerCodec.sol/PassengerCodec.json +16 -0
  31. package/artifacts/src/libs/Path.sol/PathLib.json +26 -0
  32. package/artifacts/src/libs/RideBusOptionsLibV1.sol/RideBusOptionsLibV1.json +16 -0
  33. package/artifacts/src/libs/TokenMsgCodec.sol/TokenMsgCodec.json +16 -0
  34. package/artifacts/src/libs/Transfer.sol/Transfer.json +21 -0
  35. package/artifacts/src/libs/Transfer.sol/TransferLib.json +21 -0
  36. package/artifacts/src/messaging/CreditMessaging.sol/CreditMessaging.json +1033 -0
  37. package/artifacts/src/messaging/CreditMessagingOptions.sol/CreditMessagingOptions.json +229 -0
  38. package/artifacts/src/messaging/MessagingBase.sol/MessagingBase.json +701 -0
  39. package/artifacts/src/messaging/TokenMessaging.sol/TokenMessaging.json +1692 -0
  40. package/artifacts/src/messaging/TokenMessagingOptions.sol/TokenMessagingOptions.json +239 -0
  41. package/artifacts/src/mocks/ERC20Token.sol/ERC20Token.json +335 -0
  42. package/artifacts/src/mocks/FeeLibMock.sol/FeeLibMock.json +230 -0
  43. package/artifacts/src/mocks/OFTToken.sol/OFTToken.json +380 -0
  44. package/artifacts/src/mocks/PoolToken.sol/PoolToken.json +406 -0
  45. package/artifacts/src/mocks/USDC.sol/USDC.json +381 -0
  46. package/artifacts/src/mocks/WETH.sol/WETH.json +310 -0
  47. package/artifacts/src/peripheral/Planner.sol/Planner.json +212 -0
  48. package/artifacts/src/peripheral/RebateCampaign.sol/RebateCampaign.json +237 -0
  49. package/artifacts/src/peripheral/Treasurer.sol/Treasurer.json +194 -0
  50. package/artifacts/src/usdc/StargateOFTUSDC.sol/StargateOFTUSDC.json +1374 -0
  51. package/artifacts/src/usdc/StargatePoolUSDC.sol/StargatePoolUSDC.json +1748 -0
  52. package/artifacts/src/utils/LPToken.sol/LPToken.json +496 -0
  53. package/deployments/arbsep-testnet/FeeLibV1ETH.json +466 -0
  54. package/deployments/arbsep-testnet/MessagingETH.json +1356 -0
  55. package/deployments/arbsep-testnet/StargatePoolNative.json +1933 -0
  56. package/deployments/avalanche-testnet/FeeLibV1USDT.json +466 -0
  57. package/deployments/avalanche-testnet/MessagingUSDT.json +1356 -0
  58. package/deployments/avalanche-testnet/StargatePoolUSDT.json +1939 -0
  59. package/deployments/bsc-sandbox-local/CreditMessaging.json +1393 -0
  60. package/deployments/bsc-sandbox-local/FeeLibV1BUSD.json +828 -0
  61. package/deployments/bsc-sandbox-local/FeeLibV1ETH.json +828 -0
  62. package/deployments/bsc-sandbox-local/FeeLibV1LUSD.json +828 -0
  63. package/deployments/bsc-sandbox-local/FeeLibV1USDC.json +828 -0
  64. package/deployments/bsc-sandbox-local/FeeLibV1USDT.json +828 -0
  65. package/deployments/bsc-sandbox-local/IntentOFTBUSD.json +337 -0
  66. package/deployments/bsc-sandbox-local/IntentOFTETH.json +337 -0
  67. package/deployments/bsc-sandbox-local/IntentOFTLUSD.json +337 -0
  68. package/deployments/bsc-sandbox-local/IntentOFTUSDC.json +337 -0
  69. package/deployments/bsc-sandbox-local/IntentOFTUSDT.json +337 -0
  70. package/deployments/bsc-sandbox-local/OFTTokenBUSD.json +571 -0
  71. package/deployments/bsc-sandbox-local/OFTTokenETH.json +571 -0
  72. package/deployments/bsc-sandbox-local/OFTTokenLUSD.json +571 -0
  73. package/deployments/bsc-sandbox-local/OFTTokenUSDC.json +558 -0
  74. package/deployments/bsc-sandbox-local/OFTTokenUSDT.json +571 -0
  75. package/deployments/bsc-sandbox-local/Permit2Mock.json +923 -0
  76. package/deployments/bsc-sandbox-local/StargateOFTBUSD.json +1803 -0
  77. package/deployments/bsc-sandbox-local/StargateOFTETH.json +1803 -0
  78. package/deployments/bsc-sandbox-local/StargateOFTLUSD.json +1803 -0
  79. package/deployments/bsc-sandbox-local/StargateOFTUSDC.json +1792 -0
  80. package/deployments/bsc-sandbox-local/StargateOFTUSDT.json +1803 -0
  81. package/deployments/bsc-sandbox-local/TokenMessaging.json +2166 -0
  82. package/deployments/bsc-sandbox-local/WETH.json +453 -0
  83. package/deployments/bsc-testnet/FeeLibV1ETH.json +466 -0
  84. package/deployments/bsc-testnet/FeeLibV1USDT.json +466 -0
  85. package/deployments/bsc-testnet/MessagingETH.json +1356 -0
  86. package/deployments/bsc-testnet/MessagingUSDT.json +1356 -0
  87. package/deployments/bsc-testnet/OFTTokenETH.json +557 -0
  88. package/deployments/bsc-testnet/StargateOFTETH.json +1601 -0
  89. package/deployments/bsc-testnet/StargatePoolUSDT.json +1939 -0
  90. package/deployments/ethereum-sandbox-local/CreditMessaging.json +1393 -0
  91. package/deployments/ethereum-sandbox-local/FeeLibV1BUSD.json +828 -0
  92. package/deployments/ethereum-sandbox-local/FeeLibV1ETH.json +828 -0
  93. package/deployments/ethereum-sandbox-local/FeeLibV1LUSD.json +828 -0
  94. package/deployments/ethereum-sandbox-local/FeeLibV1USDC.json +828 -0
  95. package/deployments/ethereum-sandbox-local/FeeLibV1USDT.json +828 -0
  96. package/deployments/ethereum-sandbox-local/IntentOFTBUSD.json +337 -0
  97. package/deployments/ethereum-sandbox-local/IntentPoolLUSD.json +440 -0
  98. package/deployments/ethereum-sandbox-local/IntentPoolNative.json +444 -0
  99. package/deployments/ethereum-sandbox-local/IntentPoolUSDC.json +440 -0
  100. package/deployments/ethereum-sandbox-local/IntentPoolUSDT.json +440 -0
  101. package/deployments/ethereum-sandbox-local/OFTTokenBUSD.json +571 -0
  102. package/deployments/ethereum-sandbox-local/Permit2Mock.json +923 -0
  103. package/deployments/ethereum-sandbox-local/PoolTokenLUSD.json +597 -0
  104. package/deployments/ethereum-sandbox-local/PoolTokenUSDC.json +597 -0
  105. package/deployments/ethereum-sandbox-local/PoolTokenUSDT.json +597 -0
  106. package/deployments/ethereum-sandbox-local/StargateOFTBUSD.json +1803 -0
  107. package/deployments/ethereum-sandbox-local/StargatePoolLUSD.json +2239 -0
  108. package/deployments/ethereum-sandbox-local/StargatePoolNative.json +2233 -0
  109. package/deployments/ethereum-sandbox-local/StargatePoolUSDC.json +2257 -0
  110. package/deployments/ethereum-sandbox-local/StargatePoolUSDT.json +2239 -0
  111. package/deployments/ethereum-sandbox-local/TokenMessaging.json +2166 -0
  112. package/deployments/ethereum-sandbox-local/WETH.json +453 -0
  113. package/deployments/polygon-sandbox-local/CreditMessaging.json +1393 -0
  114. package/deployments/polygon-sandbox-local/FeeLibV1BUSD.json +828 -0
  115. package/deployments/polygon-sandbox-local/FeeLibV1ETH.json +828 -0
  116. package/deployments/polygon-sandbox-local/FeeLibV1LUSD.json +828 -0
  117. package/deployments/polygon-sandbox-local/FeeLibV1USDC.json +828 -0
  118. package/deployments/polygon-sandbox-local/FeeLibV1USDT.json +828 -0
  119. package/deployments/polygon-sandbox-local/IntentOFTBUSD.json +337 -0
  120. package/deployments/polygon-sandbox-local/IntentOFTETH.json +337 -0
  121. package/deployments/polygon-sandbox-local/IntentOFTLUSD.json +337 -0
  122. package/deployments/polygon-sandbox-local/IntentOFTUSDC.json +337 -0
  123. package/deployments/polygon-sandbox-local/IntentPoolUSDT.json +440 -0
  124. package/deployments/polygon-sandbox-local/OFTTokenBUSD.json +571 -0
  125. package/deployments/polygon-sandbox-local/OFTTokenETH.json +571 -0
  126. package/deployments/polygon-sandbox-local/OFTTokenLUSD.json +571 -0
  127. package/deployments/polygon-sandbox-local/OFTTokenUSDC.json +558 -0
  128. package/deployments/polygon-sandbox-local/Permit2Mock.json +923 -0
  129. package/deployments/polygon-sandbox-local/PoolTokenUSDT.json +597 -0
  130. package/deployments/polygon-sandbox-local/StargateOFTBUSD.json +1803 -0
  131. package/deployments/polygon-sandbox-local/StargateOFTETH.json +1803 -0
  132. package/deployments/polygon-sandbox-local/StargateOFTLUSD.json +1803 -0
  133. package/deployments/polygon-sandbox-local/StargateOFTUSDC.json +1792 -0
  134. package/deployments/polygon-sandbox-local/StargatePoolUSDT.json +2239 -0
  135. package/deployments/polygon-sandbox-local/TokenMessaging.json +2166 -0
  136. package/deployments/polygon-sandbox-local/WETH.json +453 -0
  137. package/deployments/polygon-testnet/FeeLibV1USDT.json +481 -0
  138. package/deployments/polygon-testnet/MessagingUSDT.json +1371 -0
  139. package/deployments/polygon-testnet/OFTTokenUSDT.json +572 -0
  140. package/deployments/polygon-testnet/StargateOFTUSDT.json +1616 -0
  141. package/deployments/sepolia-testnet/FeeLibV1ETH.json +466 -0
  142. package/deployments/sepolia-testnet/MessagingETH.json +1356 -0
  143. package/deployments/sepolia-testnet/StargatePoolNative.json +1933 -0
  144. package/dist/index.cjs +24634 -0
  145. package/dist/index.cjs.map +1 -0
  146. package/dist/index.d.mts +31486 -0
  147. package/dist/index.d.ts +31486 -0
  148. package/dist/index.mjs +24558 -0
  149. package/dist/index.mjs.map +1 -0
  150. package/package.json +42 -0
@@ -0,0 +1,239 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TokenMessagingOptions",
4
+ "sourceName": "src/messaging/TokenMessagingOptions.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "options",
11
+ "type": "bytes"
12
+ }
13
+ ],
14
+ "name": "InvalidOptions",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "MessagingOptions_ZeroGasLimit",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "components": [
27
+ {
28
+ "internalType": "uint32",
29
+ "name": "eid",
30
+ "type": "uint32"
31
+ },
32
+ {
33
+ "internalType": "uint16",
34
+ "name": "msgType",
35
+ "type": "uint16"
36
+ },
37
+ {
38
+ "internalType": "bytes",
39
+ "name": "options",
40
+ "type": "bytes"
41
+ }
42
+ ],
43
+ "indexed": false,
44
+ "internalType": "struct EnforcedOptionParam[]",
45
+ "name": "_enforcedOptions",
46
+ "type": "tuple[]"
47
+ }
48
+ ],
49
+ "name": "EnforcedOptionSet",
50
+ "type": "event"
51
+ },
52
+ {
53
+ "anonymous": false,
54
+ "inputs": [
55
+ {
56
+ "indexed": true,
57
+ "internalType": "address",
58
+ "name": "previousOwner",
59
+ "type": "address"
60
+ },
61
+ {
62
+ "indexed": true,
63
+ "internalType": "address",
64
+ "name": "newOwner",
65
+ "type": "address"
66
+ }
67
+ ],
68
+ "name": "OwnershipTransferred",
69
+ "type": "event"
70
+ },
71
+ {
72
+ "inputs": [
73
+ {
74
+ "internalType": "uint32",
75
+ "name": "_eid",
76
+ "type": "uint32"
77
+ },
78
+ {
79
+ "internalType": "uint16",
80
+ "name": "_msgType",
81
+ "type": "uint16"
82
+ },
83
+ {
84
+ "internalType": "bytes",
85
+ "name": "_extraOptions",
86
+ "type": "bytes"
87
+ }
88
+ ],
89
+ "name": "combineOptions",
90
+ "outputs": [
91
+ {
92
+ "internalType": "bytes",
93
+ "name": "",
94
+ "type": "bytes"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "uint32",
104
+ "name": "eid",
105
+ "type": "uint32"
106
+ },
107
+ {
108
+ "internalType": "uint16",
109
+ "name": "msgType",
110
+ "type": "uint16"
111
+ }
112
+ ],
113
+ "name": "enforcedOptions",
114
+ "outputs": [
115
+ {
116
+ "internalType": "bytes",
117
+ "name": "enforcedOption",
118
+ "type": "bytes"
119
+ }
120
+ ],
121
+ "stateMutability": "view",
122
+ "type": "function"
123
+ },
124
+ {
125
+ "inputs": [
126
+ {
127
+ "internalType": "uint32",
128
+ "name": "eid",
129
+ "type": "uint32"
130
+ },
131
+ {
132
+ "internalType": "uint16",
133
+ "name": "assetId",
134
+ "type": "uint16"
135
+ }
136
+ ],
137
+ "name": "gasLimits",
138
+ "outputs": [
139
+ {
140
+ "internalType": "uint128",
141
+ "name": "gas",
142
+ "type": "uint128"
143
+ }
144
+ ],
145
+ "stateMutability": "view",
146
+ "type": "function"
147
+ },
148
+ {
149
+ "inputs": [],
150
+ "name": "owner",
151
+ "outputs": [
152
+ {
153
+ "internalType": "address",
154
+ "name": "",
155
+ "type": "address"
156
+ }
157
+ ],
158
+ "stateMutability": "view",
159
+ "type": "function"
160
+ },
161
+ {
162
+ "inputs": [],
163
+ "name": "renounceOwnership",
164
+ "outputs": [],
165
+ "stateMutability": "nonpayable",
166
+ "type": "function"
167
+ },
168
+ {
169
+ "inputs": [
170
+ {
171
+ "components": [
172
+ {
173
+ "internalType": "uint32",
174
+ "name": "eid",
175
+ "type": "uint32"
176
+ },
177
+ {
178
+ "internalType": "uint16",
179
+ "name": "msgType",
180
+ "type": "uint16"
181
+ },
182
+ {
183
+ "internalType": "bytes",
184
+ "name": "options",
185
+ "type": "bytes"
186
+ }
187
+ ],
188
+ "internalType": "struct EnforcedOptionParam[]",
189
+ "name": "_enforcedOptions",
190
+ "type": "tuple[]"
191
+ }
192
+ ],
193
+ "name": "setEnforcedOptions",
194
+ "outputs": [],
195
+ "stateMutability": "nonpayable",
196
+ "type": "function"
197
+ },
198
+ {
199
+ "inputs": [
200
+ {
201
+ "internalType": "uint32",
202
+ "name": "_eid",
203
+ "type": "uint32"
204
+ },
205
+ {
206
+ "internalType": "uint16",
207
+ "name": "_assetId",
208
+ "type": "uint16"
209
+ },
210
+ {
211
+ "internalType": "uint128",
212
+ "name": "_gas",
213
+ "type": "uint128"
214
+ }
215
+ ],
216
+ "name": "setGasLimit",
217
+ "outputs": [],
218
+ "stateMutability": "nonpayable",
219
+ "type": "function"
220
+ },
221
+ {
222
+ "inputs": [
223
+ {
224
+ "internalType": "address",
225
+ "name": "newOwner",
226
+ "type": "address"
227
+ }
228
+ ],
229
+ "name": "transferOwnership",
230
+ "outputs": [],
231
+ "stateMutability": "nonpayable",
232
+ "type": "function"
233
+ }
234
+ ],
235
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610f9a8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b14610193578063b98bd070146101bb578063bc70b354146101ce578063f2fde38b146101e157600080fd5b80631ab15f041461008d5780635535d461146101045780635e1d66cd1461012d578063715018a61461018b575b600080fd5b61010261009b3660046107ef565b63ffffffff909216600090815260026020908152604080832061ffff90941683529290522080546fffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091179055565b005b61011761011236600461084b565b6101f4565b60405161012491906108a2565b60405180910390f35b61016a61013b36600461084b565b60026020908152600092835260408084209091529082529020546fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff9091168152602001610124565b610102610299565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6101026101c93660046108f3565b6102ad565b6101176101dc366004610968565b61041a565b6101026101ef3660046109f6565b6105b7565b60016020908152600092835260408084209091529082529020805461021890610a33565b80601f016020809104026020016040519081016040528092919081815260200182805461024490610a33565b80156102915780601f1061026657610100808354040283529160200191610291565b820191906000526020600020905b81548152906001019060200180831161027457829003601f168201915b505050505081565b6102a161066e565b6102ab60006106ef565b565b6102b561066e565b60005b818110156103dc576102fa8383838181106102d5576102d5610a86565b90506020028101906102e79190610ab5565b6102f5906040810190610af3565b610764565b82828281811061030c5761030c610a86565b905060200281019061031e9190610ab5565b61032c906040810190610af3565b6001600086868681811061034257610342610a86565b90506020028101906103549190610ab5565b610362906020810190610b5f565b63ffffffff1663ffffffff168152602001908152602001600020600086868681811061039057610390610a86565b90506020028101906103a29190610ab5565b6103b3906040810190602001610b7a565b61ffff1681526020810191909152604001600020916103d3919083610c14565b506001016102b8565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674828260405161040e929190610d78565b60405180910390a15050565b63ffffffff8416600090815260016020908152604080832061ffff8716845290915281208054606092919061044e90610a33565b80601f016020809104026020016040519081016040528092919081815260200182805461047a90610a33565b80156104c75780601f1061049c576101008083540402835291602001916104c7565b820191906000526020600020905b8154815290600101906020018083116104aa57829003601f168201915b5050505050905080516000036105175783838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506105af9350505050565b60008390036105275790506105af565b60028310610570576105398484610764565b806105478460028188610eb6565b60405160200161055993929190610ee0565b6040516020818303038152906040529150506105af565b83836040517f9a6d49cd0000000000000000000000000000000000000000000000000000000081526004016105a6929190610f08565b60405180910390fd5b949350505050565b6105bf61066e565b73ffffffffffffffffffffffffffffffffffffffff8116610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105a6565b61066b816106ef565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006107736002828486610eb6565b61077c91610f1c565b60f01c9050600381146107bf5782826040517f9a6d49cd0000000000000000000000000000000000000000000000000000000081526004016105a6929190610f08565b505050565b803563ffffffff811681146107d857600080fd5b919050565b803561ffff811681146107d857600080fd5b60008060006060848603121561080457600080fd5b61080d846107c4565b925061081b602085016107dd565b915060408401356fffffffffffffffffffffffffffffffff8116811461084057600080fd5b809150509250925092565b6000806040838503121561085e57600080fd5b610867836107c4565b9150610875602084016107dd565b90509250929050565b60005b83811015610899578181015183820152602001610881565b50506000910152565b60208152600082518060208401526108c181604085016020870161087e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806020838503121561090657600080fd5b823567ffffffffffffffff8082111561091e57600080fd5b818501915085601f83011261093257600080fd5b81358181111561094157600080fd5b8660208260051b850101111561095657600080fd5b60209290920196919550909350505050565b6000806000806060858703121561097e57600080fd5b610987856107c4565b9350610995602086016107dd565b9250604085013567ffffffffffffffff808211156109b257600080fd5b818701915087601f8301126109c657600080fd5b8135818111156109d557600080fd5b8860208285010111156109e757600080fd5b95989497505060200194505050565b600060208284031215610a0857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610a2c57600080fd5b9392505050565b600181811c90821680610a4757607f821691505b602082108103610a80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ae957600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610b2857600080fd5b83018035915067ffffffffffffffff821115610b4357600080fd5b602001915036819003821315610b5857600080fd5b9250929050565b600060208284031215610b7157600080fd5b610a2c826107c4565b600060208284031215610b8c57600080fd5b610a2c826107dd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156107bf576000816000526020600020601f850160051c81016020861015610bed5750805b601f850160051c820191505b81811015610c0c57828155600101610bf9565b505050505050565b67ffffffffffffffff831115610c2c57610c2c610b95565b610c4083610c3a8354610a33565b83610bc4565b6000601f841160018114610c925760008515610c5c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610d28565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610ce15786850135825560209485019460019092019101610cc1565b5086821015610d1c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528181018390526000906040808401600586901b8501820187855b88811015610ea8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18b3603018112610df857600080fd5b8a01606063ffffffff610e0a836107c4565b16855261ffff610e1b8984016107dd565b1688860152868201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018112610e5457600080fd5b90910187810191903567ffffffffffffffff811115610e7257600080fd5b803603831315610e8157600080fd5b8188870152610e938287018285610d2f565b96890196955050509186019150600101610d97565b509098975050505050505050565b60008085851115610ec657600080fd5b83861115610ed357600080fd5b5050820193919092039150565b60008451610ef281846020890161087e565b8201838582376000930192835250909392505050565b6020815260006105af602083018486610d2f565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015610f5c5780818660020360031b1b83161692505b50509291505056fea2646970667358221220e0dae0634dd4b6428b3909098b7cc1f11a3a8b6e03b41660f8fee5f94937abb364736f6c63430008160033",
236
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b14610193578063b98bd070146101bb578063bc70b354146101ce578063f2fde38b146101e157600080fd5b80631ab15f041461008d5780635535d461146101045780635e1d66cd1461012d578063715018a61461018b575b600080fd5b61010261009b3660046107ef565b63ffffffff909216600090815260026020908152604080832061ffff90941683529290522080546fffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091179055565b005b61011761011236600461084b565b6101f4565b60405161012491906108a2565b60405180910390f35b61016a61013b36600461084b565b60026020908152600092835260408084209091529082529020546fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff9091168152602001610124565b610102610299565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b6101026101c93660046108f3565b6102ad565b6101176101dc366004610968565b61041a565b6101026101ef3660046109f6565b6105b7565b60016020908152600092835260408084209091529082529020805461021890610a33565b80601f016020809104026020016040519081016040528092919081815260200182805461024490610a33565b80156102915780601f1061026657610100808354040283529160200191610291565b820191906000526020600020905b81548152906001019060200180831161027457829003601f168201915b505050505081565b6102a161066e565b6102ab60006106ef565b565b6102b561066e565b60005b818110156103dc576102fa8383838181106102d5576102d5610a86565b90506020028101906102e79190610ab5565b6102f5906040810190610af3565b610764565b82828281811061030c5761030c610a86565b905060200281019061031e9190610ab5565b61032c906040810190610af3565b6001600086868681811061034257610342610a86565b90506020028101906103549190610ab5565b610362906020810190610b5f565b63ffffffff1663ffffffff168152602001908152602001600020600086868681811061039057610390610a86565b90506020028101906103a29190610ab5565b6103b3906040810190602001610b7a565b61ffff1681526020810191909152604001600020916103d3919083610c14565b506001016102b8565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674828260405161040e929190610d78565b60405180910390a15050565b63ffffffff8416600090815260016020908152604080832061ffff8716845290915281208054606092919061044e90610a33565b80601f016020809104026020016040519081016040528092919081815260200182805461047a90610a33565b80156104c75780601f1061049c576101008083540402835291602001916104c7565b820191906000526020600020905b8154815290600101906020018083116104aa57829003601f168201915b5050505050905080516000036105175783838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506105af9350505050565b60008390036105275790506105af565b60028310610570576105398484610764565b806105478460028188610eb6565b60405160200161055993929190610ee0565b6040516020818303038152906040529150506105af565b83836040517f9a6d49cd0000000000000000000000000000000000000000000000000000000081526004016105a6929190610f08565b60405180910390fd5b949350505050565b6105bf61066e565b73ffffffffffffffffffffffffffffffffffffffff8116610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105a6565b61066b816106ef565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a6565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006107736002828486610eb6565b61077c91610f1c565b60f01c9050600381146107bf5782826040517f9a6d49cd0000000000000000000000000000000000000000000000000000000081526004016105a6929190610f08565b505050565b803563ffffffff811681146107d857600080fd5b919050565b803561ffff811681146107d857600080fd5b60008060006060848603121561080457600080fd5b61080d846107c4565b925061081b602085016107dd565b915060408401356fffffffffffffffffffffffffffffffff8116811461084057600080fd5b809150509250925092565b6000806040838503121561085e57600080fd5b610867836107c4565b9150610875602084016107dd565b90509250929050565b60005b83811015610899578181015183820152602001610881565b50506000910152565b60208152600082518060208401526108c181604085016020870161087e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806020838503121561090657600080fd5b823567ffffffffffffffff8082111561091e57600080fd5b818501915085601f83011261093257600080fd5b81358181111561094157600080fd5b8660208260051b850101111561095657600080fd5b60209290920196919550909350505050565b6000806000806060858703121561097e57600080fd5b610987856107c4565b9350610995602086016107dd565b9250604085013567ffffffffffffffff808211156109b257600080fd5b818701915087601f8301126109c657600080fd5b8135818111156109d557600080fd5b8860208285010111156109e757600080fd5b95989497505060200194505050565b600060208284031215610a0857600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610a2c57600080fd5b9392505050565b600181811c90821680610a4757607f821691505b602082108103610a80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ae957600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610b2857600080fd5b83018035915067ffffffffffffffff821115610b4357600080fd5b602001915036819003821315610b5857600080fd5b9250929050565b600060208284031215610b7157600080fd5b610a2c826107c4565b600060208284031215610b8c57600080fd5b610a2c826107dd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156107bf576000816000526020600020601f850160051c81016020861015610bed5750805b601f850160051c820191505b81811015610c0c57828155600101610bf9565b505050505050565b67ffffffffffffffff831115610c2c57610c2c610b95565b610c4083610c3a8354610a33565b83610bc4565b6000601f841160018114610c925760008515610c5c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610d28565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610ce15786850135825560209485019460019092019101610cc1565b5086821015610d1c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528181018390526000906040808401600586901b8501820187855b88811015610ea8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18b3603018112610df857600080fd5b8a01606063ffffffff610e0a836107c4565b16855261ffff610e1b8984016107dd565b1688860152868201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018112610e5457600080fd5b90910187810191903567ffffffffffffffff811115610e7257600080fd5b803603831315610e8157600080fd5b8188870152610e938287018285610d2f565b96890196955050509186019150600101610d97565b509098975050505050505050565b60008085851115610ec657600080fd5b83861115610ed357600080fd5b5050820193919092039150565b60008451610ef281846020890161087e565b8201838582376000930192835250909392505050565b6020815260006105af602083018486610d2f565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015610f5c5780818660020360031b1b83161692505b50509291505056fea2646970667358221220e0dae0634dd4b6428b3909098b7cc1f11a3a8b6e03b41660f8fee5f94937abb364736f6c63430008160033",
237
+ "linkReferences": {},
238
+ "deployedLinkReferences": {}
239
+ }
@@ -0,0 +1,335 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC20Token",
4
+ "sourceName": "src/mocks/ERC20Token.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": true,
16
+ "internalType": "address",
17
+ "name": "owner",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": true,
22
+ "internalType": "address",
23
+ "name": "spender",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": false,
28
+ "internalType": "uint256",
29
+ "name": "value",
30
+ "type": "uint256"
31
+ }
32
+ ],
33
+ "name": "Approval",
34
+ "type": "event"
35
+ },
36
+ {
37
+ "anonymous": false,
38
+ "inputs": [
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "from",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "address",
48
+ "name": "to",
49
+ "type": "address"
50
+ },
51
+ {
52
+ "indexed": false,
53
+ "internalType": "uint256",
54
+ "name": "value",
55
+ "type": "uint256"
56
+ }
57
+ ],
58
+ "name": "Transfer",
59
+ "type": "event"
60
+ },
61
+ {
62
+ "inputs": [
63
+ {
64
+ "internalType": "address",
65
+ "name": "owner",
66
+ "type": "address"
67
+ },
68
+ {
69
+ "internalType": "address",
70
+ "name": "spender",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "name": "allowance",
75
+ "outputs": [
76
+ {
77
+ "internalType": "uint256",
78
+ "name": "",
79
+ "type": "uint256"
80
+ }
81
+ ],
82
+ "stateMutability": "view",
83
+ "type": "function"
84
+ },
85
+ {
86
+ "inputs": [
87
+ {
88
+ "internalType": "address",
89
+ "name": "spender",
90
+ "type": "address"
91
+ },
92
+ {
93
+ "internalType": "uint256",
94
+ "name": "amount",
95
+ "type": "uint256"
96
+ }
97
+ ],
98
+ "name": "approve",
99
+ "outputs": [
100
+ {
101
+ "internalType": "bool",
102
+ "name": "",
103
+ "type": "bool"
104
+ }
105
+ ],
106
+ "stateMutability": "nonpayable",
107
+ "type": "function"
108
+ },
109
+ {
110
+ "inputs": [
111
+ {
112
+ "internalType": "address",
113
+ "name": "account",
114
+ "type": "address"
115
+ }
116
+ ],
117
+ "name": "balanceOf",
118
+ "outputs": [
119
+ {
120
+ "internalType": "uint256",
121
+ "name": "",
122
+ "type": "uint256"
123
+ }
124
+ ],
125
+ "stateMutability": "view",
126
+ "type": "function"
127
+ },
128
+ {
129
+ "inputs": [
130
+ {
131
+ "internalType": "uint256",
132
+ "name": "amount",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "name": "burn",
137
+ "outputs": [],
138
+ "stateMutability": "nonpayable",
139
+ "type": "function"
140
+ },
141
+ {
142
+ "inputs": [
143
+ {
144
+ "internalType": "address",
145
+ "name": "account",
146
+ "type": "address"
147
+ },
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "amount",
151
+ "type": "uint256"
152
+ }
153
+ ],
154
+ "name": "burnFrom",
155
+ "outputs": [],
156
+ "stateMutability": "nonpayable",
157
+ "type": "function"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "decimals",
162
+ "outputs": [
163
+ {
164
+ "internalType": "uint8",
165
+ "name": "",
166
+ "type": "uint8"
167
+ }
168
+ ],
169
+ "stateMutability": "view",
170
+ "type": "function"
171
+ },
172
+ {
173
+ "inputs": [
174
+ {
175
+ "internalType": "address",
176
+ "name": "spender",
177
+ "type": "address"
178
+ },
179
+ {
180
+ "internalType": "uint256",
181
+ "name": "subtractedValue",
182
+ "type": "uint256"
183
+ }
184
+ ],
185
+ "name": "decreaseAllowance",
186
+ "outputs": [
187
+ {
188
+ "internalType": "bool",
189
+ "name": "",
190
+ "type": "bool"
191
+ }
192
+ ],
193
+ "stateMutability": "nonpayable",
194
+ "type": "function"
195
+ },
196
+ {
197
+ "inputs": [
198
+ {
199
+ "internalType": "address",
200
+ "name": "spender",
201
+ "type": "address"
202
+ },
203
+ {
204
+ "internalType": "uint256",
205
+ "name": "addedValue",
206
+ "type": "uint256"
207
+ }
208
+ ],
209
+ "name": "increaseAllowance",
210
+ "outputs": [
211
+ {
212
+ "internalType": "bool",
213
+ "name": "",
214
+ "type": "bool"
215
+ }
216
+ ],
217
+ "stateMutability": "nonpayable",
218
+ "type": "function"
219
+ },
220
+ {
221
+ "inputs": [
222
+ {
223
+ "internalType": "address",
224
+ "name": "to",
225
+ "type": "address"
226
+ },
227
+ {
228
+ "internalType": "uint256",
229
+ "name": "amount",
230
+ "type": "uint256"
231
+ }
232
+ ],
233
+ "name": "mint",
234
+ "outputs": [],
235
+ "stateMutability": "nonpayable",
236
+ "type": "function"
237
+ },
238
+ {
239
+ "inputs": [],
240
+ "name": "name",
241
+ "outputs": [
242
+ {
243
+ "internalType": "string",
244
+ "name": "",
245
+ "type": "string"
246
+ }
247
+ ],
248
+ "stateMutability": "view",
249
+ "type": "function"
250
+ },
251
+ {
252
+ "inputs": [],
253
+ "name": "symbol",
254
+ "outputs": [
255
+ {
256
+ "internalType": "string",
257
+ "name": "",
258
+ "type": "string"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [],
266
+ "name": "totalSupply",
267
+ "outputs": [
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "view",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "to",
282
+ "type": "address"
283
+ },
284
+ {
285
+ "internalType": "uint256",
286
+ "name": "amount",
287
+ "type": "uint256"
288
+ }
289
+ ],
290
+ "name": "transfer",
291
+ "outputs": [
292
+ {
293
+ "internalType": "bool",
294
+ "name": "",
295
+ "type": "bool"
296
+ }
297
+ ],
298
+ "stateMutability": "nonpayable",
299
+ "type": "function"
300
+ },
301
+ {
302
+ "inputs": [
303
+ {
304
+ "internalType": "address",
305
+ "name": "from",
306
+ "type": "address"
307
+ },
308
+ {
309
+ "internalType": "address",
310
+ "name": "to",
311
+ "type": "address"
312
+ },
313
+ {
314
+ "internalType": "uint256",
315
+ "name": "amount",
316
+ "type": "uint256"
317
+ }
318
+ ],
319
+ "name": "transferFrom",
320
+ "outputs": [
321
+ {
322
+ "internalType": "bool",
323
+ "name": "",
324
+ "type": "bool"
325
+ }
326
+ ],
327
+ "stateMutability": "nonpayable",
328
+ "type": "function"
329
+ }
330
+ ],
331
+ "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600f81526020016e4552433230546f6b656e204d6f636b60881b815250604051806040016040528060048152602001634d4f434b60e01b81525081600390816200006891906200020d565b5060046200007782826200020d565b505050620000963369021e19e0c9bab24000006200009c60201b60201c565b62000301565b6001600160a01b038216620000f75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200010b9190620002d9565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200019257607f821691505b602082108103620001b357634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000162576000816000526020600020601f850160051c81016020861015620001e45750805b601f850160051c820191505b818110156200020557828155600101620001f0565b505050505050565b81516001600160401b0381111562000229576200022962000167565b62000241816200023a84546200017d565b84620001b9565b602080601f831160018114620002795760008415620002605750858301515b600019600386901b1c1916600185901b17855562000205565b600085815260208120601f198616915b82811015620002aa5788860151825594840194600190910190840162000289565b5085821015620002c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620002fb57634e487b7160e01b600052601160045260246000fd5b92915050565b610e7180620003116000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b41146101e8578063a457c2d7146101f0578063a9059cbb14610203578063dd62ed3e1461021657600080fd5b806342966c681461018c57806370a082311461019f57806379cc6790146101d557600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce56714610155578063395093511461016457806340c10f191461017757600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f761025c565b6040516101049190610c44565b60405180910390f35b61012061011b366004610cda565b6102ee565b6040519015158152602001610104565b6002545b604051908152602001610104565b610120610150366004610d04565b610308565b60405160128152602001610104565b610120610172366004610cda565b61032c565b61018a610185366004610cda565b610378565b005b61018a61019a366004610d40565b610386565b6101346101ad366004610d59565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61018a6101e3366004610cda565b610393565b6100f76103a8565b6101206101fe366004610cda565b6103b7565b610120610211366004610cda565b61048d565b610134610224366004610d7b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461026b90610dae565b80601f016020809104026020016040519081016040528092919081815260200182805461029790610dae565b80156102e45780601f106102b9576101008083540402835291602001916102e4565b820191906000526020600020905b8154815290600101906020018083116102c757829003601f168201915b5050505050905090565b6000336102fc81858561049b565b60019150505b92915050565b60003361031685828561064f565b610321858585610726565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102fc9082908690610373908790610e01565b61049b565b6103828282610995565b5050565b6103903382610a88565b50565b61039e82338361064f565b6103828282610a88565b60606004805461026b90610dae565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610321828686840361049b565b6000336102fc818585610726565b73ffffffffffffffffffffffffffffffffffffffff831661053d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff82166105e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107205781811015610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610477565b610720848484840361049b565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166107c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff821661086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610720565b73ffffffffffffffffffffffffffffffffffffffff8216610a12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610477565b8060026000828254610a249190610e01565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610b2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610be1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610642565b60006020808352835180602085015260005b81811015610c7257858101830151858201604001528201610c56565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610cd557600080fd5b919050565b60008060408385031215610ced57600080fd5b610cf683610cb1565b946020939093013593505050565b600080600060608486031215610d1957600080fd5b610d2284610cb1565b9250610d3060208501610cb1565b9150604084013590509250925092565b600060208284031215610d5257600080fd5b5035919050565b600060208284031215610d6b57600080fd5b610d7482610cb1565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610cb1565b9150610da560208401610cb1565b90509250929050565b600181811c90821680610dc257607f821691505b602082108103610dfb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b80820180821115610302577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212201b5c59838d2b443b2f0c71f67dadbc93febfabf0344630b432f02527187cb2aa64736f6c63430008160033",
332
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b41146101e8578063a457c2d7146101f0578063a9059cbb14610203578063dd62ed3e1461021657600080fd5b806342966c681461018c57806370a082311461019f57806379cc6790146101d557600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce56714610155578063395093511461016457806340c10f191461017757600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f761025c565b6040516101049190610c44565b60405180910390f35b61012061011b366004610cda565b6102ee565b6040519015158152602001610104565b6002545b604051908152602001610104565b610120610150366004610d04565b610308565b60405160128152602001610104565b610120610172366004610cda565b61032c565b61018a610185366004610cda565b610378565b005b61018a61019a366004610d40565b610386565b6101346101ad366004610d59565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61018a6101e3366004610cda565b610393565b6100f76103a8565b6101206101fe366004610cda565b6103b7565b610120610211366004610cda565b61048d565b610134610224366004610d7b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461026b90610dae565b80601f016020809104026020016040519081016040528092919081815260200182805461029790610dae565b80156102e45780601f106102b9576101008083540402835291602001916102e4565b820191906000526020600020905b8154815290600101906020018083116102c757829003601f168201915b5050505050905090565b6000336102fc81858561049b565b60019150505b92915050565b60003361031685828561064f565b610321858585610726565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102fc9082908690610373908790610e01565b61049b565b6103828282610995565b5050565b6103903382610a88565b50565b61039e82338361064f565b6103828282610a88565b60606004805461026b90610dae565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610321828686840361049b565b6000336102fc818585610726565b73ffffffffffffffffffffffffffffffffffffffff831661053d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff82166105e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107205781811015610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610477565b610720848484840361049b565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166107c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff821661086c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610720565b73ffffffffffffffffffffffffffffffffffffffff8216610a12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610477565b8060026000828254610a249190610e01565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610b2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610be1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610477565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610642565b60006020808352835180602085015260005b81811015610c7257858101830151858201604001528201610c56565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610cd557600080fd5b919050565b60008060408385031215610ced57600080fd5b610cf683610cb1565b946020939093013593505050565b600080600060608486031215610d1957600080fd5b610d2284610cb1565b9250610d3060208501610cb1565b9150604084013590509250925092565b600060208284031215610d5257600080fd5b5035919050565b600060208284031215610d6b57600080fd5b610d7482610cb1565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610cb1565b9150610da560208401610cb1565b90509250929050565b600181811c90821680610dc257607f821691505b602082108103610dfb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b80820180821115610302577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212201b5c59838d2b443b2f0c71f67dadbc93febfabf0344630b432f02527187cb2aa64736f6c63430008160033",
333
+ "linkReferences": {},
334
+ "deployedLinkReferences": {}
335
+ }