@layerzerolabs/lz-evm-messagelib-v2 2.0.13 → 2.0.15

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 (110) hide show
  1. package/artifacts/contracts/Executor.sol/Executor.json +20 -20
  2. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +19 -19
  3. package/artifacts/contracts/MessageLibBase.sol/MessageLibBase.json +1 -1
  4. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +15 -15
  5. package/artifacts/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +1 -1
  6. package/artifacts/contracts/SendLibBase.sol/SendLibBase.json +6 -6
  7. package/artifacts/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +10 -10
  8. package/artifacts/contracts/Treasury.sol/Treasury.json +9 -9
  9. package/artifacts/contracts/Worker.sol/Worker.json +18 -18
  10. package/artifacts/contracts/interfaces/IExecutor.sol/IExecutor.json +3 -3
  11. package/artifacts/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +4 -4
  12. package/artifacts/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +3 -3
  13. package/artifacts/contracts/interfaces/IWorker.sol/IWorker.json +3 -3
  14. package/artifacts/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +35 -0
  15. package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +279 -20
  16. package/artifacts/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +90 -11
  17. package/artifacts/contracts/uln/SendUlnBase.sol/SendUlnBase.json +7 -7
  18. package/artifacts/contracts/uln/UlnBase.sol/UlnBase.json +7 -7
  19. package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +31 -31
  20. package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +14 -14
  21. package/artifacts/contracts/uln/dvn/MultiSig.sol/MultiSig.json +5 -5
  22. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +488 -169
  23. package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +372 -16
  24. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +419 -93
  25. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +34 -0
  26. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +30 -0
  27. package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +936 -0
  28. package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +868 -0
  29. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +611 -249
  30. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +30 -0
  31. package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +526 -13
  32. package/artifacts/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +16 -0
  33. package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +924 -0
  34. package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +891 -0
  35. package/artifacts/contracts/uln/interfaces/IDVN.sol/IDVN.json +3 -3
  36. package/artifacts/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +1 -1
  37. package/artifacts/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +0 -24
  38. package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +160 -0
  39. package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +282 -0
  40. package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +91 -0
  41. package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +290 -0
  42. package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +4 -4
  43. package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +7 -7
  44. package/artifacts/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +2 -2
  45. package/artifacts/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +5 -5
  46. package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +88 -57
  47. package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +178 -0
  48. package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +126 -0
  49. package/artifacts/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +15 -15
  50. package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +76 -76
  51. package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +5 -5
  52. package/artifacts/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +4 -4
  53. package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +79 -24
  54. package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +146 -0
  55. package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +251 -0
  56. package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +75 -75
  57. package/artifacts/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +18 -18
  58. package/contracts/ExecutorFeeLib.sol +6 -6
  59. package/contracts/MessageLibBase.sol +2 -2
  60. package/contracts/PriceFeed.sol +3 -3
  61. package/contracts/ReceiveLibBaseE2.sol +0 -26
  62. package/contracts/SendLibBase.sol +10 -10
  63. package/contracts/SendLibBaseE2.sol +4 -4
  64. package/contracts/Treasury.sol +2 -2
  65. package/contracts/Worker.sol +3 -3
  66. package/contracts/interfaces/IExecutorFeeLib.sol +4 -4
  67. package/contracts/interfaces/ILayerZeroPriceFeed.sol +3 -3
  68. package/contracts/interfaces/IWorker.sol +3 -3
  69. package/contracts/uln/LzExecutor.sol +51 -19
  70. package/contracts/uln/ReceiveUlnBase.sol +21 -14
  71. package/contracts/uln/UlnBase.sol +19 -19
  72. package/contracts/uln/dvn/DVN.sol +16 -16
  73. package/contracts/uln/dvn/DVNFeeLib.sol +2 -2
  74. package/contracts/uln/dvn/MultiSig.sol +13 -13
  75. package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol +95 -97
  76. package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol +64 -2
  77. package/contracts/uln/dvn/adapters/DVNAdapterBase.sol +74 -124
  78. package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol +126 -0
  79. package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol +50 -0
  80. package/contracts/uln/dvn/adapters/avalanche/NOTES.md +4 -0
  81. package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol +85 -100
  82. package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol +121 -2
  83. package/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol +36 -0
  84. package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol +86 -0
  85. package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol +58 -0
  86. package/contracts/uln/interfaces/IDVNFeeLib.sol +1 -1
  87. package/contracts/uln/interfaces/IReceiveUlnE2.sol +0 -5
  88. package/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol +45 -0
  89. package/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol +48 -0
  90. package/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol +30 -0
  91. package/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol +45 -0
  92. package/contracts/uln/libs/DVNOptions.sol +6 -6
  93. package/contracts/uln/libs/UlnOptions.sol +13 -13
  94. package/contracts/uln/uln301/AddressSizeConfig.sol +4 -4
  95. package/contracts/uln/uln301/ReceiveLibBaseE1.sol +4 -4
  96. package/contracts/uln/uln301/ReceiveUln301.sol +4 -41
  97. package/contracts/uln/uln301/ReceiveUln301View.sol +89 -0
  98. package/contracts/uln/uln301/SendLibBaseE1.sol +5 -5
  99. package/contracts/uln/uln301/SendUln301.sol +3 -3
  100. package/contracts/uln/uln301/TreasuryFeeHandler.sol +6 -6
  101. package/contracts/uln/uln301/interfaces/IMessageLibE1.sol +4 -4
  102. package/contracts/uln/uln302/ReceiveUln302.sol +4 -27
  103. package/contracts/uln/uln302/ReceiveUln302View.sol +89 -0
  104. package/contracts/uln/uln302/SendUln302.sol +3 -3
  105. package/contracts/upgradeable/WorkerUpgradeable.sol +3 -3
  106. package/package.json +7 -5
  107. package/artifacts/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol/DVNAdapterFeeLibBase.json +0 -50
  108. package/artifacts/contracts/uln/interfaces/IDVNAdapterFeeLib.sol/IDVNAdapterFeeLib.json +0 -50
  109. package/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol +0 -20
  110. package/contracts/uln/interfaces/IDVNAdapterFeeLib.sol +0 -13
@@ -22,12 +22,18 @@
22
22
  "type": "uint256"
23
23
  }
24
24
  ],
25
- "name": "InvalidDVNOptions",
25
+ "name": "DVN_InvalidDVNOptions",
26
26
  "type": "error"
27
27
  },
28
28
  {
29
- "inputs": [],
30
- "name": "ToAddressIsZero",
29
+ "inputs": [
30
+ {
31
+ "internalType": "uint8",
32
+ "name": "optionType",
33
+ "type": "uint8"
34
+ }
35
+ ],
36
+ "name": "DVN_UnsupportedOptionType",
31
37
  "type": "error"
32
38
  },
33
39
  {
@@ -43,18 +49,12 @@
43
49
  "type": "uint256"
44
50
  }
45
51
  ],
46
- "name": "TransferNativeFailed",
52
+ "name": "Transfer_NativeFailed",
47
53
  "type": "error"
48
54
  },
49
55
  {
50
- "inputs": [
51
- {
52
- "internalType": "uint8",
53
- "name": "optionType",
54
- "type": "uint8"
55
- }
56
- ],
57
- "name": "UnsupportedOptionType",
56
+ "inputs": [],
57
+ "name": "Transfer_ToAddressIsZero",
58
58
  "type": "error"
59
59
  },
60
60
  {
@@ -293,8 +293,8 @@
293
293
  "type": "receive"
294
294
  }
295
295
  ],
296
- "bytecode": "0x60a060405234801561001057600080fd5b5060405161121d38038061121d83398101604081905261002f91610090565b61003833610040565b6080526100a9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100a257600080fd5b5051919050565b6080516111596100c4600039600061073101526111596000f3fe6080604052600436106100695760003560e01c80638da5cb5b116100435780638da5cb5b146100df578063df2b057e14610114578063f2fde38b1461012757600080fd5b806301e3366714610075578063715018a6146100975780637bfa20a9146100ac57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b50610095610090366004610cf1565b610147565b005b3480156100a357600080fd5b5061009561015f565b3480156100b857600080fd5b506100cc6100c7366004610d2d565b610173565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100cc610122366004610d2d565b6102d5565b34801561013357600080fd5b50610095610142366004610ded565b6103b5565b61014f610471565b61015a8383836104f2565b505050565b610167610471565b6101716000610522565b565b600061017f8383610597565b5060006101a461019560a0880160808901610e08565b67ffffffffffffffff1661063b565b90506000806101b66020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff166388a4124c6101e160408b0160208c01610e32565b856101ef60208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff166044820152606401608060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102849190610e76565b9350505091506102c7828860200160208101906102a19190610ecb565b6102b160c08c0160a08d01610ecb565b6102c160608c0160408d01610eef565b856106a7565b93505050505b949350505050565b60006102e18383610597565b5060006102f761019560a0880160808901610e08565b90506000806103096020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff1663c1723a1d61033460408b0160208c01610e32565b8561034260208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff1660448201526064016080604051808303816000875af1158015610260573d6000803e3d6000fd5b6103bd610471565b73ffffffffffffffffffffffffffffffffffffffff8116610465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61046e81610522565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b73ffffffffffffffffffffffffffffffffffffffff83166105175761015a82826107a1565b61015a8383836108a7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008082156105f3576000806105ae868685610915565b6040517f3d6c5c7000000000000000000000000000000000000000000000000000000000815260ff85166004820152909650929450859350506024909101905061045c565b80831461062f576040517f9af41d330000000000000000000000000000000000000000000000000000000081526004810182905260240161045c565b60009150505b92915050565b600080610649604184610f3b565b9050610656602082610f81565b1561067e57610666602082610f81565b6106709082610f95565b61067b906020610fa8565b90505b8061068b60e06044610fa8565b6106959190610fa8565b6106a0906040610fa8565b9392505050565b60008061ffff8616156106ba57856106bc565b845b905060006127106106d161ffff84168a610f3b565b6106db9190610fbb565b90506fffffffffffffffffffffffffffffffff8416158061070c57506fffffffffffffffffffffffffffffffff8516155b1561071a5791506107989050565b6000846fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000000000000000000876fffffffffffffffffffffffffffffffff1661076d9190610f3b565b6107779190610fbb565b610781908a610fa8565b90508181116107905781610792565b805b93505050505b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166107ee576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610848576040519150601f19603f3d011682016040523d82523d6000602084013e61084d565b606091505b505090508061015a576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161045c565b73ffffffffffffffffffffffffffffffffffffffff82166108f4576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61015a73ffffffffffffffffffffffffffffffffffffffff8416838361096f565b6000368160018401816109298888846109fc565b60028301929091506109419089908990600301610a23565b94506002820161ffff8216830161095a81838b8d610fcf565b979b909a50969850505061ffff160193505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261015a908490610a48565b600060028201610a0e81848688610fcf565b610a1791610ff9565b60f01c95945050505050565b6000838383818110610a3757610a37611041565b919091013560f81c95945050505050565b6000610aaa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b579092919063ffffffff16565b9050805160001480610acb575080806020019051810190610acb9190611070565b61015a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161045c565b60606102cd8484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051610b8b91906110b6565b60006040518083038185875af1925050503d8060008114610bc8576040519150601f19603f3d011682016040523d82523d6000602084013e610bcd565b606091505b5091509150610bde87838387610be9565b979650505050505050565b60608315610c7f578251600003610c785773ffffffffffffffffffffffffffffffffffffffff85163b610c78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161045c565b50816102cd565b6102cd8383815115610c945781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045c91906110d2565b803573ffffffffffffffffffffffffffffffffffffffff81168114610cec57600080fd5b919050565b600080600060608486031215610d0657600080fd5b610d0f84610cc8565b9250610d1d60208501610cc8565b9150604084013590509250925092565b600080600080848603610140811215610d4557600080fd5b60c0811215610d5357600080fd5b85945060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215610d8657600080fd5b5060c08501925061012085013567ffffffffffffffff80821115610da957600080fd5b818701915087601f830112610dbd57600080fd5b813581811115610dcc57600080fd5b886020828501011115610dde57600080fd5b95989497505060200194505050565b600060208284031215610dff57600080fd5b6106a082610cc8565b600060208284031215610e1a57600080fd5b813567ffffffffffffffff811681146106a057600080fd5b600060208284031215610e4457600080fd5b813563ffffffff811681146106a057600080fd5b6fffffffffffffffffffffffffffffffff8116811461046e57600080fd5b60008060008060808587031215610e8c57600080fd5b845193506020850151610e9e81610e58565b6040860151909350610eaf81610e58565b6060860151909250610ec081610e58565b939692955090935050565b600060208284031215610edd57600080fd5b813561ffff811681146106a057600080fd5b600060208284031215610f0157600080fd5b81356106a081610e58565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761063557610635610f0c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610f9057610f90610f52565b500690565b8181038181111561063557610635610f0c565b8082018082111561063557610635610f0c565b600082610fca57610fca610f52565b500490565b60008085851115610fdf57600080fd5b83861115610fec57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110395780818660020360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561108257600080fd5b815180151581146106a057600080fd5b60005b838110156110ad578181015183820152602001611095565b50506000910152565b600082516110c8818460208701611092565b9190910192915050565b60208152600082518060208401526110f1816040850160208701611092565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220405b163eedb7d96cfa717e8bea403d52d4844783d645ebdcee51d3053e27223464736f6c63430008160033",
297
- "deployedBytecode": "0x6080604052600436106100695760003560e01c80638da5cb5b116100435780638da5cb5b146100df578063df2b057e14610114578063f2fde38b1461012757600080fd5b806301e3366714610075578063715018a6146100975780637bfa20a9146100ac57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b50610095610090366004610cf1565b610147565b005b3480156100a357600080fd5b5061009561015f565b3480156100b857600080fd5b506100cc6100c7366004610d2d565b610173565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100cc610122366004610d2d565b6102d5565b34801561013357600080fd5b50610095610142366004610ded565b6103b5565b61014f610471565b61015a8383836104f2565b505050565b610167610471565b6101716000610522565b565b600061017f8383610597565b5060006101a461019560a0880160808901610e08565b67ffffffffffffffff1661063b565b90506000806101b66020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff166388a4124c6101e160408b0160208c01610e32565b856101ef60208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff166044820152606401608060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102849190610e76565b9350505091506102c7828860200160208101906102a19190610ecb565b6102b160c08c0160a08d01610ecb565b6102c160608c0160408d01610eef565b856106a7565b93505050505b949350505050565b60006102e18383610597565b5060006102f761019560a0880160808901610e08565b90506000806103096020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff1663c1723a1d61033460408b0160208c01610e32565b8561034260208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff1660448201526064016080604051808303816000875af1158015610260573d6000803e3d6000fd5b6103bd610471565b73ffffffffffffffffffffffffffffffffffffffff8116610465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61046e81610522565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b73ffffffffffffffffffffffffffffffffffffffff83166105175761015a82826107a1565b61015a8383836108a7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008082156105f3576000806105ae868685610915565b6040517f3d6c5c7000000000000000000000000000000000000000000000000000000000815260ff85166004820152909650929450859350506024909101905061045c565b80831461062f576040517f9af41d330000000000000000000000000000000000000000000000000000000081526004810182905260240161045c565b60009150505b92915050565b600080610649604184610f3b565b9050610656602082610f81565b1561067e57610666602082610f81565b6106709082610f95565b61067b906020610fa8565b90505b8061068b60e06044610fa8565b6106959190610fa8565b6106a0906040610fa8565b9392505050565b60008061ffff8616156106ba57856106bc565b845b905060006127106106d161ffff84168a610f3b565b6106db9190610fbb565b90506fffffffffffffffffffffffffffffffff8416158061070c57506fffffffffffffffffffffffffffffffff8516155b1561071a5791506107989050565b6000846fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000000000000000000876fffffffffffffffffffffffffffffffff1661076d9190610f3b565b6107779190610fbb565b610781908a610fa8565b90508181116107905781610792565b805b93505050505b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166107ee576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610848576040519150601f19603f3d011682016040523d82523d6000602084013e61084d565b606091505b505090508061015a576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161045c565b73ffffffffffffffffffffffffffffffffffffffff82166108f4576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61015a73ffffffffffffffffffffffffffffffffffffffff8416838361096f565b6000368160018401816109298888846109fc565b60028301929091506109419089908990600301610a23565b94506002820161ffff8216830161095a81838b8d610fcf565b979b909a50969850505061ffff160193505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261015a908490610a48565b600060028201610a0e81848688610fcf565b610a1791610ff9565b60f01c95945050505050565b6000838383818110610a3757610a37611041565b919091013560f81c95945050505050565b6000610aaa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b579092919063ffffffff16565b9050805160001480610acb575080806020019051810190610acb9190611070565b61015a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161045c565b60606102cd8484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051610b8b91906110b6565b60006040518083038185875af1925050503d8060008114610bc8576040519150601f19603f3d011682016040523d82523d6000602084013e610bcd565b606091505b5091509150610bde87838387610be9565b979650505050505050565b60608315610c7f578251600003610c785773ffffffffffffffffffffffffffffffffffffffff85163b610c78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161045c565b50816102cd565b6102cd8383815115610c945781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045c91906110d2565b803573ffffffffffffffffffffffffffffffffffffffff81168114610cec57600080fd5b919050565b600080600060608486031215610d0657600080fd5b610d0f84610cc8565b9250610d1d60208501610cc8565b9150604084013590509250925092565b600080600080848603610140811215610d4557600080fd5b60c0811215610d5357600080fd5b85945060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215610d8657600080fd5b5060c08501925061012085013567ffffffffffffffff80821115610da957600080fd5b818701915087601f830112610dbd57600080fd5b813581811115610dcc57600080fd5b886020828501011115610dde57600080fd5b95989497505060200194505050565b600060208284031215610dff57600080fd5b6106a082610cc8565b600060208284031215610e1a57600080fd5b813567ffffffffffffffff811681146106a057600080fd5b600060208284031215610e4457600080fd5b813563ffffffff811681146106a057600080fd5b6fffffffffffffffffffffffffffffffff8116811461046e57600080fd5b60008060008060808587031215610e8c57600080fd5b845193506020850151610e9e81610e58565b6040860151909350610eaf81610e58565b6060860151909250610ec081610e58565b939692955090935050565b600060208284031215610edd57600080fd5b813561ffff811681146106a057600080fd5b600060208284031215610f0157600080fd5b81356106a081610e58565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761063557610635610f0c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610f9057610f90610f52565b500690565b8181038181111561063557610635610f0c565b8082018082111561063557610635610f0c565b600082610fca57610fca610f52565b500490565b60008085851115610fdf57600080fd5b83861115610fec57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110395780818660020360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561108257600080fd5b815180151581146106a057600080fd5b60005b838110156110ad578181015183820152602001611095565b50506000910152565b600082516110c8818460208701611092565b9190910192915050565b60208152600082518060208401526110f1816040850160208701611092565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220405b163eedb7d96cfa717e8bea403d52d4844783d645ebdcee51d3053e27223464736f6c63430008160033",
296
+ "bytecode": "0x60a060405234801561001057600080fd5b5060405161121d38038061121d83398101604081905261002f91610090565b61003833610040565b6080526100a9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100a257600080fd5b5051919050565b6080516111596100c4600039600061073101526111596000f3fe6080604052600436106100695760003560e01c80638da5cb5b116100435780638da5cb5b146100df578063df2b057e14610114578063f2fde38b1461012757600080fd5b806301e3366714610075578063715018a6146100975780637bfa20a9146100ac57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b50610095610090366004610cf1565b610147565b005b3480156100a357600080fd5b5061009561015f565b3480156100b857600080fd5b506100cc6100c7366004610d2d565b610173565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100cc610122366004610d2d565b6102d5565b34801561013357600080fd5b50610095610142366004610ded565b6103b5565b61014f610471565b61015a8383836104f2565b505050565b610167610471565b6101716000610522565b565b600061017f8383610597565b5060006101a461019560a0880160808901610e08565b67ffffffffffffffff1661063b565b90506000806101b66020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff166388a4124c6101e160408b0160208c01610e32565b856101ef60208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff166044820152606401608060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102849190610e76565b9350505091506102c7828860200160208101906102a19190610ecb565b6102b160c08c0160a08d01610ecb565b6102c160608c0160408d01610eef565b856106a7565b93505050505b949350505050565b60006102e18383610597565b5060006102f761019560a0880160808901610e08565b90506000806103096020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff1663c1723a1d61033460408b0160208c01610e32565b8561034260208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff1660448201526064016080604051808303816000875af1158015610260573d6000803e3d6000fd5b6103bd610471565b73ffffffffffffffffffffffffffffffffffffffff8116610465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61046e81610522565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b73ffffffffffffffffffffffffffffffffffffffff83166105175761015a82826107a1565b61015a8383836108a7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008082156105f3576000806105ae868685610915565b6040517f7085244b00000000000000000000000000000000000000000000000000000000815260ff85166004820152909650929450859350506024909101905061045c565b80831461062f576040517f04eb6e0c0000000000000000000000000000000000000000000000000000000081526004810182905260240161045c565b60009150505b92915050565b600080610649604184610f3b565b9050610656602082610f81565b1561067e57610666602082610f81565b6106709082610f95565b61067b906020610fa8565b90505b8061068b60e06044610fa8565b6106959190610fa8565b6106a0906040610fa8565b9392505050565b60008061ffff8616156106ba57856106bc565b845b905060006127106106d161ffff84168a610f3b565b6106db9190610fbb565b90506fffffffffffffffffffffffffffffffff8416158061070c57506fffffffffffffffffffffffffffffffff8516155b1561071a5791506107989050565b6000846fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000000000000000000876fffffffffffffffffffffffffffffffff1661076d9190610f3b565b6107779190610fbb565b610781908a610fa8565b90508181116107905781610792565b805b93505050505b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166107ee576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610848576040519150601f19603f3d011682016040523d82523d6000602084013e61084d565b606091505b505090508061015a576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161045c565b73ffffffffffffffffffffffffffffffffffffffff82166108f4576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61015a73ffffffffffffffffffffffffffffffffffffffff8416838361096f565b6000368160018401816109298888846109fc565b60028301929091506109419089908990600301610a23565b94506002820161ffff8216830161095a81838b8d610fcf565b979b909a50969850505061ffff160193505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261015a908490610a48565b600060028201610a0e81848688610fcf565b610a1791610ff9565b60f01c95945050505050565b6000838383818110610a3757610a37611041565b919091013560f81c95945050505050565b6000610aaa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b579092919063ffffffff16565b9050805160001480610acb575080806020019051810190610acb9190611070565b61015a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161045c565b60606102cd8484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051610b8b91906110b6565b60006040518083038185875af1925050503d8060008114610bc8576040519150601f19603f3d011682016040523d82523d6000602084013e610bcd565b606091505b5091509150610bde87838387610be9565b979650505050505050565b60608315610c7f578251600003610c785773ffffffffffffffffffffffffffffffffffffffff85163b610c78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161045c565b50816102cd565b6102cd8383815115610c945781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045c91906110d2565b803573ffffffffffffffffffffffffffffffffffffffff81168114610cec57600080fd5b919050565b600080600060608486031215610d0657600080fd5b610d0f84610cc8565b9250610d1d60208501610cc8565b9150604084013590509250925092565b600080600080848603610140811215610d4557600080fd5b60c0811215610d5357600080fd5b85945060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215610d8657600080fd5b5060c08501925061012085013567ffffffffffffffff80821115610da957600080fd5b818701915087601f830112610dbd57600080fd5b813581811115610dcc57600080fd5b886020828501011115610dde57600080fd5b95989497505060200194505050565b600060208284031215610dff57600080fd5b6106a082610cc8565b600060208284031215610e1a57600080fd5b813567ffffffffffffffff811681146106a057600080fd5b600060208284031215610e4457600080fd5b813563ffffffff811681146106a057600080fd5b6fffffffffffffffffffffffffffffffff8116811461046e57600080fd5b60008060008060808587031215610e8c57600080fd5b845193506020850151610e9e81610e58565b6040860151909350610eaf81610e58565b6060860151909250610ec081610e58565b939692955090935050565b600060208284031215610edd57600080fd5b813561ffff811681146106a057600080fd5b600060208284031215610f0157600080fd5b81356106a081610e58565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761063557610635610f0c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610f9057610f90610f52565b500690565b8181038181111561063557610635610f0c565b8082018082111561063557610635610f0c565b600082610fca57610fca610f52565b500490565b60008085851115610fdf57600080fd5b83861115610fec57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110395780818660020360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561108257600080fd5b815180151581146106a057600080fd5b60005b838110156110ad578181015183820152602001611095565b50506000910152565b600082516110c8818460208701611092565b9190910192915050565b60208152600082518060208401526110f1816040850160208701611092565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220ebeae36480a45180be328fe22188381c9619f78101a69faca5f1a268fef9e98264736f6c63430008160033",
297
+ "deployedBytecode": "0x6080604052600436106100695760003560e01c80638da5cb5b116100435780638da5cb5b146100df578063df2b057e14610114578063f2fde38b1461012757600080fd5b806301e3366714610075578063715018a6146100975780637bfa20a9146100ac57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b50610095610090366004610cf1565b610147565b005b3480156100a357600080fd5b5061009561015f565b3480156100b857600080fd5b506100cc6100c7366004610d2d565b610173565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100cc610122366004610d2d565b6102d5565b34801561013357600080fd5b50610095610142366004610ded565b6103b5565b61014f610471565b61015a8383836104f2565b505050565b610167610471565b6101716000610522565b565b600061017f8383610597565b5060006101a461019560a0880160808901610e08565b67ffffffffffffffff1661063b565b90506000806101b66020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff166388a4124c6101e160408b0160208c01610e32565b856101ef60208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff166044820152606401608060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102849190610e76565b9350505091506102c7828860200160208101906102a19190610ecb565b6102b160c08c0160a08d01610ecb565b6102c160608c0160408d01610eef565b856106a7565b93505050505b949350505050565b60006102e18383610597565b5060006102f761019560a0880160808901610e08565b90506000806103096020890189610ded565b73ffffffffffffffffffffffffffffffffffffffff1663c1723a1d61033460408b0160208c01610e32565b8561034260208c018c610e08565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff1660448201526064016080604051808303816000875af1158015610260573d6000803e3d6000fd5b6103bd610471565b73ffffffffffffffffffffffffffffffffffffffff8116610465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61046e81610522565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161045c565b73ffffffffffffffffffffffffffffffffffffffff83166105175761015a82826107a1565b61015a8383836108a7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008082156105f3576000806105ae868685610915565b6040517f7085244b00000000000000000000000000000000000000000000000000000000815260ff85166004820152909650929450859350506024909101905061045c565b80831461062f576040517f04eb6e0c0000000000000000000000000000000000000000000000000000000081526004810182905260240161045c565b60009150505b92915050565b600080610649604184610f3b565b9050610656602082610f81565b1561067e57610666602082610f81565b6106709082610f95565b61067b906020610fa8565b90505b8061068b60e06044610fa8565b6106959190610fa8565b6106a0906040610fa8565b9392505050565b60008061ffff8616156106ba57856106bc565b845b905060006127106106d161ffff84168a610f3b565b6106db9190610fbb565b90506fffffffffffffffffffffffffffffffff8416158061070c57506fffffffffffffffffffffffffffffffff8516155b1561071a5791506107989050565b6000846fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000000000000000000876fffffffffffffffffffffffffffffffff1661076d9190610f3b565b6107779190610fbb565b610781908a610fa8565b90508181116107905781610792565b805b93505050505b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff82166107ee576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610848576040519150601f19603f3d011682016040523d82523d6000602084013e61084d565b606091505b505090508061015a576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161045c565b73ffffffffffffffffffffffffffffffffffffffff82166108f4576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61015a73ffffffffffffffffffffffffffffffffffffffff8416838361096f565b6000368160018401816109298888846109fc565b60028301929091506109419089908990600301610a23565b94506002820161ffff8216830161095a81838b8d610fcf565b979b909a50969850505061ffff160193505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261015a908490610a48565b600060028201610a0e81848688610fcf565b610a1791610ff9565b60f01c95945050505050565b6000838383818110610a3757610a37611041565b919091013560f81c95945050505050565b6000610aaa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b579092919063ffffffff16565b9050805160001480610acb575080806020019051810190610acb9190611070565b61015a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161045c565b60606102cd8484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051610b8b91906110b6565b60006040518083038185875af1925050503d8060008114610bc8576040519150601f19603f3d011682016040523d82523d6000602084013e610bcd565b606091505b5091509150610bde87838387610be9565b979650505050505050565b60608315610c7f578251600003610c785773ffffffffffffffffffffffffffffffffffffffff85163b610c78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161045c565b50816102cd565b6102cd8383815115610c945781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045c91906110d2565b803573ffffffffffffffffffffffffffffffffffffffff81168114610cec57600080fd5b919050565b600080600060608486031215610d0657600080fd5b610d0f84610cc8565b9250610d1d60208501610cc8565b9150604084013590509250925092565b600080600080848603610140811215610d4557600080fd5b60c0811215610d5357600080fd5b85945060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215610d8657600080fd5b5060c08501925061012085013567ffffffffffffffff80821115610da957600080fd5b818701915087601f830112610dbd57600080fd5b813581811115610dcc57600080fd5b886020828501011115610dde57600080fd5b95989497505060200194505050565b600060208284031215610dff57600080fd5b6106a082610cc8565b600060208284031215610e1a57600080fd5b813567ffffffffffffffff811681146106a057600080fd5b600060208284031215610e4457600080fd5b813563ffffffff811681146106a057600080fd5b6fffffffffffffffffffffffffffffffff8116811461046e57600080fd5b60008060008060808587031215610e8c57600080fd5b845193506020850151610e9e81610e58565b6040860151909350610eaf81610e58565b6060860151909250610ec081610e58565b939692955090935050565b600060208284031215610edd57600080fd5b813561ffff811681146106a057600080fd5b600060208284031215610f0157600080fd5b81356106a081610e58565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761063557610635610f0c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610f9057610f90610f52565b500690565b8181038181111561063557610635610f0c565b8082018082111561063557610635610f0c565b600082610fca57610fca610f52565b500490565b60008085851115610fdf57600080fd5b83861115610fec57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110395780818660020360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561108257600080fd5b815180151581146106a057600080fd5b60005b838110156110ad578181015183820152602001611095565b50506000910152565b600082516110c8818460208701611092565b9190910192915050565b60208152600082518060208401526110f1816040850160208701611092565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220ebeae36480a45180be328fe22188381c9619f78101a69faca5f1a268fef9e98264736f6c63430008160033",
298
298
  "linkReferences": {},
299
299
  "deployedLinkReferences": {}
300
300
  }
@@ -5,12 +5,12 @@
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
8
- "name": "OnlySigner",
8
+ "name": "MultiSig_OnlySigner",
9
9
  "type": "error"
10
10
  },
11
11
  {
12
12
  "inputs": [],
13
- "name": "QuorumIsZero",
13
+ "name": "MultiSig_QuorumIsZero",
14
14
  "type": "error"
15
15
  },
16
16
  {
@@ -26,7 +26,7 @@
26
26
  "type": "uint64"
27
27
  }
28
28
  ],
29
- "name": "SignersSizeIsLessThanQuorum",
29
+ "name": "MultiSig_SignersSizeIsLessThanQuorum",
30
30
  "type": "error"
31
31
  },
32
32
  {
@@ -42,12 +42,12 @@
42
42
  "type": "bool"
43
43
  }
44
44
  ],
45
- "name": "StateAlreadySet",
45
+ "name": "MultiSig_StateAlreadySet",
46
46
  "type": "error"
47
47
  },
48
48
  {
49
49
  "inputs": [],
50
- "name": "UnorderedSigners",
50
+ "name": "MultiSig_UnorderedSigners",
51
51
  "type": "error"
52
52
  },
53
53
  {