@layerzerolabs/lz-evm-sdk-v2 2.0.15 → 2.0.16

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 (107) hide show
  1. package/artifacts/contracts/Executor.sol/Executor.json +2 -2
  2. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +7 -2
  3. package/artifacts/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +5 -0
  4. package/deployments/avalanche-testnet/AxelarDVNAdapterFeeLib.json +10 -10
  5. package/deployments/avalanche-testnet/AxelarDVNAdapterFeeLib_Implementation.json +40 -40
  6. package/deployments/ethereum-sandbox-local/DVN.json +76 -76
  7. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +23 -23
  8. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +258 -0
  9. package/deployments/ethereum-sandbox-local/EndpointV2.json +141 -150
  10. package/deployments/{blast-testnet/Executor_Proxy.json → ethereum-sandbox-local/EndpointV2View.json} +259 -189
  11. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +313 -0
  12. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +230 -0
  13. package/deployments/ethereum-sandbox-local/Executor.json +86 -86
  14. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +38 -33
  15. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +17 -17
  16. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +61 -61
  17. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +66 -66
  18. package/deployments/{blast-testnet/PriceFeed.json → ethereum-sandbox-local/LzExecutor.json} +275 -408
  19. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +703 -0
  20. package/deployments/{blast-testnet/PriceFeed_Proxy.json → ethereum-sandbox-local/LzExecutor_Proxy.json} +37 -37
  21. package/deployments/ethereum-sandbox-local/NonceContractMock.json +6 -6
  22. package/deployments/ethereum-sandbox-local/PriceFeed.json +18 -18
  23. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +5 -5
  24. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +44 -44
  25. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  26. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +126 -98
  27. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +354 -0
  28. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  29. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  30. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +114 -62
  31. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +478 -0
  32. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  33. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  34. package/deployments/ethereum-sandbox-local/SendUln301.json +112 -112
  35. package/deployments/ethereum-sandbox-local/SendUln302.json +109 -109
  36. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +23 -23
  37. package/deployments/ethereum-sandbox-local/Treasury.json +21 -21
  38. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +12 -12
  39. package/deployments/polygon-sandbox-local/DVN.json +76 -76
  40. package/deployments/polygon-sandbox-local/DVNFeeLib.json +23 -23
  41. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +258 -0
  42. package/deployments/polygon-sandbox-local/EndpointV2.json +141 -150
  43. package/deployments/polygon-sandbox-local/EndpointV2View.json +435 -0
  44. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +313 -0
  45. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +230 -0
  46. package/deployments/polygon-sandbox-local/Executor.json +86 -86
  47. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +38 -33
  48. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +17 -17
  49. package/deployments/polygon-sandbox-local/Executor_Implementation.json +61 -61
  50. package/deployments/polygon-sandbox-local/Executor_Proxy.json +66 -66
  51. package/deployments/{joc-testnet/PriceFeed.json → polygon-sandbox-local/LzExecutor.json} +275 -408
  52. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +703 -0
  53. package/deployments/{joc-testnet/PriceFeed_Proxy.json → polygon-sandbox-local/LzExecutor_Proxy.json} +37 -37
  54. package/deployments/polygon-sandbox-local/NonceContractMock.json +6 -6
  55. package/deployments/polygon-sandbox-local/PriceFeed.json +18 -18
  56. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +5 -5
  57. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +44 -44
  58. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  59. package/deployments/polygon-sandbox-local/ReceiveUln301.json +126 -98
  60. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +354 -0
  61. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  62. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  63. package/deployments/polygon-sandbox-local/ReceiveUln302.json +114 -62
  64. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +478 -0
  65. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  66. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  67. package/deployments/polygon-sandbox-local/SendUln301.json +112 -112
  68. package/deployments/polygon-sandbox-local/SendUln302.json +109 -109
  69. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +23 -23
  70. package/deployments/polygon-sandbox-local/Treasury.json +21 -21
  71. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +12 -12
  72. package/dist/{index-htDjTX1I.d.mts → index-3seuukWJ.d.mts} +10 -2
  73. package/dist/{index-htDjTX1I.d.ts → index-3seuukWJ.d.ts} +10 -2
  74. package/dist/index.browser.cjs +12 -2
  75. package/dist/index.browser.cjs.map +1 -1
  76. package/dist/index.browser.d.mts +1 -1
  77. package/dist/index.browser.d.ts +1 -1
  78. package/dist/index.browser.mjs +12 -2
  79. package/dist/index.browser.mjs.map +1 -1
  80. package/dist/index.cjs +12 -2
  81. package/dist/index.cjs.map +1 -1
  82. package/dist/index.d.mts +1 -1
  83. package/dist/index.d.ts +1 -1
  84. package/dist/index.mjs +12 -2
  85. package/dist/index.mjs.map +1 -1
  86. package/package.json +8 -8
  87. package/deployments/blast-testnet/DVN.json +0 -1929
  88. package/deployments/blast-testnet/DVNFeeLib.json +0 -387
  89. package/deployments/blast-testnet/EndpointV2.json +0 -3000
  90. package/deployments/blast-testnet/Executor.json +0 -1532
  91. package/deployments/blast-testnet/ExecutorFeeLib.json +0 -407
  92. package/deployments/blast-testnet/ExecutorProxyAdmin.json +0 -283
  93. package/deployments/blast-testnet/Executor_Implementation.json +0 -1591
  94. package/deployments/blast-testnet/PriceFeedProxyAdmin.json +0 -283
  95. package/deployments/blast-testnet/PriceFeed_Implementation.json +0 -912
  96. package/deployments/blast-testnet/ReceiveUln301.json +0 -1292
  97. package/deployments/blast-testnet/ReceiveUln302.json +0 -1006
  98. package/deployments/blast-testnet/SendUln301.json +0 -1569
  99. package/deployments/blast-testnet/SendUln302.json +0 -1527
  100. package/deployments/blast-testnet/Treasury.json +0 -412
  101. package/deployments/blast-testnet/TreasuryFeeHandler.json +0 -125
  102. package/deployments/joc-testnet/PriceFeedProxyAdmin.json +0 -283
  103. package/deployments/joc-testnet/PriceFeed_Implementation.json +0 -912
  104. package/deployments/rarible-mainnet/PriceFeed.json +0 -891
  105. package/deployments/rarible-mainnet/PriceFeedProxyAdmin.json +0 -284
  106. package/deployments/rarible-mainnet/PriceFeed_Implementation.json +0 -913
  107. package/deployments/rarible-mainnet/PriceFeed_Proxy.json +0 -245
@@ -35,12 +35,12 @@
35
35
  },
36
36
  {
37
37
  "inputs": [],
38
- "name": "LzTokenIsAddressZero",
38
+ "name": "LZ_NotImplemented",
39
39
  "type": "error"
40
40
  },
41
41
  {
42
42
  "inputs": [],
43
- "name": "NotImplemented",
43
+ "name": "LzTokenIsAddressZero",
44
44
  "type": "error"
45
45
  },
46
46
  {
@@ -53,11 +53,6 @@
53
53
  "name": "OnlyWhitelistCaller",
54
54
  "type": "error"
55
55
  },
56
- {
57
- "inputs": [],
58
- "name": "ToAddressIsZero",
59
- "type": "error"
60
- },
61
56
  {
62
57
  "inputs": [],
63
58
  "name": "ToIsAddressZero",
@@ -81,7 +76,12 @@
81
76
  "type": "uint256"
82
77
  }
83
78
  ],
84
- "name": "TransferNativeFailed",
79
+ "name": "Transfer_NativeFailed",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [],
84
+ "name": "Transfer_ToAddressIsZero",
85
85
  "type": "error"
86
86
  },
87
87
  {
@@ -582,7 +582,7 @@
582
582
  "type": "receive"
583
583
  }
584
584
  ],
585
- "transactionHash": "0x7b781b8956e27eed862c87c6417804c275196bfe73273b8af67e2d1a13fc4a72",
585
+ "transactionHash": "0x9b1a1828bad24350475ce6d2ecee8d90cf0b283d7a7fefb18152478ba038a21b",
586
586
  "receipt": {
587
587
  "to": null,
588
588
  "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
@@ -590,13 +590,13 @@
590
590
  "transactionIndex": 0,
591
591
  "gasUsed": "1782279",
592
592
  "logsBloom": "0x00004000000000000002000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000800020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000001000000000000000000000000000001000000000000000000000000000000",
593
- "blockHash": "0xa6296a97ffe38d375ffb2830097924f3b4b153f6d0468822b6d0e4d5d9d6afd3",
594
- "transactionHash": "0x7b781b8956e27eed862c87c6417804c275196bfe73273b8af67e2d1a13fc4a72",
593
+ "blockHash": "0x2cf676880c51bdbadacb9ae63905257ab4c6f52eeb24a645df92f7b935edd597",
594
+ "transactionHash": "0x9b1a1828bad24350475ce6d2ecee8d90cf0b283d7a7fefb18152478ba038a21b",
595
595
  "logs": [
596
596
  {
597
597
  "transactionIndex": 0,
598
- "blockNumber": 38,
599
- "transactionHash": "0x7b781b8956e27eed862c87c6417804c275196bfe73273b8af67e2d1a13fc4a72",
598
+ "blockNumber": 41,
599
+ "transactionHash": "0x9b1a1828bad24350475ce6d2ecee8d90cf0b283d7a7fefb18152478ba038a21b",
600
600
  "address": "0x0f5D1ef48f12b6f691401bfe88c2037c690a6afe",
601
601
  "topics": [
602
602
  "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
@@ -605,10 +605,10 @@
605
605
  ],
606
606
  "data": "0x",
607
607
  "logIndex": 0,
608
- "blockHash": "0xa6296a97ffe38d375ffb2830097924f3b4b153f6d0468822b6d0e4d5d9d6afd3"
608
+ "blockHash": "0x2cf676880c51bdbadacb9ae63905257ab4c6f52eeb24a645df92f7b935edd597"
609
609
  }
610
610
  ],
611
- "blockNumber": 38,
611
+ "blockNumber": 41,
612
612
  "cumulativeGasUsed": "1782279",
613
613
  "status": 1,
614
614
  "byzantium": true
@@ -618,9 +618,9 @@
618
618
  "0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
619
619
  ],
620
620
  "numDeployments": 1,
621
- "solcInputHash": "ca37e77554bab69a0389a00922960a6a",
622
- "bytecode": "0x60e06040523480156200001157600080fd5b50604051620020033803806200200383398101604081905262000034916200013f565b6200003f33620000d2565b6001600160a01b03808316608081905290821660a0526040805163416ecebf60e01b8152905163416ecebf916004808201926020929091908290030181865afa15801562000091573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b7919062000177565b63ffffffff1660c052505060636002556064600355620001a6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013a57600080fd5b919050565b600080604083850312156200015357600080fd5b6200015e8362000122565b91506200016e6020840162000122565b90509250929050565b6000602082840312156200018a57600080fd5b815163ffffffff811681146200019f57600080fd5b9392505050565b60805160a05160c051611e11620001f260003960006103d40152600061034301526000818161030f015281816106ce015281816107fd01528181610a450152610d070152611e116000f3fe6080604052600436106101845760003560e01c8063715018a6116100d6578063996f79c01161007f578063dabca06311610059578063dabca063146104ff578063f2fde38b1461051f578063fd9be5221461053f5761018b565b8063996f79c01461049c578063aec336e6146104b2578063d80e9bd9146104d25761018b565b80638da5cb5b116100b05780638da5cb5b1461042d5780638f58aa7a1461045857806390953238146104785761018b565b8063715018a6146103ad57806372607537146103c257806372d713221461040b5761018b565b80634389e58f1161013857806361d027b31161011257806361d027b3146103315780636251b637146103655780636750cd4c1461038c5761018b565b80634389e58f146102a257806354fd4d50146102d15780635e280f11146102fd5761018b565b80631881d94d116101695780631881d94d146102145780631c7c294e14610230578063334993ff146102825761018b565b806301ffc9a7146101bd57806312cc947f146101f25761018b565b3661018b57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3480156101c957600080fd5b506101dd6101d8366004611451565b61055f565b60405190151581526020015b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046114d5565b6105f8565b005b34801561022057600080fd5b5060026040516101e99190611517565b34801561023c57600080fd5b5060015461025d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e9565b34801561028e57600080fd5b5061021261029d366004611558565b6107d1565b3480156102ae57600080fd5b506102c26102bd3660046116a3565b6107e4565b6040516101e993929190611789565b3480156102dd57600080fd5b5060408051600080825260208201526002918101919091526060016101e9565b34801561030957600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033d57600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037157600080fd5b5061037a600181565b60405160ff90911681526020016101e9565b34801561039857600080fd5b506101dd6103a73660046117e2565b50600190565b3480156103b957600080fd5b5061021261094a565b3480156103ce57600080fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e9565b34801561041757600080fd5b5061042061095e565b6040516101e991906117fd565b34801561043957600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661025d565b34801561046457600080fd5b5061021261047336600461183d565b6109ec565b34801561048457600080fd5b5061048e60025481565b6040519081526020016101e9565b3480156104a857600080fd5b5061048e60035481565b3480156104be57600080fd5b506102126104cd366004611869565b610b47565b3480156104de57600080fd5b506104f26104ed366004611886565b610b96565b6040516101e99190611902565b34801561050b57600080fd5b5061021261051a366004611919565b610bda565b34801561052b57600080fd5b5061021261053a366004611869565b610bf2565b34801561054b57600080fd5b5061021261055a36600461183d565b610cae565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f025840000000000000000000000000000000000000000000000000000000014806105f257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1615801590610637575060015473ffffffffffffffffffffffffffffffffffffffff163314155b1561066e576040517f70b216ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180606001604052806106858585610da1565b63ffffffff16815260200161069a8585610dc4565b81526020016106a98585610de4565b67ffffffffffffffff169052905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663a825d747826106fe8686610e07565b6107088787610e19565b60405161071692919061194e565b6040805191829003822060e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168352845163ffffffff1660048401526020850151602484015293015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff9091166064820152608481019190915260a401600060405180830381600087803b1580156107b457600080fd5b505af11580156107c8573d6000803e3d6000fd5b50505050505050565b6107d9610e35565b600391909155600255565b60408051808201909152600080825260208201526060807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461086a576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087b61087687611976565b610eb6565b9150845160001461088c5784610918565b6004805461089990611a14565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590611a14565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b50505050505b9050604051806040016040528060035481526020018561093957600061093d565b6002545b9052969195509350915050565b610952610e35565b61095c6000610f1b565b565b6004805461096b90611a14565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611a14565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b505050505081565b6109f4610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610a41576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad29190611a61565b905073ffffffffffffffffffffffffffffffffffffffff8116610b21576040517f54c1781b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff82168484610f90565b505050565b610b4f610e35565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051808201909152600080825260208201526040518060400160405280600354815260200183610bc9576000610bcd565b6002545b905290505b949350505050565b610be2610e35565b6004610bee8282611ace565b5050565b610bfa610e35565b73ffffffffffffffffffffffffffffffffffffffff8116610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610cab81610f1b565b50565b610cb6610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610d03576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611a61565b9050610b4281848461101d565b6000610db1600d60098486611be8565b610dba91611c12565b60e01c9392505050565b6000610dd4602d600d8486611be8565b610ddd91611c5a565b9392505050565b6000610df4600960018486611be8565b610dfd91611c96565b60c01c9392505050565b6000610ddd610e16848461104d565b90565b366000610e298360518187611be8565b915091505b9250929050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461095c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c99565b8051602080830151604080850151606080870151608088015160a089015160c08a015195519398610f05986001989197919673ffffffffffffffffffffffffffffffffffffffff169501611cdc565b6040516020818303038152906040529050919050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610b4290849061105d565b73ffffffffffffffffffffffffffffffffffffffff831661104257610b42828261116c565b610b42838383611272565b6000610dd4605160318486611be8565b60006110bf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166112e09092919063ffffffff16565b90508051600014806110e05750808060200190518101906110e09190611da2565b610b42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166111b9576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b606091505b5050905080610b42576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166112bf576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff84168383610f90565b6060610bd28484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516113149190611dbf565b60006040518083038185875af1925050503d8060008114611351576040519150601f19603f3d011682016040523d82523d6000602084013e611356565b606091505b509150915061136787838387611372565b979650505050505050565b606083156114085782516000036114015773ffffffffffffffffffffffffffffffffffffffff85163b611401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c99565b5081610bd2565b610bd2838381511561141d5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9991906117fd565b60006020828403121561146357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ddd57600080fd5b60008083601f8401126114a557600080fd5b50813567ffffffffffffffff8111156114bd57600080fd5b602083019150836020828501011115610e2e57600080fd5b600080602083850312156114e857600080fd5b823567ffffffffffffffff8111156114ff57600080fd5b61150b85828601611493565b90969095509350505050565b6020810160038310611552577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561156b57600080fd5b50508035926020909101359150565b600060e0828403121561158c57600080fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156115e4576115e4611592565b60405290565b600082601f8301126115fb57600080fd5b813567ffffffffffffffff8082111561161657611616611592565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561165c5761165c611592565b8160405283815286602085880101111561167557600080fd5b836020870160208301376000602085830101528094505050505092915050565b8015158114610cab57600080fd5b6000806000606084860312156116b857600080fd5b833567ffffffffffffffff808211156116d057600080fd5b6116dc8783880161157a565b945060208601359150808211156116f257600080fd5b506116ff868287016115ea565b925050604084013561171081611695565b809150509250925092565b60005b8381101561173657818101518382015260200161171e565b50506000910152565b6000815180845261175781602086016020860161171b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83518152602080850151908201526080604082015260006117ad608083018561173f565b82810360608401526117bf818561173f565b9695505050505050565b803563ffffffff811681146117dd57600080fd5b919050565b6000602082840312156117f457600080fd5b610ddd826117c9565b602081526000610ddd602083018461173f565b73ffffffffffffffffffffffffffffffffffffffff81168114610cab57600080fd5b80356117dd81611810565b6000806040838503121561185057600080fd5b823561185b81611810565b946020939093013593505050565b60006020828403121561187b57600080fd5b8135610ddd81611810565b6000806000806060858703121561189c57600080fd5b843567ffffffffffffffff808211156118b457600080fd5b6118c08883890161157a565b955060208701359150808211156118d657600080fd5b506118e387828801611493565b90945092505060408501356118f781611695565b939692955090935050565b8151815260208083015190820152604081016105f2565b60006020828403121561192b57600080fd5b813567ffffffffffffffff81111561194257600080fd5b610bd2848285016115ea565b8183823760009101908152919050565b803567ffffffffffffffff811681146117dd57600080fd5b600060e0823603121561198857600080fd5b6119906115c1565b6119998361195e565b81526119a7602084016117c9565b60208201526119b860408401611832565b60408201526119c9606084016117c9565b60608201526080830135608082015260a083013560a082015260c083013567ffffffffffffffff8111156119fc57600080fd5b611a08368286016115ea565b60c08301525092915050565b600181811c90821680611a2857607f821691505b60208210810361158c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060208284031215611a7357600080fd5b8151610ddd81611810565b601f821115610b42576000816000526020600020601f850160051c81016020861015611aa75750805b601f850160051c820191505b81811015611ac657828155600101611ab3565b505050505050565b815167ffffffffffffffff811115611ae857611ae8611592565b611afc81611af68454611a14565b84611a7e565b602080601f831160018114611b4f5760008415611b195750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ac6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015611b9c57888601518255948401946001909101908401611b7d565b5085821015611bd857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008085851115611bf857600080fd5b83861115611c0557600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c525780818660040360031b1b83161692505b505092915050565b803560208310156105f2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015611c525760089490940360031b84901b1690921692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b1681527fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b16600182015260007fffffffff00000000000000000000000000000000000000000000000000000000808960e01b16600984015287600d840152808760e01b16602d840152508460318301528360518301528251611d8e81607185016020870161171b565b919091016071019998505050505050505050565b600060208284031215611db457600080fd5b8151610ddd81611695565b60008251611dd181846020870161171b565b919091019291505056fea2646970667358221220dacc2230f004f9b1df7a943fc905b1cba1c184fa4421465f06f94218fd4ff97864736f6c63430008160033",
623
- "deployedBytecode": "0x6080604052600436106101845760003560e01c8063715018a6116100d6578063996f79c01161007f578063dabca06311610059578063dabca063146104ff578063f2fde38b1461051f578063fd9be5221461053f5761018b565b8063996f79c01461049c578063aec336e6146104b2578063d80e9bd9146104d25761018b565b80638da5cb5b116100b05780638da5cb5b1461042d5780638f58aa7a1461045857806390953238146104785761018b565b8063715018a6146103ad57806372607537146103c257806372d713221461040b5761018b565b80634389e58f1161013857806361d027b31161011257806361d027b3146103315780636251b637146103655780636750cd4c1461038c5761018b565b80634389e58f146102a257806354fd4d50146102d15780635e280f11146102fd5761018b565b80631881d94d116101695780631881d94d146102145780631c7c294e14610230578063334993ff146102825761018b565b806301ffc9a7146101bd57806312cc947f146101f25761018b565b3661018b57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3480156101c957600080fd5b506101dd6101d8366004611451565b61055f565b60405190151581526020015b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046114d5565b6105f8565b005b34801561022057600080fd5b5060026040516101e99190611517565b34801561023c57600080fd5b5060015461025d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e9565b34801561028e57600080fd5b5061021261029d366004611558565b6107d1565b3480156102ae57600080fd5b506102c26102bd3660046116a3565b6107e4565b6040516101e993929190611789565b3480156102dd57600080fd5b5060408051600080825260208201526002918101919091526060016101e9565b34801561030957600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033d57600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037157600080fd5b5061037a600181565b60405160ff90911681526020016101e9565b34801561039857600080fd5b506101dd6103a73660046117e2565b50600190565b3480156103b957600080fd5b5061021261094a565b3480156103ce57600080fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e9565b34801561041757600080fd5b5061042061095e565b6040516101e991906117fd565b34801561043957600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661025d565b34801561046457600080fd5b5061021261047336600461183d565b6109ec565b34801561048457600080fd5b5061048e60025481565b6040519081526020016101e9565b3480156104a857600080fd5b5061048e60035481565b3480156104be57600080fd5b506102126104cd366004611869565b610b47565b3480156104de57600080fd5b506104f26104ed366004611886565b610b96565b6040516101e99190611902565b34801561050b57600080fd5b5061021261051a366004611919565b610bda565b34801561052b57600080fd5b5061021261053a366004611869565b610bf2565b34801561054b57600080fd5b5061021261055a36600461183d565b610cae565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f025840000000000000000000000000000000000000000000000000000000014806105f257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1615801590610637575060015473ffffffffffffffffffffffffffffffffffffffff163314155b1561066e576040517f70b216ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180606001604052806106858585610da1565b63ffffffff16815260200161069a8585610dc4565b81526020016106a98585610de4565b67ffffffffffffffff169052905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663a825d747826106fe8686610e07565b6107088787610e19565b60405161071692919061194e565b6040805191829003822060e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168352845163ffffffff1660048401526020850151602484015293015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff9091166064820152608481019190915260a401600060405180830381600087803b1580156107b457600080fd5b505af11580156107c8573d6000803e3d6000fd5b50505050505050565b6107d9610e35565b600391909155600255565b60408051808201909152600080825260208201526060807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461086a576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087b61087687611976565b610eb6565b9150845160001461088c5784610918565b6004805461089990611a14565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590611a14565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b50505050505b9050604051806040016040528060035481526020018561093957600061093d565b6002545b9052969195509350915050565b610952610e35565b61095c6000610f1b565b565b6004805461096b90611a14565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611a14565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b505050505081565b6109f4610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610a41576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad29190611a61565b905073ffffffffffffffffffffffffffffffffffffffff8116610b21576040517f54c1781b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff82168484610f90565b505050565b610b4f610e35565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051808201909152600080825260208201526040518060400160405280600354815260200183610bc9576000610bcd565b6002545b905290505b949350505050565b610be2610e35565b6004610bee8282611ace565b5050565b610bfa610e35565b73ffffffffffffffffffffffffffffffffffffffff8116610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610cab81610f1b565b50565b610cb6610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610d03576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611a61565b9050610b4281848461101d565b6000610db1600d60098486611be8565b610dba91611c12565b60e01c9392505050565b6000610dd4602d600d8486611be8565b610ddd91611c5a565b9392505050565b6000610df4600960018486611be8565b610dfd91611c96565b60c01c9392505050565b6000610ddd610e16848461104d565b90565b366000610e298360518187611be8565b915091505b9250929050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461095c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c99565b8051602080830151604080850151606080870151608088015160a089015160c08a015195519398610f05986001989197919673ffffffffffffffffffffffffffffffffffffffff169501611cdc565b6040516020818303038152906040529050919050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610b4290849061105d565b73ffffffffffffffffffffffffffffffffffffffff831661104257610b42828261116c565b610b42838383611272565b6000610dd4605160318486611be8565b60006110bf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166112e09092919063ffffffff16565b90508051600014806110e05750808060200190518101906110e09190611da2565b610b42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166111b9576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b606091505b5050905080610b42576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166112bf576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff84168383610f90565b6060610bd28484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516113149190611dbf565b60006040518083038185875af1925050503d8060008114611351576040519150601f19603f3d011682016040523d82523d6000602084013e611356565b606091505b509150915061136787838387611372565b979650505050505050565b606083156114085782516000036114015773ffffffffffffffffffffffffffffffffffffffff85163b611401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c99565b5081610bd2565b610bd2838381511561141d5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9991906117fd565b60006020828403121561146357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ddd57600080fd5b60008083601f8401126114a557600080fd5b50813567ffffffffffffffff8111156114bd57600080fd5b602083019150836020828501011115610e2e57600080fd5b600080602083850312156114e857600080fd5b823567ffffffffffffffff8111156114ff57600080fd5b61150b85828601611493565b90969095509350505050565b6020810160038310611552577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561156b57600080fd5b50508035926020909101359150565b600060e0828403121561158c57600080fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156115e4576115e4611592565b60405290565b600082601f8301126115fb57600080fd5b813567ffffffffffffffff8082111561161657611616611592565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561165c5761165c611592565b8160405283815286602085880101111561167557600080fd5b836020870160208301376000602085830101528094505050505092915050565b8015158114610cab57600080fd5b6000806000606084860312156116b857600080fd5b833567ffffffffffffffff808211156116d057600080fd5b6116dc8783880161157a565b945060208601359150808211156116f257600080fd5b506116ff868287016115ea565b925050604084013561171081611695565b809150509250925092565b60005b8381101561173657818101518382015260200161171e565b50506000910152565b6000815180845261175781602086016020860161171b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83518152602080850151908201526080604082015260006117ad608083018561173f565b82810360608401526117bf818561173f565b9695505050505050565b803563ffffffff811681146117dd57600080fd5b919050565b6000602082840312156117f457600080fd5b610ddd826117c9565b602081526000610ddd602083018461173f565b73ffffffffffffffffffffffffffffffffffffffff81168114610cab57600080fd5b80356117dd81611810565b6000806040838503121561185057600080fd5b823561185b81611810565b946020939093013593505050565b60006020828403121561187b57600080fd5b8135610ddd81611810565b6000806000806060858703121561189c57600080fd5b843567ffffffffffffffff808211156118b457600080fd5b6118c08883890161157a565b955060208701359150808211156118d657600080fd5b506118e387828801611493565b90945092505060408501356118f781611695565b939692955090935050565b8151815260208083015190820152604081016105f2565b60006020828403121561192b57600080fd5b813567ffffffffffffffff81111561194257600080fd5b610bd2848285016115ea565b8183823760009101908152919050565b803567ffffffffffffffff811681146117dd57600080fd5b600060e0823603121561198857600080fd5b6119906115c1565b6119998361195e565b81526119a7602084016117c9565b60208201526119b860408401611832565b60408201526119c9606084016117c9565b60608201526080830135608082015260a083013560a082015260c083013567ffffffffffffffff8111156119fc57600080fd5b611a08368286016115ea565b60c08301525092915050565b600181811c90821680611a2857607f821691505b60208210810361158c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060208284031215611a7357600080fd5b8151610ddd81611810565b601f821115610b42576000816000526020600020601f850160051c81016020861015611aa75750805b601f850160051c820191505b81811015611ac657828155600101611ab3565b505050505050565b815167ffffffffffffffff811115611ae857611ae8611592565b611afc81611af68454611a14565b84611a7e565b602080601f831160018114611b4f5760008415611b195750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ac6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015611b9c57888601518255948401946001909101908401611b7d565b5085821015611bd857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008085851115611bf857600080fd5b83861115611c0557600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c525780818660040360031b1b83161692505b505092915050565b803560208310156105f2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015611c525760089490940360031b84901b1690921692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b1681527fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b16600182015260007fffffffff00000000000000000000000000000000000000000000000000000000808960e01b16600984015287600d840152808760e01b16602d840152508460318301528360518301528251611d8e81607185016020870161171b565b919091016071019998505050505050505050565b600060208284031215611db457600080fd5b8151610ddd81611695565b60008251611dd181846020870161171b565b919091019291505056fea2646970667358221220dacc2230f004f9b1df7a943fc905b1cba1c184fa4421465f06f94218fd4ff97864736f6c63430008160033",
621
+ "solcInputHash": "1317641fd655d4a797579c176b95574c",
622
+ "bytecode": "0x60e06040523480156200001157600080fd5b50604051620020033803806200200383398101604081905262000034916200013f565b6200003f33620000d2565b6001600160a01b03808316608081905290821660a0526040805163416ecebf60e01b8152905163416ecebf916004808201926020929091908290030181865afa15801562000091573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b7919062000177565b63ffffffff1660c052505060636002556064600355620001a6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200013a57600080fd5b919050565b600080604083850312156200015357600080fd5b6200015e8362000122565b91506200016e6020840162000122565b90509250929050565b6000602082840312156200018a57600080fd5b815163ffffffff811681146200019f57600080fd5b9392505050565b60805160a05160c051611e11620001f260003960006103d40152600061034301526000818161030f015281816106ce015281816107fd01528181610a450152610d070152611e116000f3fe6080604052600436106101845760003560e01c8063715018a6116100d6578063996f79c01161007f578063dabca06311610059578063dabca063146104ff578063f2fde38b1461051f578063fd9be5221461053f5761018b565b8063996f79c01461049c578063aec336e6146104b2578063d80e9bd9146104d25761018b565b80638da5cb5b116100b05780638da5cb5b1461042d5780638f58aa7a1461045857806390953238146104785761018b565b8063715018a6146103ad57806372607537146103c257806372d713221461040b5761018b565b80634389e58f1161013857806361d027b31161011257806361d027b3146103315780636251b637146103655780636750cd4c1461038c5761018b565b80634389e58f146102a257806354fd4d50146102d15780635e280f11146102fd5761018b565b80631881d94d116101695780631881d94d146102145780631c7c294e14610230578063334993ff146102825761018b565b806301ffc9a7146101bd57806312cc947f146101f25761018b565b3661018b57005b6040517f2657b6c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3480156101c957600080fd5b506101dd6101d8366004611451565b61055f565b60405190151581526020015b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046114d5565b6105f8565b005b34801561022057600080fd5b5060026040516101e99190611517565b34801561023c57600080fd5b5060015461025d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e9565b34801561028e57600080fd5b5061021261029d366004611558565b6107d1565b3480156102ae57600080fd5b506102c26102bd3660046116a3565b6107e4565b6040516101e993929190611789565b3480156102dd57600080fd5b5060408051600080825260208201526002918101919091526060016101e9565b34801561030957600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033d57600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037157600080fd5b5061037a600181565b60405160ff90911681526020016101e9565b34801561039857600080fd5b506101dd6103a73660046117e2565b50600190565b3480156103b957600080fd5b5061021261094a565b3480156103ce57600080fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e9565b34801561041757600080fd5b5061042061095e565b6040516101e991906117fd565b34801561043957600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661025d565b34801561046457600080fd5b5061021261047336600461183d565b6109ec565b34801561048457600080fd5b5061048e60025481565b6040519081526020016101e9565b3480156104a857600080fd5b5061048e60035481565b3480156104be57600080fd5b506102126104cd366004611869565b610b47565b3480156104de57600080fd5b506104f26104ed366004611886565b610b96565b6040516101e99190611902565b34801561050b57600080fd5b5061021261051a366004611919565b610bda565b34801561052b57600080fd5b5061021261053a366004611869565b610bf2565b34801561054b57600080fd5b5061021261055a36600461183d565b610cae565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f025840000000000000000000000000000000000000000000000000000000014806105f257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1615801590610637575060015473ffffffffffffffffffffffffffffffffffffffff163314155b1561066e576040517f70b216ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180606001604052806106858585610da1565b63ffffffff16815260200161069a8585610dc4565b81526020016106a98585610de4565b67ffffffffffffffff169052905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663a825d747826106fe8686610e07565b6107088787610e19565b60405161071692919061194e565b6040805191829003822060e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168352845163ffffffff1660048401526020850151602484015293015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff9091166064820152608481019190915260a401600060405180830381600087803b1580156107b457600080fd5b505af11580156107c8573d6000803e3d6000fd5b50505050505050565b6107d9610e35565b600391909155600255565b60408051808201909152600080825260208201526060807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461086a576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087b61087687611976565b610eb6565b9150845160001461088c5784610918565b6004805461089990611a14565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590611a14565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b50505050505b9050604051806040016040528060035481526020018561093957600061093d565b6002545b9052969195509350915050565b610952610e35565b61095c6000610f1b565b565b6004805461096b90611a14565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611a14565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b505050505081565b6109f4610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610a41576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad29190611a61565b905073ffffffffffffffffffffffffffffffffffffffff8116610b21576040517f54c1781b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff82168484610f90565b505050565b610b4f610e35565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051808201909152600080825260208201526040518060400160405280600354815260200183610bc9576000610bcd565b6002545b905290505b949350505050565b610be2610e35565b6004610bee8282611ace565b5050565b610bfa610e35565b73ffffffffffffffffffffffffffffffffffffffff8116610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610cab81610f1b565b50565b610cb6610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610d03576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611a61565b9050610b4281848461101d565b6000610db1600d60098486611be8565b610dba91611c12565b60e01c9392505050565b6000610dd4602d600d8486611be8565b610ddd91611c5a565b9392505050565b6000610df4600960018486611be8565b610dfd91611c96565b60c01c9392505050565b6000610ddd610e16848461104d565b90565b366000610e298360518187611be8565b915091505b9250929050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461095c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c99565b8051602080830151604080850151606080870151608088015160a089015160c08a015195519398610f05986001989197919673ffffffffffffffffffffffffffffffffffffffff169501611cdc565b6040516020818303038152906040529050919050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610b4290849061105d565b73ffffffffffffffffffffffffffffffffffffffff831661104257610b42828261116c565b610b42838383611272565b6000610dd4605160318486611be8565b60006110bf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166112e09092919063ffffffff16565b90508051600014806110e05750808060200190518101906110e09190611da2565b610b42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166111b9576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b606091505b5050905080610b42576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166112bf576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff84168383610f90565b6060610bd28484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516113149190611dbf565b60006040518083038185875af1925050503d8060008114611351576040519150601f19603f3d011682016040523d82523d6000602084013e611356565b606091505b509150915061136787838387611372565b979650505050505050565b606083156114085782516000036114015773ffffffffffffffffffffffffffffffffffffffff85163b611401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c99565b5081610bd2565b610bd2838381511561141d5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9991906117fd565b60006020828403121561146357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ddd57600080fd5b60008083601f8401126114a557600080fd5b50813567ffffffffffffffff8111156114bd57600080fd5b602083019150836020828501011115610e2e57600080fd5b600080602083850312156114e857600080fd5b823567ffffffffffffffff8111156114ff57600080fd5b61150b85828601611493565b90969095509350505050565b6020810160038310611552577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561156b57600080fd5b50508035926020909101359150565b600060e0828403121561158c57600080fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156115e4576115e4611592565b60405290565b600082601f8301126115fb57600080fd5b813567ffffffffffffffff8082111561161657611616611592565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561165c5761165c611592565b8160405283815286602085880101111561167557600080fd5b836020870160208301376000602085830101528094505050505092915050565b8015158114610cab57600080fd5b6000806000606084860312156116b857600080fd5b833567ffffffffffffffff808211156116d057600080fd5b6116dc8783880161157a565b945060208601359150808211156116f257600080fd5b506116ff868287016115ea565b925050604084013561171081611695565b809150509250925092565b60005b8381101561173657818101518382015260200161171e565b50506000910152565b6000815180845261175781602086016020860161171b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83518152602080850151908201526080604082015260006117ad608083018561173f565b82810360608401526117bf818561173f565b9695505050505050565b803563ffffffff811681146117dd57600080fd5b919050565b6000602082840312156117f457600080fd5b610ddd826117c9565b602081526000610ddd602083018461173f565b73ffffffffffffffffffffffffffffffffffffffff81168114610cab57600080fd5b80356117dd81611810565b6000806040838503121561185057600080fd5b823561185b81611810565b946020939093013593505050565b60006020828403121561187b57600080fd5b8135610ddd81611810565b6000806000806060858703121561189c57600080fd5b843567ffffffffffffffff808211156118b457600080fd5b6118c08883890161157a565b955060208701359150808211156118d657600080fd5b506118e387828801611493565b90945092505060408501356118f781611695565b939692955090935050565b8151815260208083015190820152604081016105f2565b60006020828403121561192b57600080fd5b813567ffffffffffffffff81111561194257600080fd5b610bd2848285016115ea565b8183823760009101908152919050565b803567ffffffffffffffff811681146117dd57600080fd5b600060e0823603121561198857600080fd5b6119906115c1565b6119998361195e565b81526119a7602084016117c9565b60208201526119b860408401611832565b60408201526119c9606084016117c9565b60608201526080830135608082015260a083013560a082015260c083013567ffffffffffffffff8111156119fc57600080fd5b611a08368286016115ea565b60c08301525092915050565b600181811c90821680611a2857607f821691505b60208210810361158c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060208284031215611a7357600080fd5b8151610ddd81611810565b601f821115610b42576000816000526020600020601f850160051c81016020861015611aa75750805b601f850160051c820191505b81811015611ac657828155600101611ab3565b505050505050565b815167ffffffffffffffff811115611ae857611ae8611592565b611afc81611af68454611a14565b84611a7e565b602080601f831160018114611b4f5760008415611b195750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ac6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015611b9c57888601518255948401946001909101908401611b7d565b5085821015611bd857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008085851115611bf857600080fd5b83861115611c0557600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c525780818660040360031b1b83161692505b505092915050565b803560208310156105f2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015611c525760089490940360031b84901b1690921692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b1681527fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b16600182015260007fffffffff00000000000000000000000000000000000000000000000000000000808960e01b16600984015287600d840152808760e01b16602d840152508460318301528360518301528251611d8e81607185016020870161171b565b919091016071019998505050505050505050565b600060208284031215611db457600080fd5b8151610ddd81611695565b60008251611dd181846020870161171b565b919091019291505056fea264697066735822122094b5d0ed838fa5020c414183b57de7ccf607dba20c918e10b74020e69974479964736f6c63430008160033",
623
+ "deployedBytecode": "0x6080604052600436106101845760003560e01c8063715018a6116100d6578063996f79c01161007f578063dabca06311610059578063dabca063146104ff578063f2fde38b1461051f578063fd9be5221461053f5761018b565b8063996f79c01461049c578063aec336e6146104b2578063d80e9bd9146104d25761018b565b80638da5cb5b116100b05780638da5cb5b1461042d5780638f58aa7a1461045857806390953238146104785761018b565b8063715018a6146103ad57806372607537146103c257806372d713221461040b5761018b565b80634389e58f1161013857806361d027b31161011257806361d027b3146103315780636251b637146103655780636750cd4c1461038c5761018b565b80634389e58f146102a257806354fd4d50146102d15780635e280f11146102fd5761018b565b80631881d94d116101695780631881d94d146102145780631c7c294e14610230578063334993ff146102825761018b565b806301ffc9a7146101bd57806312cc947f146101f25761018b565b3661018b57005b6040517f2657b6c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3480156101c957600080fd5b506101dd6101d8366004611451565b61055f565b60405190151581526020015b60405180910390f35b3480156101fe57600080fd5b5061021261020d3660046114d5565b6105f8565b005b34801561022057600080fd5b5060026040516101e99190611517565b34801561023c57600080fd5b5060015461025d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e9565b34801561028e57600080fd5b5061021261029d366004611558565b6107d1565b3480156102ae57600080fd5b506102c26102bd3660046116a3565b6107e4565b6040516101e993929190611789565b3480156102dd57600080fd5b5060408051600080825260208201526002918101919091526060016101e9565b34801561030957600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033d57600080fd5b5061025d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037157600080fd5b5061037a600181565b60405160ff90911681526020016101e9565b34801561039857600080fd5b506101dd6103a73660046117e2565b50600190565b3480156103b957600080fd5b5061021261094a565b3480156103ce57600080fd5b506103f67f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e9565b34801561041757600080fd5b5061042061095e565b6040516101e991906117fd565b34801561043957600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661025d565b34801561046457600080fd5b5061021261047336600461183d565b6109ec565b34801561048457600080fd5b5061048e60025481565b6040519081526020016101e9565b3480156104a857600080fd5b5061048e60035481565b3480156104be57600080fd5b506102126104cd366004611869565b610b47565b3480156104de57600080fd5b506104f26104ed366004611886565b610b96565b6040516101e99190611902565b34801561050b57600080fd5b5061021261051a366004611919565b610bda565b34801561052b57600080fd5b5061021261053a366004611869565b610bf2565b34801561054b57600080fd5b5061021261055a36600461183d565b610cae565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f025840000000000000000000000000000000000000000000000000000000014806105f257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1615801590610637575060015473ffffffffffffffffffffffffffffffffffffffff163314155b1561066e576040517f70b216ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060405180606001604052806106858585610da1565b63ffffffff16815260200161069a8585610dc4565b81526020016106a98585610de4565b67ffffffffffffffff169052905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663a825d747826106fe8686610e07565b6107088787610e19565b60405161071692919061194e565b6040805191829003822060e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168352845163ffffffff1660048401526020850151602484015293015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff9091166064820152608481019190915260a401600060405180830381600087803b1580156107b457600080fd5b505af11580156107c8573d6000803e3d6000fd5b50505050505050565b6107d9610e35565b600391909155600255565b60408051808201909152600080825260208201526060807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16331461086a576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087b61087687611976565b610eb6565b9150845160001461088c5784610918565b6004805461089990611a14565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590611a14565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b50505050505b9050604051806040016040528060035481526020018561093957600061093d565b6002545b9052969195509350915050565b610952610e35565b61095c6000610f1b565b565b6004805461096b90611a14565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611a14565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b505050505081565b6109f4610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610a41576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad29190611a61565b905073ffffffffffffffffffffffffffffffffffffffff8116610b21576040517f54c1781b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff82168484610f90565b505050565b610b4f610e35565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051808201909152600080825260208201526040518060400160405280600354815260200183610bc9576000610bcd565b6002545b905290505b949350505050565b610be2610e35565b6004610bee8282611ace565b5050565b610bfa610e35565b73ffffffffffffffffffffffffffffffffffffffff8116610ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610cab81610f1b565b50565b610cb6610e35565b73ffffffffffffffffffffffffffffffffffffffff8216610d03576040517f3d3496e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611a61565b9050610b4281848461101d565b6000610db1600d60098486611be8565b610dba91611c12565b60e01c9392505050565b6000610dd4602d600d8486611be8565b610ddd91611c5a565b9392505050565b6000610df4600960018486611be8565b610dfd91611c96565b60c01c9392505050565b6000610ddd610e16848461104d565b90565b366000610e298360518187611be8565b915091505b9250929050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461095c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c99565b8051602080830151604080850151606080870151608088015160a089015160c08a015195519398610f05986001989197919673ffffffffffffffffffffffffffffffffffffffff169501611cdc565b6040516020818303038152906040529050919050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610b4290849061105d565b73ffffffffffffffffffffffffffffffffffffffff831661104257610b42828261116c565b610b42838383611272565b6000610dd4605160318486611be8565b60006110bf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166112e09092919063ffffffff16565b90508051600014806110e05750808060200190518101906110e09190611da2565b610b42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166111b9576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611213576040519150601f19603f3d011682016040523d82523d6000602084013e611218565b606091505b5050905080610b42576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610c99565b73ffffffffffffffffffffffffffffffffffffffff82166112bf576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b4273ffffffffffffffffffffffffffffffffffffffff84168383610f90565b6060610bd28484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516113149190611dbf565b60006040518083038185875af1925050503d8060008114611351576040519150601f19603f3d011682016040523d82523d6000602084013e611356565b606091505b509150915061136787838387611372565b979650505050505050565b606083156114085782516000036114015773ffffffffffffffffffffffffffffffffffffffff85163b611401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c99565b5081610bd2565b610bd2838381511561141d5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9991906117fd565b60006020828403121561146357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ddd57600080fd5b60008083601f8401126114a557600080fd5b50813567ffffffffffffffff8111156114bd57600080fd5b602083019150836020828501011115610e2e57600080fd5b600080602083850312156114e857600080fd5b823567ffffffffffffffff8111156114ff57600080fd5b61150b85828601611493565b90969095509350505050565b6020810160038310611552577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561156b57600080fd5b50508035926020909101359150565b600060e0828403121561158c57600080fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156115e4576115e4611592565b60405290565b600082601f8301126115fb57600080fd5b813567ffffffffffffffff8082111561161657611616611592565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561165c5761165c611592565b8160405283815286602085880101111561167557600080fd5b836020870160208301376000602085830101528094505050505092915050565b8015158114610cab57600080fd5b6000806000606084860312156116b857600080fd5b833567ffffffffffffffff808211156116d057600080fd5b6116dc8783880161157a565b945060208601359150808211156116f257600080fd5b506116ff868287016115ea565b925050604084013561171081611695565b809150509250925092565b60005b8381101561173657818101518382015260200161171e565b50506000910152565b6000815180845261175781602086016020860161171b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83518152602080850151908201526080604082015260006117ad608083018561173f565b82810360608401526117bf818561173f565b9695505050505050565b803563ffffffff811681146117dd57600080fd5b919050565b6000602082840312156117f457600080fd5b610ddd826117c9565b602081526000610ddd602083018461173f565b73ffffffffffffffffffffffffffffffffffffffff81168114610cab57600080fd5b80356117dd81611810565b6000806040838503121561185057600080fd5b823561185b81611810565b946020939093013593505050565b60006020828403121561187b57600080fd5b8135610ddd81611810565b6000806000806060858703121561189c57600080fd5b843567ffffffffffffffff808211156118b457600080fd5b6118c08883890161157a565b955060208701359150808211156118d657600080fd5b506118e387828801611493565b90945092505060408501356118f781611695565b939692955090935050565b8151815260208083015190820152604081016105f2565b60006020828403121561192b57600080fd5b813567ffffffffffffffff81111561194257600080fd5b610bd2848285016115ea565b8183823760009101908152919050565b803567ffffffffffffffff811681146117dd57600080fd5b600060e0823603121561198857600080fd5b6119906115c1565b6119998361195e565b81526119a7602084016117c9565b60208201526119b860408401611832565b60408201526119c9606084016117c9565b60608201526080830135608082015260a083013560a082015260c083013567ffffffffffffffff8111156119fc57600080fd5b611a08368286016115ea565b60c08301525092915050565b600181811c90821680611a2857607f821691505b60208210810361158c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060208284031215611a7357600080fd5b8151610ddd81611810565b601f821115610b42576000816000526020600020601f850160051c81016020861015611aa75750805b601f850160051c820191505b81811015611ac657828155600101611ab3565b505050505050565b815167ffffffffffffffff811115611ae857611ae8611592565b611afc81611af68454611a14565b84611a7e565b602080601f831160018114611b4f5760008415611b195750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611ac6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015611b9c57888601518255948401946001909101908401611b7d565b5085821015611bd857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008085851115611bf857600080fd5b83861115611c0557600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c525780818660040360031b1b83161692505b505092915050565b803560208310156105f2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015611c525760089490940360031b84901b1690921692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b1681527fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b16600182015260007fffffffff00000000000000000000000000000000000000000000000000000000808960e01b16600984015287600d840152808760e01b16602d840152508460318301528360518301528251611d8e81607185016020870161171b565b919091016071019998505050505050505050565b600060208284031215611db457600080fd5b8151610ddd81611695565b60008251611dd181846020870161171b565b919091019291505056fea264697066735822122094b5d0ed838fa5020c414183b57de7ccf607dba20c918e10b74020e69974479964736f6c63430008160033",
624
624
  "devdoc": {
625
625
  "kind": "dev",
626
626
  "methods": {
@@ -647,7 +647,7 @@
647
647
  "storageLayout": {
648
648
  "storage": [
649
649
  {
650
- "astId": 7,
650
+ "astId": 506,
651
651
  "contract": "contracts/messagelib/SimpleMessageLib.sol:SimpleMessageLib",
652
652
  "label": "_owner",
653
653
  "offset": 0,
@@ -655,7 +655,7 @@
655
655
  "type": "t_address"
656
656
  },
657
657
  {
658
- "astId": 5535,
658
+ "astId": 6175,
659
659
  "contract": "contracts/messagelib/SimpleMessageLib.sol:SimpleMessageLib",
660
660
  "label": "whitelistCaller",
661
661
  "offset": 0,
@@ -663,7 +663,7 @@
663
663
  "type": "t_address"
664
664
  },
665
665
  {
666
- "astId": 5537,
666
+ "astId": 6177,
667
667
  "contract": "contracts/messagelib/SimpleMessageLib.sol:SimpleMessageLib",
668
668
  "label": "lzTokenFee",
669
669
  "offset": 0,
@@ -671,7 +671,7 @@
671
671
  "type": "t_uint256"
672
672
  },
673
673
  {
674
- "astId": 5539,
674
+ "astId": 6179,
675
675
  "contract": "contracts/messagelib/SimpleMessageLib.sol:SimpleMessageLib",
676
676
  "label": "nativeFee",
677
677
  "offset": 0,
@@ -679,7 +679,7 @@
679
679
  "type": "t_uint256"
680
680
  },
681
681
  {
682
- "astId": 5541,
682
+ "astId": 6181,
683
683
  "contract": "contracts/messagelib/SimpleMessageLib.sol:SimpleMessageLib",
684
684
  "label": "defaultOption",
685
685
  "offset": 0,
@@ -3,12 +3,7 @@
3
3
  "abi": [
4
4
  {
5
5
  "inputs": [],
6
- "name": "LzTokenNotEnabled",
7
- "type": "error"
8
- },
9
- {
10
- "inputs": [],
11
- "name": "ToAddressIsZero",
6
+ "name": "LZ_Treasury_LzTokenNotEnabled",
12
7
  "type": "error"
13
8
  },
14
9
  {
@@ -24,7 +19,12 @@
24
19
  "type": "uint256"
25
20
  }
26
21
  ],
27
- "name": "TransferNativeFailed",
22
+ "name": "Transfer_NativeFailed",
23
+ "type": "error"
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "Transfer_ToAddressIsZero",
28
28
  "type": "error"
29
29
  },
30
30
  {
@@ -300,7 +300,7 @@
300
300
  "type": "function"
301
301
  }
302
302
  ],
303
- "transactionHash": "0x98dc0be13c57e95fa2bc86de9ad6eaa9901d313a18707c34b0a9674a52c12acf",
303
+ "transactionHash": "0x254a74c700bd4cbe14cd03012095a38e35bb3c17990cf6342e376029be09411e",
304
304
  "receipt": {
305
305
  "to": null,
306
306
  "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
@@ -308,13 +308,13 @@
308
308
  "transactionIndex": 0,
309
309
  "gasUsed": "839184",
310
310
  "logsBloom": "0x00000000000000000002000000000000000000000000000000800000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000800020000000000000000000800000000000000000000000000000000400000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000001000000000000000000000000000000",
311
- "blockHash": "0x7a2aa4909fb143bb1cdc57707204f10a8c3b449e50c093a259359f480f684678",
312
- "transactionHash": "0x98dc0be13c57e95fa2bc86de9ad6eaa9901d313a18707c34b0a9674a52c12acf",
311
+ "blockHash": "0x8e1064cb9694b2bf8bea542c8a9369929da38396b4b8d8b0ef031f8a15387c57",
312
+ "transactionHash": "0x254a74c700bd4cbe14cd03012095a38e35bb3c17990cf6342e376029be09411e",
313
313
  "logs": [
314
314
  {
315
315
  "transactionIndex": 0,
316
- "blockNumber": 39,
317
- "transactionHash": "0x98dc0be13c57e95fa2bc86de9ad6eaa9901d313a18707c34b0a9674a52c12acf",
316
+ "blockNumber": 42,
317
+ "transactionHash": "0x254a74c700bd4cbe14cd03012095a38e35bb3c17990cf6342e376029be09411e",
318
318
  "address": "0x90118d110B07ABB82Ba8980D1c5cC96EeA810d2C",
319
319
  "topics": [
320
320
  "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
@@ -323,19 +323,19 @@
323
323
  ],
324
324
  "data": "0x",
325
325
  "logIndex": 0,
326
- "blockHash": "0x7a2aa4909fb143bb1cdc57707204f10a8c3b449e50c093a259359f480f684678"
326
+ "blockHash": "0x8e1064cb9694b2bf8bea542c8a9369929da38396b4b8d8b0ef031f8a15387c57"
327
327
  }
328
328
  ],
329
- "blockNumber": 39,
329
+ "blockNumber": 42,
330
330
  "cumulativeGasUsed": "839184",
331
331
  "status": 1,
332
332
  "byzantium": true
333
333
  },
334
334
  "args": [],
335
335
  "numDeployments": 1,
336
- "solcInputHash": "9a77f541806fd95ff35b8613e526dae5",
337
- "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610ddb8061007e6000396000f3fe6080604052600436106100dd5760003560e01c80638ee643a61161007f578063bf6e753611610059578063bf6e753614610237578063d424422114610257578063d51c548614610277578063f2fde38b1461028557600080fd5b80638ee643a6146101dd57806390953238146101fd57806396a141a01461022157600080fd5b80633972d46c116100bb5780633972d46c14610153578063715018a6146101735780637e8a0699146101885780638da5cb5b146101a857600080fd5b806301d9c2cb146100e257806301e336671461011157806301f1f6e814610133575b600080fd5b3480156100ee57600080fd5b506003546100fc9060ff1681565b60405190151581526020015b60405180910390f35b34801561011d57600080fd5b5061013161012c366004610b28565b6102a5565b005b34801561013f57600080fd5b5061013161014e366004610b77565b6102bd565b34801561015f57600080fd5b5061013161016e366004610b9b565b6102f6565b34801561017f57600080fd5b50610131610303565b34801561019457600080fd5b506101316101a3366004610bb4565b610317565b3480156101b457600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b3480156101e957600080fd5b506101316101f8366004610b9b565b6103b5565b34801561020957600080fd5b5061021360025481565b604051908152602001610108565b34801561022d57600080fd5b5061021360015481565b34801561024357600080fd5b50610131610252366004610b28565b6103c2565b34801561026357600080fd5b50610213610272366004610c05565b610457565b610213610272366004610c05565b34801561029157600080fd5b506101316102a0366004610c61565b61046e565b6102ad61052a565b6102b88383836105ab565b505050565b6102c561052a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6102fe61052a565b600155565b61030b61052a565b61031560006105db565b565b61031f61052a565b6040517f200175f700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301526044820183905285169063200175f790606401600060405180830381600087803b15801561039757600080fd5b505af11580156103ab573d6000803e3d6000fd5b5050505050505050565b6103bd61052a565b600255565b6103ca61052a565b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b15801561043a57600080fd5b505af115801561044e573d6000803e3d6000fd5b50505050505050565b60006104638383610650565b90505b949350505050565b61047661052a565b73ffffffffffffffffffffffffffffffffffffffff811661051e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610527816105db565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610515565b73ffffffffffffffffffffffffffffffffffffffff83166105d0576102b882826106c1565b6102b88383836107c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000811561069d5760035460ff16610694576040517fd22af88c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506002546106bb565b612710600154846106ae9190610c7e565b6106b89190610cbc565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff821661070e576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610768576040519150601f19603f3d011682016040523d82523d6000602084013e61076d565b606091505b50509050806102b8576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610515565b73ffffffffffffffffffffffffffffffffffffffff8216610814576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102b892908616918591859185918591906000906108e89084908490610995565b90508051600014806109095750808060200190518101906109099190610cf7565b6102b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610515565b60606104668484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516109c99190610d38565b60006040518083038185875af1925050503d8060008114610a06576040519150601f19603f3d011682016040523d82523d6000602084013e610a0b565b606091505b5091509150610a1c87838387610a27565b979650505050505050565b60608315610abd578251600003610ab65773ffffffffffffffffffffffffffffffffffffffff85163b610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610515565b5081610466565b6104668383815115610ad25781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105159190610d54565b73ffffffffffffffffffffffffffffffffffffffff8116811461052757600080fd5b600080600060608486031215610b3d57600080fd5b8335610b4881610b06565b92506020840135610b5881610b06565b929592945050506040919091013590565b801515811461052757600080fd5b600060208284031215610b8957600080fd5b8135610b9481610b69565b9392505050565b600060208284031215610bad57600080fd5b5035919050565b60008060008060808587031215610bca57600080fd5b8435610bd581610b06565b93506020850135610be581610b06565b92506040850135610bf581610b06565b9396929550929360600135925050565b60008060008060808587031215610c1b57600080fd5b8435610c2681610b06565b9350602085013563ffffffff81168114610c3f57600080fd5b9250604085013591506060850135610c5681610b69565b939692955090935050565b600060208284031215610c7357600080fd5b8135610b9481610b06565b80820281158282048414176106bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082610cf2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600060208284031215610d0957600080fd5b8151610b9481610b69565b60005b83811015610d2f578181015183820152602001610d17565b50506000910152565b60008251610d4a818460208701610d14565b9190910192915050565b6020815260008251806020840152610d73816040850160208701610d14565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220e5b42c03e5e64a925ede25f696d5e4f6918effbc468da362954342f460ec709b64736f6c63430008160033",
338
- "deployedBytecode": "0x6080604052600436106100dd5760003560e01c80638ee643a61161007f578063bf6e753611610059578063bf6e753614610237578063d424422114610257578063d51c548614610277578063f2fde38b1461028557600080fd5b80638ee643a6146101dd57806390953238146101fd57806396a141a01461022157600080fd5b80633972d46c116100bb5780633972d46c14610153578063715018a6146101735780637e8a0699146101885780638da5cb5b146101a857600080fd5b806301d9c2cb146100e257806301e336671461011157806301f1f6e814610133575b600080fd5b3480156100ee57600080fd5b506003546100fc9060ff1681565b60405190151581526020015b60405180910390f35b34801561011d57600080fd5b5061013161012c366004610b28565b6102a5565b005b34801561013f57600080fd5b5061013161014e366004610b77565b6102bd565b34801561015f57600080fd5b5061013161016e366004610b9b565b6102f6565b34801561017f57600080fd5b50610131610303565b34801561019457600080fd5b506101316101a3366004610bb4565b610317565b3480156101b457600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b3480156101e957600080fd5b506101316101f8366004610b9b565b6103b5565b34801561020957600080fd5b5061021360025481565b604051908152602001610108565b34801561022d57600080fd5b5061021360015481565b34801561024357600080fd5b50610131610252366004610b28565b6103c2565b34801561026357600080fd5b50610213610272366004610c05565b610457565b610213610272366004610c05565b34801561029157600080fd5b506101316102a0366004610c61565b61046e565b6102ad61052a565b6102b88383836105ab565b505050565b6102c561052a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6102fe61052a565b600155565b61030b61052a565b61031560006105db565b565b61031f61052a565b6040517f200175f700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301526044820183905285169063200175f790606401600060405180830381600087803b15801561039757600080fd5b505af11580156103ab573d6000803e3d6000fd5b5050505050505050565b6103bd61052a565b600255565b6103ca61052a565b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b15801561043a57600080fd5b505af115801561044e573d6000803e3d6000fd5b50505050505050565b60006104638383610650565b90505b949350505050565b61047661052a565b73ffffffffffffffffffffffffffffffffffffffff811661051e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610527816105db565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610515565b73ffffffffffffffffffffffffffffffffffffffff83166105d0576102b882826106c1565b6102b88383836107c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000811561069d5760035460ff16610694576040517fd22af88c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506002546106bb565b612710600154846106ae9190610c7e565b6106b89190610cbc565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff821661070e576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610768576040519150601f19603f3d011682016040523d82523d6000602084013e61076d565b606091505b50509050806102b8576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610515565b73ffffffffffffffffffffffffffffffffffffffff8216610814576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102b892908616918591859185918591906000906108e89084908490610995565b90508051600014806109095750808060200190518101906109099190610cf7565b6102b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610515565b60606104668484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516109c99190610d38565b60006040518083038185875af1925050503d8060008114610a06576040519150601f19603f3d011682016040523d82523d6000602084013e610a0b565b606091505b5091509150610a1c87838387610a27565b979650505050505050565b60608315610abd578251600003610ab65773ffffffffffffffffffffffffffffffffffffffff85163b610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610515565b5081610466565b6104668383815115610ad25781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105159190610d54565b73ffffffffffffffffffffffffffffffffffffffff8116811461052757600080fd5b600080600060608486031215610b3d57600080fd5b8335610b4881610b06565b92506020840135610b5881610b06565b929592945050506040919091013590565b801515811461052757600080fd5b600060208284031215610b8957600080fd5b8135610b9481610b69565b9392505050565b600060208284031215610bad57600080fd5b5035919050565b60008060008060808587031215610bca57600080fd5b8435610bd581610b06565b93506020850135610be581610b06565b92506040850135610bf581610b06565b9396929550929360600135925050565b60008060008060808587031215610c1b57600080fd5b8435610c2681610b06565b9350602085013563ffffffff81168114610c3f57600080fd5b9250604085013591506060850135610c5681610b69565b939692955090935050565b600060208284031215610c7357600080fd5b8135610b9481610b06565b80820281158282048414176106bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082610cf2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600060208284031215610d0957600080fd5b8151610b9481610b69565b60005b83811015610d2f578181015183820152602001610d17565b50506000910152565b60008251610d4a818460208701610d14565b9190910192915050565b6020815260008251806020840152610d73816040850160208701610d14565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220e5b42c03e5e64a925ede25f696d5e4f6918effbc468da362954342f460ec709b64736f6c63430008160033",
336
+ "solcInputHash": "206c0dde26401fe2fb94e875b1b843ad",
337
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610ddb8061007e6000396000f3fe6080604052600436106100dd5760003560e01c80638ee643a61161007f578063bf6e753611610059578063bf6e753614610237578063d424422114610257578063d51c548614610277578063f2fde38b1461028557600080fd5b80638ee643a6146101dd57806390953238146101fd57806396a141a01461022157600080fd5b80633972d46c116100bb5780633972d46c14610153578063715018a6146101735780637e8a0699146101885780638da5cb5b146101a857600080fd5b806301d9c2cb146100e257806301e336671461011157806301f1f6e814610133575b600080fd5b3480156100ee57600080fd5b506003546100fc9060ff1681565b60405190151581526020015b60405180910390f35b34801561011d57600080fd5b5061013161012c366004610b28565b6102a5565b005b34801561013f57600080fd5b5061013161014e366004610b77565b6102bd565b34801561015f57600080fd5b5061013161016e366004610b9b565b6102f6565b34801561017f57600080fd5b50610131610303565b34801561019457600080fd5b506101316101a3366004610bb4565b610317565b3480156101b457600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b3480156101e957600080fd5b506101316101f8366004610b9b565b6103b5565b34801561020957600080fd5b5061021360025481565b604051908152602001610108565b34801561022d57600080fd5b5061021360015481565b34801561024357600080fd5b50610131610252366004610b28565b6103c2565b34801561026357600080fd5b50610213610272366004610c05565b610457565b610213610272366004610c05565b34801561029157600080fd5b506101316102a0366004610c61565b61046e565b6102ad61052a565b6102b88383836105ab565b505050565b6102c561052a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6102fe61052a565b600155565b61030b61052a565b61031560006105db565b565b61031f61052a565b6040517f200175f700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301526044820183905285169063200175f790606401600060405180830381600087803b15801561039757600080fd5b505af11580156103ab573d6000803e3d6000fd5b5050505050505050565b6103bd61052a565b600255565b6103ca61052a565b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b15801561043a57600080fd5b505af115801561044e573d6000803e3d6000fd5b50505050505050565b60006104638383610650565b90505b949350505050565b61047661052a565b73ffffffffffffffffffffffffffffffffffffffff811661051e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610527816105db565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610515565b73ffffffffffffffffffffffffffffffffffffffff83166105d0576102b882826106c1565b6102b88383836107c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000811561069d5760035460ff16610694576040517f1cf849b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506002546106bb565b612710600154846106ae9190610c7e565b6106b89190610cbc565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff821661070e576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610768576040519150601f19603f3d011682016040523d82523d6000602084013e61076d565b606091505b50509050806102b8576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610515565b73ffffffffffffffffffffffffffffffffffffffff8216610814576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102b892908616918591859185918591906000906108e89084908490610995565b90508051600014806109095750808060200190518101906109099190610cf7565b6102b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610515565b60606104668484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516109c99190610d38565b60006040518083038185875af1925050503d8060008114610a06576040519150601f19603f3d011682016040523d82523d6000602084013e610a0b565b606091505b5091509150610a1c87838387610a27565b979650505050505050565b60608315610abd578251600003610ab65773ffffffffffffffffffffffffffffffffffffffff85163b610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610515565b5081610466565b6104668383815115610ad25781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105159190610d54565b73ffffffffffffffffffffffffffffffffffffffff8116811461052757600080fd5b600080600060608486031215610b3d57600080fd5b8335610b4881610b06565b92506020840135610b5881610b06565b929592945050506040919091013590565b801515811461052757600080fd5b600060208284031215610b8957600080fd5b8135610b9481610b69565b9392505050565b600060208284031215610bad57600080fd5b5035919050565b60008060008060808587031215610bca57600080fd5b8435610bd581610b06565b93506020850135610be581610b06565b92506040850135610bf581610b06565b9396929550929360600135925050565b60008060008060808587031215610c1b57600080fd5b8435610c2681610b06565b9350602085013563ffffffff81168114610c3f57600080fd5b9250604085013591506060850135610c5681610b69565b939692955090935050565b600060208284031215610c7357600080fd5b8135610b9481610b06565b80820281158282048414176106bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082610cf2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600060208284031215610d0957600080fd5b8151610b9481610b69565b60005b83811015610d2f578181015183820152602001610d17565b50506000910152565b60008251610d4a818460208701610d14565b9190910192915050565b6020815260008251806020840152610d73816040850160208701610d14565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220a5949451e7850e7552b1148776157165cebf6d96f7c3a9023511d15d7e04058d64736f6c63430008160033",
338
+ "deployedBytecode": "0x6080604052600436106100dd5760003560e01c80638ee643a61161007f578063bf6e753611610059578063bf6e753614610237578063d424422114610257578063d51c548614610277578063f2fde38b1461028557600080fd5b80638ee643a6146101dd57806390953238146101fd57806396a141a01461022157600080fd5b80633972d46c116100bb5780633972d46c14610153578063715018a6146101735780637e8a0699146101885780638da5cb5b146101a857600080fd5b806301d9c2cb146100e257806301e336671461011157806301f1f6e814610133575b600080fd5b3480156100ee57600080fd5b506003546100fc9060ff1681565b60405190151581526020015b60405180910390f35b34801561011d57600080fd5b5061013161012c366004610b28565b6102a5565b005b34801561013f57600080fd5b5061013161014e366004610b77565b6102bd565b34801561015f57600080fd5b5061013161016e366004610b9b565b6102f6565b34801561017f57600080fd5b50610131610303565b34801561019457600080fd5b506101316101a3366004610bb4565b610317565b3480156101b457600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b3480156101e957600080fd5b506101316101f8366004610b9b565b6103b5565b34801561020957600080fd5b5061021360025481565b604051908152602001610108565b34801561022d57600080fd5b5061021360015481565b34801561024357600080fd5b50610131610252366004610b28565b6103c2565b34801561026357600080fd5b50610213610272366004610c05565b610457565b610213610272366004610c05565b34801561029157600080fd5b506101316102a0366004610c61565b61046e565b6102ad61052a565b6102b88383836105ab565b505050565b6102c561052a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6102fe61052a565b600155565b61030b61052a565b61031560006105db565b565b61031f61052a565b6040517f200175f700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301526044820183905285169063200175f790606401600060405180830381600087803b15801561039757600080fd5b505af11580156103ab573d6000803e3d6000fd5b5050505050505050565b6103bd61052a565b600255565b6103ca61052a565b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b15801561043a57600080fd5b505af115801561044e573d6000803e3d6000fd5b50505050505050565b60006104638383610650565b90505b949350505050565b61047661052a565b73ffffffffffffffffffffffffffffffffffffffff811661051e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610527816105db565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610515565b73ffffffffffffffffffffffffffffffffffffffff83166105d0576102b882826106c1565b6102b88383836107c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000811561069d5760035460ff16610694576040517f1cf849b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506002546106bb565b612710600154846106ae9190610c7e565b6106b89190610cbc565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff821661070e576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610768576040519150601f19603f3d011682016040523d82523d6000602084013e61076d565b606091505b50509050806102b8576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610515565b73ffffffffffffffffffffffffffffffffffffffff8216610814576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102b892908616918591859185918591906000906108e89084908490610995565b90508051600014806109095750808060200190518101906109099190610cf7565b6102b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610515565b60606104668484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516109c99190610d38565b60006040518083038185875af1925050503d8060008114610a06576040519150601f19603f3d011682016040523d82523d6000602084013e610a0b565b606091505b5091509150610a1c87838387610a27565b979650505050505050565b60608315610abd578251600003610ab65773ffffffffffffffffffffffffffffffffffffffff85163b610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610515565b5081610466565b6104668383815115610ad25781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105159190610d54565b73ffffffffffffffffffffffffffffffffffffffff8116811461052757600080fd5b600080600060608486031215610b3d57600080fd5b8335610b4881610b06565b92506020840135610b5881610b06565b929592945050506040919091013590565b801515811461052757600080fd5b600060208284031215610b8957600080fd5b8135610b9481610b69565b9392505050565b600060208284031215610bad57600080fd5b5035919050565b60008060008060808587031215610bca57600080fd5b8435610bd581610b06565b93506020850135610be581610b06565b92506040850135610bf581610b06565b9396929550929360600135925050565b60008060008060808587031215610c1b57600080fd5b8435610c2681610b06565b9350602085013563ffffffff81168114610c3f57600080fd5b9250604085013591506060850135610c5681610b69565b939692955090935050565b600060208284031215610c7357600080fd5b8135610b9481610b06565b80820281158282048414176106bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082610cf2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600060208284031215610d0957600080fd5b8151610b9481610b69565b60005b83811015610d2f578181015183820152602001610d17565b50506000910152565b60008251610d4a818460208701610d14565b9190910192915050565b6020815260008251806020840152610d73816040850160208701610d14565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220a5949451e7850e7552b1148776157165cebf6d96f7c3a9023511d15d7e04058d64736f6c63430008160033",
339
339
  "devdoc": {
340
340
  "kind": "dev",
341
341
  "methods": {
@@ -359,7 +359,7 @@
359
359
  "storageLayout": {
360
360
  "storage": [
361
361
  {
362
- "astId": 6813,
362
+ "astId": 7779,
363
363
  "contract": "contracts/Treasury.sol:Treasury",
364
364
  "label": "_owner",
365
365
  "offset": 0,
@@ -367,7 +367,7 @@
367
367
  "type": "t_address"
368
368
  },
369
369
  {
370
- "astId": 14649,
370
+ "astId": 15566,
371
371
  "contract": "contracts/Treasury.sol:Treasury",
372
372
  "label": "nativeBP",
373
373
  "offset": 0,
@@ -375,7 +375,7 @@
375
375
  "type": "t_uint256"
376
376
  },
377
377
  {
378
- "astId": 14651,
378
+ "astId": 15568,
379
379
  "contract": "contracts/Treasury.sol:Treasury",
380
380
  "label": "lzTokenFee",
381
381
  "offset": 0,
@@ -383,7 +383,7 @@
383
383
  "type": "t_uint256"
384
384
  },
385
385
  {
386
- "astId": 14653,
386
+ "astId": 15570,
387
387
  "contract": "contracts/Treasury.sol:Treasury",
388
388
  "label": "lzTokenEnabled",
389
389
  "offset": 0,
@@ -25,17 +25,17 @@
25
25
  "type": "uint256"
26
26
  }
27
27
  ],
28
- "name": "InvalidAmount",
28
+ "name": "LZ_TreasuryFeeHandler_InvalidAmount",
29
29
  "type": "error"
30
30
  },
31
31
  {
32
32
  "inputs": [],
33
- "name": "OnlyOnSending",
33
+ "name": "LZ_TreasuryFeeHandler_OnlyOnSending",
34
34
  "type": "error"
35
35
  },
36
36
  {
37
37
  "inputs": [],
38
- "name": "OnlySendLibrary",
38
+ "name": "LZ_TreasuryFeeHandler_OnlySendLibrary",
39
39
  "type": "error"
40
40
  },
41
41
  {
@@ -85,19 +85,19 @@
85
85
  "type": "function"
86
86
  }
87
87
  ],
88
- "transactionHash": "0x33d63b1aaa5319b897f0c6f397f772f8b5a62621ab454101e04b2b8d3212aa46",
88
+ "transactionHash": "0xd27cb19e2c57eff7163924ba0ca3418e300638bff554c01efec1281a93ebde8a",
89
89
  "receipt": {
90
90
  "to": null,
91
91
  "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
92
92
  "contractAddress": "0xcA03Dc4665A8C3603cb4Fd5Ce71Af9649dC00d44",
93
93
  "transactionIndex": 0,
94
- "gasUsed": "501989",
94
+ "gasUsed": "501977",
95
95
  "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
96
- "blockHash": "0x4d607ea37bdf39e2a2d8665604d2541fa60b17647a5701ca069deb77cd32ab1b",
97
- "transactionHash": "0x33d63b1aaa5319b897f0c6f397f772f8b5a62621ab454101e04b2b8d3212aa46",
96
+ "blockHash": "0x310f45aaa6f2943eea1a362dc73d506f1c4135e0e1b22253dc9feeb80aeea125",
97
+ "transactionHash": "0xd27cb19e2c57eff7163924ba0ca3418e300638bff554c01efec1281a93ebde8a",
98
98
  "logs": [],
99
- "blockNumber": 40,
100
- "cumulativeGasUsed": "501989",
99
+ "blockNumber": 43,
100
+ "cumulativeGasUsed": "501977",
101
101
  "status": 1,
102
102
  "byzantium": true
103
103
  },
@@ -105,9 +105,9 @@
105
105
  "0x8464135c8F25Da09e49BC8782676a84730C318bC"
106
106
  ],
107
107
  "numDeployments": 1,
108
- "solcInputHash": "9a77f541806fd95ff35b8613e526dae5",
109
- "bytecode": "0x60a060405234801561001057600080fd5b506040516108be3803806108be83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516108276100976000396000818160400152818160e701526101a301526108276000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635e280f111461003b5780637da56b4b1461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e6100993660046106bb565b6100a0565b005b6040517f9c729da100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015233917f000000000000000000000000000000000000000000000000000000000000000090911690639c729da190602401602060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610154919061071a565b73ffffffffffffffffffffffffffffffffffffffff16146101a1576040517f94cfb9e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e97a448a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610230919061073e565b610266576040517f0a98f1a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818311156102af576040517f7c83fcf000000000000000000000000000000000000000000000000000000000815260048101849052602481018390526044015b60405180910390fd5b6102d173ffffffffffffffffffffffffffffffffffffffff86168583866102d8565b5050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261036d908590610373565b50505050565b60006103d5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104879092919063ffffffff16565b90508051600014806103f65750808060200190518101906103f6919061073e565b610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102a6565b505050565b6060610496848460008561049e565b949350505050565b606082471015610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102a6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105599190610784565b60006040518083038185875af1925050503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b50915091506105ac878383876105b7565b979650505050505050565b6060831561064d5782516000036106465773ffffffffffffffffffffffffffffffffffffffff85163b610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102a6565b5081610496565b61049683838151156106625781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a691906107a0565b73ffffffffffffffffffffffffffffffffffffffff811681146106b857600080fd5b50565b600080600080600060a086880312156106d357600080fd5b85356106de81610696565b945060208601356106ee81610696565b93506040860135925060608601359150608086013561070c81610696565b809150509295509295909350565b60006020828403121561072c57600080fd5b815161073781610696565b9392505050565b60006020828403121561075057600080fd5b8151801515811461073757600080fd5b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122040f8377a01489fea120705b659ed3067aa82d3c0c4341076a2a4c07dda83e0a764736f6c63430008160033",
110
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80635e280f111461003b5780637da56b4b1461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e6100993660046106bb565b6100a0565b005b6040517f9c729da100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015233917f000000000000000000000000000000000000000000000000000000000000000090911690639c729da190602401602060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610154919061071a565b73ffffffffffffffffffffffffffffffffffffffff16146101a1576040517f94cfb9e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e97a448a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610230919061073e565b610266576040517f0a98f1a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818311156102af576040517f7c83fcf000000000000000000000000000000000000000000000000000000000815260048101849052602481018390526044015b60405180910390fd5b6102d173ffffffffffffffffffffffffffffffffffffffff86168583866102d8565b5050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261036d908590610373565b50505050565b60006103d5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104879092919063ffffffff16565b90508051600014806103f65750808060200190518101906103f6919061073e565b610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102a6565b505050565b6060610496848460008561049e565b949350505050565b606082471015610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102a6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105599190610784565b60006040518083038185875af1925050503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b50915091506105ac878383876105b7565b979650505050505050565b6060831561064d5782516000036106465773ffffffffffffffffffffffffffffffffffffffff85163b610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102a6565b5081610496565b61049683838151156106625781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a691906107a0565b73ffffffffffffffffffffffffffffffffffffffff811681146106b857600080fd5b50565b600080600080600060a086880312156106d357600080fd5b85356106de81610696565b945060208601356106ee81610696565b93506040860135925060608601359150608086013561070c81610696565b809150509295509295909350565b60006020828403121561072c57600080fd5b815161073781610696565b9392505050565b60006020828403121561075057600080fd5b8151801515811461073757600080fd5b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122040f8377a01489fea120705b659ed3067aa82d3c0c4341076a2a4c07dda83e0a764736f6c63430008160033",
108
+ "solcInputHash": "206c0dde26401fe2fb94e875b1b843ad",
109
+ "bytecode": "0x60a060405234801561001057600080fd5b506040516108be3803806108be83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516108276100976000396000818160400152818160e701526101a301526108276000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635e280f111461003b5780637da56b4b1461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e6100993660046106bb565b6100a0565b005b6040517f9c729da100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015233917f000000000000000000000000000000000000000000000000000000000000000090911690639c729da190602401602060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610154919061071a565b73ffffffffffffffffffffffffffffffffffffffff16146101a1576040517fc857f60c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e97a448a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610230919061073e565b610266576040517fbae51fef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818311156102af576040517f901cc98000000000000000000000000000000000000000000000000000000000815260048101849052602481018390526044015b60405180910390fd5b6102d173ffffffffffffffffffffffffffffffffffffffff86168583866102d8565b5050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261036d908590610373565b50505050565b60006103d5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104879092919063ffffffff16565b90508051600014806103f65750808060200190518101906103f6919061073e565b610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102a6565b505050565b6060610496848460008561049e565b949350505050565b606082471015610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102a6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105599190610784565b60006040518083038185875af1925050503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b50915091506105ac878383876105b7565b979650505050505050565b6060831561064d5782516000036106465773ffffffffffffffffffffffffffffffffffffffff85163b610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102a6565b5081610496565b61049683838151156106625781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a691906107a0565b73ffffffffffffffffffffffffffffffffffffffff811681146106b857600080fd5b50565b600080600080600060a086880312156106d357600080fd5b85356106de81610696565b945060208601356106ee81610696565b93506040860135925060608601359150608086013561070c81610696565b809150509295509295909350565b60006020828403121561072c57600080fd5b815161073781610696565b9392505050565b60006020828403121561075057600080fd5b8151801515811461073757600080fd5b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220f6e4a34a8ea04f675bb162ee572713d5663587ca35061700938515403941b3df64736f6c63430008160033",
110
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80635e280f111461003b5780637da56b4b1461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61009e6100993660046106bb565b6100a0565b005b6040517f9c729da100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015233917f000000000000000000000000000000000000000000000000000000000000000090911690639c729da190602401602060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610154919061071a565b73ffffffffffffffffffffffffffffffffffffffff16146101a1576040517fc857f60c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e97a448a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610230919061073e565b610266576040517fbae51fef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818311156102af576040517f901cc98000000000000000000000000000000000000000000000000000000000815260048101849052602481018390526044015b60405180910390fd5b6102d173ffffffffffffffffffffffffffffffffffffffff86168583866102d8565b5050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261036d908590610373565b50505050565b60006103d5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104879092919063ffffffff16565b90508051600014806103f65750808060200190518101906103f6919061073e565b610482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102a6565b505050565b6060610496848460008561049e565b949350505050565b606082471015610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102a6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516105599190610784565b60006040518083038185875af1925050503d8060008114610596576040519150601f19603f3d011682016040523d82523d6000602084013e61059b565b606091505b50915091506105ac878383876105b7565b979650505050505050565b6060831561064d5782516000036106465773ffffffffffffffffffffffffffffffffffffffff85163b610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102a6565b5081610496565b61049683838151156106625781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a691906107a0565b73ffffffffffffffffffffffffffffffffffffffff811681146106b857600080fd5b50565b600080600080600060a086880312156106d357600080fd5b85356106de81610696565b945060208601356106ee81610696565b93506040860135925060608601359150608086013561070c81610696565b809150509295509295909350565b60006020828403121561072c57600080fd5b815161073781610696565b9392505050565b60006020828403121561075057600080fd5b8151801515811461073757600080fd5b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220f6e4a34a8ea04f675bb162ee572713d5663587ca35061700938515403941b3df64736f6c63430008160033",
111
111
  "devdoc": {
112
112
  "kind": "dev",
113
113
  "methods": {},