@layerzerolabs/lz-evm-sdk-v1 1.5.14 → 1.5.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 (33) hide show
  1. package/artifacts/contracts/Endpoint.sol/Endpoint.json +2 -2
  2. package/artifacts/contracts/NonceContract.sol/NonceContract.json +2 -2
  3. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +2 -2
  4. package/artifacts/contracts/Relayer.sol/Relayer.json +2 -2
  5. package/artifacts/contracts/RelayerV2.sol/RelayerV2.json +2 -2
  6. package/artifacts/contracts/UltraLightNode.sol/UltraLightNode.json +2 -2
  7. package/artifacts/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +2 -2
  8. package/artifacts/contracts/messagelib-e2/MessageLibBase.sol/MessageLibBase.json +886 -0
  9. package/artifacts/contracts/messagelib-e2/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +79 -0
  10. package/artifacts/contracts/messagelib-e2/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +45 -0
  11. package/artifacts/contracts/messagelib-e2/interfaces/IMessageLib.sol/IMessageLib.json +319 -0
  12. package/artifacts/contracts/messagelib-e2/interfaces/IPacket.sol/IPacket.json +10 -0
  13. package/artifacts/contracts/messagelib-e2/libs/BytesLib.sol/BytesLib.json +10 -0
  14. package/artifacts/contracts/messagelib-e2/libs/Options.sol/Options.json +63 -0
  15. package/artifacts/contracts/messagelib-e2/libs/PacketV1Codec.sol/PacketV1Codec.json +10 -0
  16. package/artifacts/contracts/messagelib-e2/libs/RelayerOptions.sol/RelayerOptions.json +76 -0
  17. package/artifacts/contracts/messagelib-e2/libs/TreasuryOptions.sol/TreasuryOptions.json +37 -0
  18. package/artifacts/contracts/messagelib-e2/uln/UlnConfig.sol/UlnConfig.json +356 -0
  19. package/artifacts/contracts/messagelib-e2/uln/UltraLightNode301.sol/UltraLightNode301.json +1381 -0
  20. package/artifacts/contracts/messagelib-e2/uln/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +79 -0
  21. package/artifacts/contracts/messagelib-e2/uln/libs/OracleOptions.sol/OracleOptions.json +24 -0
  22. package/artifacts/contracts/proof/FPValidator.sol/FPValidator.json +2 -2
  23. package/artifacts/contracts/proof/MPTValidator.sol/MPTValidator.json +2 -2
  24. package/artifacts/contracts/proof/MPTValidator01.sol/MPTValidator01.json +2 -2
  25. package/artifacts/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +2 -2
  26. package/artifacts/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +2 -2
  27. package/artifacts/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +2 -2
  28. package/artifacts/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +2 -2
  29. package/artifacts/contracts/proof/utility/Buffer.sol/Buffer.json +2 -2
  30. package/artifacts/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +2 -2
  31. package/artifacts/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +2 -2
  32. package/artifacts/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +2 -2
  33. package/package.json +12 -4
@@ -425,8 +425,8 @@
425
425
  "type": "function"
426
426
  }
427
427
  ],
428
- "bytecode": "0x6101206040526000805460ff191660031790553480156200001f57600080fd5b50604051620028b2380380620028b28339810160408190526200004291620000a3565b606094851b6001600160601b031990811660805293851b841660a05260f09290921b6001600160f01b03191660e052831b82166101005290911b1660c05262000119565b80516001600160a01b03811681146200009e57600080fd5b919050565b600080600080600060a08688031215620000bb578081fd5b620000c68662000086565b9450620000d66020870162000086565b9350604086015161ffff81168114620000ed578182fd5b9250620000fd6060870162000086565b91506200010d6080870162000086565b90509295509295909350565b60805160601c60a05160601c60c05160601c60e05160f01c6101005160601c61272c62000186600039806102d252806108ab528061097a52508061028a52806108015250806102265280610a0252508061024a528061046b5250806102ae5280610400525061272c6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636c473aff1161008c578063be9d395e11610066578063be9d395e146101c4578063d633ad61146101d9578063e0cabadd146101e1578063ea455df9146101f4576100ea565b80636c473aff1461018757806378d823f71461018f578063b71e0f71146101a4576100ea565b806347713b39116100c857806347713b39146101355780635711c2a81461014a5780635b056da51461016a5780636348d2691461017f576100ea565b80630f222e65146100ef57806318a7cca8146101185780633fc18d4c1461012d575b600080fd5b6101026100fd366004611bf2565b610207565b60405161010f919061248a565b60405180910390f35b610120610224565b60405161010f9190612119565b610120610248565b61013d61026c565b60405161010f91906124f2565b61015d610158366004611ce3565b610275565b60405161010f9190612175565b610172610288565b60405161010f91906124b9565b6101206102ac565b6101206102d0565b6101a261019d366004611e56565b6102f4565b005b6101b76101b2366004611c66565b610304565b60405161010f91906123e5565b6101cc6104e3565b60405161010f919061216c565b61013d610507565b6101b76101ef366004611d16565b610510565b61015d610202366004611ce3565b610524565b61020f6118ec565b61021b8585858561052f565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1681565b6060610280826106de565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6102ff8383836107ff565b505050565b61030c61190b565b6000821161034f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906123ae565b60405180910390fd5b600080808080610361888a018a611f43565b9450945094509450945060006103798b84848761052f565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6146103d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103469061224f565b805160408201516000916103f1919089908c90610b19565b90506103fe81878e6107ff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff161415610469576104638160c001516106de565b60c08201525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff1614156104d4576104ce8160c00151610c0f565b60c08201525b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b60005460ff1690565b61051861190b565b61021b85858585610b19565b606061028082610c0f565b6105376118ec565b8151845114610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906121aa565b60008251116105ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103469061231a565b6105b5611949565b606060005b8451811015610661578481815181106105cf57fe5b6020026020010151915081805190602001208814610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034690612218565b61063f87828151811061062857fe5b602002602001015161063984610cb9565b90610d2d565b925060018551038110156106595761065683610ee9565b97505b6001016105ba565b506000610672600361063985611006565b905060006106886106838389610d2d565b611092565b90506106926118ec565b6106a361069e8361113e565b610ee9565b81526106b661069e60006106398561113e565b60208201526106cc6106c78361113e565b6111ee565b60408201529998505050505050505050565b6020810151606090600160ff821614156107f8576000806000806000806000898060200190518101906107119190611fc8565b9750975097509750975097509750506000815111156107f05781516000901561073b575060148201515b803b806107ed5760008260405160200161075591906120e9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152602083810183526000808552925191945091926107ab928f928f928f928f928f928f928b9201612500565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c506102839b505050505050505050505050565b50505b505050505050505b5090919050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16836020015161ffff1614610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034690612286565b825160608401516040517fa466222200000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263a4662222926108e09291906004016124c8565b60c06040518083038186803b1580156108f857600080fd5b505afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109309190611db8565b60a081015185516040517febfa08e900000000000000000000000000000000000000000000000000000000815292935060009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263ebfa08e9926109af92899060040161213a565b604080518083038186803b1580156109c657600080fd5b505afa1580156109da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fe9190611b0b565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906122e3565b82816020015114610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906121e1565b816020015167ffffffffffffffff1681600001511015610b12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034690612351565b5050505050565b610b2161190b565b602085015160608601516068870151858801607c01519190610b41611963565b610b4b818961131b565b50610b5b8160008c60888c611355565b506000610b7389610b6d86601c61142f565b9061142f565b9050610b7d611963565b610b87818361131b565b50610ba360008d610b998d609c6114a6565b8492919086611355565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b606060008083806020019051810190610c289190611d73565b9150915060008083511115610c3e575060148201515b73ffffffffffffffffffffffffffffffffffffffff8116610cb05760405161dead90600090610c719083906020016120e9565b60405160208183030381529060405290508084604051602001610c95929190612188565b60405160208183030381529060405295505050505050610283565b50929392505050565b610cc1611949565b602082018051835160009190911a908015801590610ce2575060c060ff8316105b15610d1157600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040805180820190915290815260208101929092525092915050565b610d35611949565b610d3e83611521565b610d93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126b56021913960400191505060405180910390fd5b610d9c8361155b565b8210610e0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b8251602084015190810190600090610e20906115b3565b60208601510190506000805b85811015610e4b57610e3d83611652565b928301929150600101610e2c565b50610e5582611652565b9050828183011115610ec857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610efe57508151602110155b610f6957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610f7883602001516115b3565b90508083600001511015610fd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061268d6028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610ffd57826020036101000a820491505b50949350505050565b61100e611949565b600061101d83602001516115b3565b60208401518451908201805192935060009290921a91908015801590611046575060c060ff8416105b1561107557600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b61109a61197d565b6110a382611521565b61110e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b600061111d83602001516115b3565b60208085015160408051808201909152868152920190820152915050919050565b611146611949565b61114f82611727565b6111ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b602082015160006111ca82611652565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090611248576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126d66021913960400191505060405180910390fd5b600061125783602001516115b3565b905080836000015110156112b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061268d6028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff811180156112d457600080fd5b506040519080825280601f01601f1916602001820160405280156112ff576020820181803683370190505b5090506000816020019050610ffd84876020015101828561173c565b611323611963565b60208206156113385760208206602003820191505b506020828101829052604080518085526000815290920101905290565b61135d611963565b85602001518286011115611387576113878661137f88602001518886016117c3565b6002026117da565b6000808751805188602083010193508089870111156113a65788860182525b5050508484015b602084106113ea57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016113ad565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b6000828211156114a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561151a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b805160009061153257506000610283565b6020820151805160001a9060c082101561155157600092505050610283565b5060019392505050565b805160009061156c57506000610283565b60008061157c84602001516115b3565b602085015185519181019250015b808210156115aa5761159b82611652565b6001909301929091019061158a565b50909392505050565b8051600090811a60808110156115cd576000915050610283565b60b88110806115e8575060c081108015906115e8575060f881105b156115f7576001915050610283565b60c0811015611629577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a019050610283565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a019050610283565b80516000908190811a608081101561166d5760019150611720565b60b88110156116a0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150611720565b60c08110156116cd5760b78103600185019450806020036101000a85510460018201810193505050611720565b60f8811015611700577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150611720565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80611746576102ff565b5b602081106117845782518252602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001611747565b915181516020939093036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169216919091179052565b6000818311156117d4575081610ee3565b50919050565b81516117e6838361131b565b506117f183826117f7565b50505050565b6117ff611963565b61151a83846000015151848551611814611963565b825182111561182257600080fd5b84602001518285011115611844576118448561137f87602001518786016117c3565b6000808651805187602083010193508088870111156118635787860182525b505050602084015b602084106118a857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909301926020918201910161186b565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b6040518060400160405280611990611949565b8152602001600081525090565b803561028381612641565b805161028381612641565b600082601f8301126119c3578081fd5b813560206119d86119d3836125b7565b612593565b82815281810190858301855b85811015611a0d576119fb898684358b0101611a74565b845292840192908401906001016119e4565b5090979650505050505050565b600082601f830112611a2a578081fd5b81356020611a3a6119d3836125b7565b8281528181019085830183850287018401881015611a56578586fd5b855b85811015611a0d57813584529284019290840190600101611a58565b600082601f830112611a84578081fd5b8135611a926119d3826125d5565b818152846020838601011115611aa6578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611ad0578081fd5b8151611ade6119d3826125d5565b818152846020838601011115611af2578283fd5b611b03826020830160208701612615565b949350505050565b600060408284031215611b1c578081fd5b6040516040810181811067ffffffffffffffff82111715611b3957fe5b604052825181526020928301519281019290925250919050565b600060c08284031215611b64578081fd5b60405160c0810181811067ffffffffffffffff82111715611b8157fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b803561028381612666565b805161028381612666565b803561028381612676565b805161028381612676565b60008060008060808587031215611c07578384fd5b84359350602085013567ffffffffffffffff80821115611c25578485fd5b611c3188838901611a1a565b9450604087013593506060870135915080821115611c4d578283fd5b50611c5a878288016119b3565b91505092959194509250565b60008060008060608587031215611c7b578182fd5b84359350602085013567ffffffffffffffff80821115611c99578384fd5b818701915087601f830112611cac578384fd5b813581811115611cba578485fd5b886020828501011115611ccb578485fd5b95986020929092019750949560400135945092505050565b600060208284031215611cf4578081fd5b813567ffffffffffffffff811115611d0a578182fd5b611b0384828501611a74565b60008060008060808587031215611d2b578182fd5b843567ffffffffffffffff811115611d41578283fd5b611d4d87828801611a74565b9450506020850135611d5e81612666565b93969395505050506040820135916060013590565b60008060408385031215611d85578182fd5b825167ffffffffffffffff811115611d9b578283fd5b611da785828601611ac0565b925050602083015190509250929050565b600060c08284031215611dc9578081fd5b60405160c0810181811067ffffffffffffffff82111715611de657fe5b6040528251611df481612666565b81526020830151611e0481612676565b60208201526040830151611e1781612641565b6040820152611e2860608401611bd1565b6060820152611e3960808401611be7565b6080820152611e4a60a084016119a8565b60a08201529392505050565b600080600060608486031215611e6a578081fd5b833567ffffffffffffffff80821115611e81578283fd5b9085019060e08288031215611e94578283fd5b611e9e60e0612593565b611ea783611bc6565b8152611eb560208401611bc6565b6020820152611ec660408401611bdc565b6040820152611ed76060840161199d565b6060820152608083013582811115611eed578485fd5b611ef989828601611a74565b60808301525060a083013560a082015260c083013582811115611f1a578485fd5b611f2689828601611a74565b60c083015250976020870135975060409096013595945050505050565b600080600080600060a08688031215611f5a578283fd5b8535611f6581612666565b945060208601359350604086013567ffffffffffffffff80821115611f88578485fd5b611f9489838a016119b3565b94506060880135915080821115611fa9578283fd5b50611fb688828901611a1a565b95989497509295608001359392505050565b6000806000806000806000806101c0898b031215611fe4578586fd5b885160ff81168114611ff4578687fd5b8098505060208901519650604089015195506060890151945061201a8a60808b01611b0b565b93506120298a60c08b01611b53565b925061018089015167ffffffffffffffff80821115612046578384fd5b6120528c838d01611ac0565b93506101a08b0151915080821115612068578283fd5b506120758b828c01611ac0565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b600081518084526120b7816020860160208601612615565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff93909316835261ffff919091166020830152604082015260600190565b90815260200190565b60006020825261151a602083018461209f565b60006040825261219b604083018561209f565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c6964207265636569707420726f6f740000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b60208082526026908201527f50726f6f664c69623a20696e76616c69642064657374696e6174696f6e20636860408201527f61696e2049440000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f50726f6f664c69623a20696e76616c69642072656c6179657200000000000000604082015260600190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b60208082526028908201527f50726f6f664c69623a206e6f7420656e6f75676820626c6f636b20636f6e666960408201527f726d6174696f6e73000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161242a6080840182612085565b50608083015160e060a084015261244561010084018261209f565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e085015261021b828261209f565b60006020825282516020830152602083015160408301526040830151606080840152611b03608084018261209f565b61ffff91909116815260200190565b61ffff92909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261257e8184018661209f565b90508281036101a08401526104d4818561209f565b60405181810167ffffffffffffffff811182821017156125af57fe5b604052919050565b600067ffffffffffffffff8211156125cb57fe5b5060209081020190565b600067ffffffffffffffff8211156125e957fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612630578181015183820152602001612618565b838111156117f15750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461266357600080fd5b50565b61ffff8116811461266357600080fd5b67ffffffffffffffff8116811461266357600080fdfe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a2646970667358221220c0a0cc561bab490178e62118ab24c90e682f1acf6178153cf0bbb703e286906064736f6c63430007060033",
429
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636c473aff1161008c578063be9d395e11610066578063be9d395e146101c4578063d633ad61146101d9578063e0cabadd146101e1578063ea455df9146101f4576100ea565b80636c473aff1461018757806378d823f71461018f578063b71e0f71146101a4576100ea565b806347713b39116100c857806347713b39146101355780635711c2a81461014a5780635b056da51461016a5780636348d2691461017f576100ea565b80630f222e65146100ef57806318a7cca8146101185780633fc18d4c1461012d575b600080fd5b6101026100fd366004611bf2565b610207565b60405161010f919061248a565b60405180910390f35b610120610224565b60405161010f9190612119565b610120610248565b61013d61026c565b60405161010f91906124f2565b61015d610158366004611ce3565b610275565b60405161010f9190612175565b610172610288565b60405161010f91906124b9565b6101206102ac565b6101206102d0565b6101a261019d366004611e56565b6102f4565b005b6101b76101b2366004611c66565b610304565b60405161010f91906123e5565b6101cc6104e3565b60405161010f919061216c565b61013d610507565b6101b76101ef366004611d16565b610510565b61015d610202366004611ce3565b610524565b61020f6118ec565b61021b8585858561052f565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1681565b6060610280826106de565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6102ff8383836107ff565b505050565b61030c61190b565b6000821161034f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906123ae565b60405180910390fd5b600080808080610361888a018a611f43565b9450945094509450945060006103798b84848761052f565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6146103d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103469061224f565b805160408201516000916103f1919089908c90610b19565b90506103fe81878e6107ff565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff161415610469576104638160c001516106de565b60c08201525b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff1614156104d4576104ce8160c00151610c0f565b60c08201525b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b60005460ff1690565b61051861190b565b61021b85858585610b19565b606061028082610c0f565b6105376118ec565b8151845114610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906121aa565b60008251116105ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103469061231a565b6105b5611949565b606060005b8451811015610661578481815181106105cf57fe5b6020026020010151915081805190602001208814610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034690612218565b61063f87828151811061062857fe5b602002602001015161063984610cb9565b90610d2d565b925060018551038110156106595761065683610ee9565b97505b6001016105ba565b506000610672600361063985611006565b905060006106886106838389610d2d565b611092565b90506106926118ec565b6106a361069e8361113e565b610ee9565b81526106b661069e60006106398561113e565b60208201526106cc6106c78361113e565b6111ee565b60408201529998505050505050505050565b6020810151606090600160ff821614156107f8576000806000806000806000898060200190518101906107119190611fc8565b9750975097509750975097509750506000815111156107f05781516000901561073b575060148201515b803b806107ed5760008260405160200161075591906120e9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152602083810183526000808552925191945091926107ab928f928f928f928f928f928f928b9201612500565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529c506102839b505050505050505050505050565b50505b505050505050505b5090919050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16836020015161ffff1614610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034690612286565b825160608401516040517fa466222200000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263a4662222926108e09291906004016124c8565b60c06040518083038186803b1580156108f857600080fd5b505afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109309190611db8565b60a081015185516040517febfa08e900000000000000000000000000000000000000000000000000000000815292935060009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263ebfa08e9926109af92899060040161213a565b604080518083038186803b1580156109c657600080fd5b505afa1580156109da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fe9190611b0b565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906122e3565b82816020015114610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610346906121e1565b816020015167ffffffffffffffff1681600001511015610b12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034690612351565b5050505050565b610b2161190b565b602085015160608601516068870151858801607c01519190610b41611963565b610b4b818961131b565b50610b5b8160008c60888c611355565b506000610b7389610b6d86601c61142f565b9061142f565b9050610b7d611963565b610b87818361131b565b50610ba360008d610b998d609c6114a6565b8492919086611355565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff909416938701939093525073ffffffffffffffffffffffffffffffffffffffff9093166060850152915160808401525060a082018490525160c08201529050949350505050565b606060008083806020019051810190610c289190611d73565b9150915060008083511115610c3e575060148201515b73ffffffffffffffffffffffffffffffffffffffff8116610cb05760405161dead90600090610c719083906020016120e9565b60405160208183030381529060405290508084604051602001610c95929190612188565b60405160208183030381529060405295505050505050610283565b50929392505050565b610cc1611949565b602082018051835160009190911a908015801590610ce2575060c060ff8316105b15610d1157600192909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b6040805180820190915290815260208101929092525092915050565b610d35611949565b610d3e83611521565b610d93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126b56021913960400191505060405180910390fd5b610d9c8361155b565b8210610e0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b8251602084015190810190600090610e20906115b3565b60208601510190506000805b85811015610e4b57610e3d83611652565b928301929150600101610e2c565b50610e5582611652565b9050828183011115610ec857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610efe57508151602110155b610f6957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610f7883602001516115b3565b90508083600001511015610fd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061268d6028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610ffd57826020036101000a820491505b50949350505050565b61100e611949565b600061101d83602001516115b3565b60208401518451908201805192935060009290921a91908015801590611046575060c060ff8416105b1561107557600191909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604080518082019091529081526020810191909152949350505050565b61109a61197d565b6110a382611521565b61110e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b600061111d83602001516115b3565b60208085015160408051808201909152868152920190820152915050919050565b611146611949565b61114f82611727565b6111ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b602082015160006111ca82611652565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090611248576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806126d66021913960400191505060405180910390fd5b600061125783602001516115b3565b905080836000015110156112b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061268d6028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff811180156112d457600080fd5b506040519080825280601f01601f1916602001820160405280156112ff576020820181803683370190505b5090506000816020019050610ffd84876020015101828561173c565b611323611963565b60208206156113385760208206602003820191505b506020828101829052604080518085526000815290920101905290565b61135d611963565b85602001518286011115611387576113878661137f88602001518886016117c3565b6002026117da565b6000808751805188602083010193508089870111156113a65788860182525b5050508484015b602084106113ea57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090930192602091820191016113ad565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a01908116901991909116179052508495945050505050565b6000828211156114a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561151a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b805160009061153257506000610283565b6020820151805160001a9060c082101561155157600092505050610283565b5060019392505050565b805160009061156c57506000610283565b60008061157c84602001516115b3565b602085015185519181019250015b808210156115aa5761159b82611652565b6001909301929091019061158a565b50909392505050565b8051600090811a60808110156115cd576000915050610283565b60b88110806115e8575060c081108015906115e8575060f881105b156115f7576001915050610283565b60c0811015611629577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a019050610283565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a019050610283565b80516000908190811a608081101561166d5760019150611720565b60b88110156116a0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181019150611720565b60c08110156116cd5760b78103600185019450806020036101000a85510460018201810193505050611720565b60f8811015611700577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4181019150611720565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b80611746576102ff565b5b602081106117845782518252602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001611747565b915181516020939093036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169216919091179052565b6000818311156117d4575081610ee3565b50919050565b81516117e6838361131b565b506117f183826117f7565b50505050565b6117ff611963565b61151a83846000015151848551611814611963565b825182111561182257600080fd5b84602001518285011115611844576118448561137f87602001518786016117c3565b6000808651805187602083010193508088870111156118635787860182525b505050602084015b602084106118a857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909301926020918201910161186b565b5181517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b6040518060400160405280611990611949565b8152602001600081525090565b803561028381612641565b805161028381612641565b600082601f8301126119c3578081fd5b813560206119d86119d3836125b7565b612593565b82815281810190858301855b85811015611a0d576119fb898684358b0101611a74565b845292840192908401906001016119e4565b5090979650505050505050565b600082601f830112611a2a578081fd5b81356020611a3a6119d3836125b7565b8281528181019085830183850287018401881015611a56578586fd5b855b85811015611a0d57813584529284019290840190600101611a58565b600082601f830112611a84578081fd5b8135611a926119d3826125d5565b818152846020838601011115611aa6578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611ad0578081fd5b8151611ade6119d3826125d5565b818152846020838601011115611af2578283fd5b611b03826020830160208701612615565b949350505050565b600060408284031215611b1c578081fd5b6040516040810181811067ffffffffffffffff82111715611b3957fe5b604052825181526020928301519281019290925250919050565b600060c08284031215611b64578081fd5b60405160c0810181811067ffffffffffffffff82111715611b8157fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b803561028381612666565b805161028381612666565b803561028381612676565b805161028381612676565b60008060008060808587031215611c07578384fd5b84359350602085013567ffffffffffffffff80821115611c25578485fd5b611c3188838901611a1a565b9450604087013593506060870135915080821115611c4d578283fd5b50611c5a878288016119b3565b91505092959194509250565b60008060008060608587031215611c7b578182fd5b84359350602085013567ffffffffffffffff80821115611c99578384fd5b818701915087601f830112611cac578384fd5b813581811115611cba578485fd5b886020828501011115611ccb578485fd5b95986020929092019750949560400135945092505050565b600060208284031215611cf4578081fd5b813567ffffffffffffffff811115611d0a578182fd5b611b0384828501611a74565b60008060008060808587031215611d2b578182fd5b843567ffffffffffffffff811115611d41578283fd5b611d4d87828801611a74565b9450506020850135611d5e81612666565b93969395505050506040820135916060013590565b60008060408385031215611d85578182fd5b825167ffffffffffffffff811115611d9b578283fd5b611da785828601611ac0565b925050602083015190509250929050565b600060c08284031215611dc9578081fd5b60405160c0810181811067ffffffffffffffff82111715611de657fe5b6040528251611df481612666565b81526020830151611e0481612676565b60208201526040830151611e1781612641565b6040820152611e2860608401611bd1565b6060820152611e3960808401611be7565b6080820152611e4a60a084016119a8565b60a08201529392505050565b600080600060608486031215611e6a578081fd5b833567ffffffffffffffff80821115611e81578283fd5b9085019060e08288031215611e94578283fd5b611e9e60e0612593565b611ea783611bc6565b8152611eb560208401611bc6565b6020820152611ec660408401611bdc565b6040820152611ed76060840161199d565b6060820152608083013582811115611eed578485fd5b611ef989828601611a74565b60808301525060a083013560a082015260c083013582811115611f1a578485fd5b611f2689828601611a74565b60c083015250976020870135975060409096013595945050505050565b600080600080600060a08688031215611f5a578283fd5b8535611f6581612666565b945060208601359350604086013567ffffffffffffffff80821115611f88578485fd5b611f9489838a016119b3565b94506060880135915080821115611fa9578283fd5b50611fb688828901611a1a565b95989497509295608001359392505050565b6000806000806000806000806101c0898b031215611fe4578586fd5b885160ff81168114611ff4578687fd5b8098505060208901519650604089015195506060890151945061201a8a60808b01611b0b565b93506120298a60c08b01611b53565b925061018089015167ffffffffffffffff80821115612046578384fd5b6120528c838d01611ac0565b93506101a08b0151915080821115612068578283fd5b506120758b828c01611ac0565b9150509295985092959890939650565b73ffffffffffffffffffffffffffffffffffffffff169052565b600081518084526120b7816020860160208601612615565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff93909316835261ffff919091166020830152604082015260600190565b90815260200190565b60006020825261151a602083018461209f565b60006040825261219b604083018561209f565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c6964207265636569707420726f6f740000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b60208082526026908201527f50726f6f664c69623a20696e76616c69642064657374696e6174696f6e20636860408201527f61696e2049440000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f50726f6f664c69623a20696e76616c69642072656c6179657200000000000000604082015260600190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b60208082526028908201527f50726f6f664c69623a206e6f7420656e6f75676820626c6f636b20636f6e666960408201527f726d6174696f6e73000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff6040840151166060830152606083015161242a6080840182612085565b50608083015160e060a084015261244561010084018261209f565b905060a084015160c084015260c08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160e085015261021b828261209f565b60006020825282516020830152602083015160408301526040830151606080840152611b03608084018261209f565b61ffff91909116815260200190565b61ffff92909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261257e8184018661209f565b90508281036101a08401526104d4818561209f565b60405181810167ffffffffffffffff811182821017156125af57fe5b604052919050565b600067ffffffffffffffff8211156125cb57fe5b5060209081020190565b600067ffffffffffffffff8211156125e957fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612630578181015183820152602001612618565b838111156117f15750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461266357600080fd5b50565b61ffff8116811461266357600080fd5b67ffffffffffffffff8116811461266357600080fdfe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a2646970667358221220c0a0cc561bab490178e62118ab24c90e682f1acf6178153cf0bbb703e286906064736f6c63430007060033",
428
+ "bytecode": "0x6101206040526000805460ff191660031790553480156200001f57600080fd5b5060405162002378380380620023788339810160408190526200004291620000a3565b606094851b6001600160601b031990811660805293851b841660a05260f09290921b6001600160f01b03191660e052831b82166101005290911b1660c05262000119565b80516001600160a01b03811681146200009e57600080fd5b919050565b600080600080600060a08688031215620000bb578081fd5b620000c68662000086565b9450620000d66020870162000086565b9350604086015161ffff81168114620000ed578182fd5b9250620000fd6060870162000086565b91506200010d6080870162000086565b90509295509295909350565b60805160601c60a05160601c60c05160601c60e05160f01c6101005160601c6121f262000186600039806102d25280610779528061082252508061028a528061070f52508061022652806108aa52508061024a528061041d5250806102ae52806103cc52506121f26000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636c473aff1161008c578063be9d395e11610066578063be9d395e146101c4578063d633ad61146101d9578063e0cabadd146101e1578063ea455df9146101f4576100ea565b80636c473aff1461018757806378d823f71461018f578063b71e0f71146101a4576100ea565b806347713b39116100c857806347713b39146101355780635711c2a81461014a5780635b056da51461016a5780636348d2691461017f576100ea565b80630f222e65146100ef57806318a7cca8146101185780633fc18d4c1461012d575b600080fd5b6101026100fd366004611792565b610207565b60405161010f9190611f88565b60405180910390f35b610120610224565b60405161010f9190611c7b565b610120610248565b61013d61026c565b60405161010f9190611fe3565b61015d610158366004611883565b610275565b60405161010f9190611cbd565b610172610288565b60405161010f9190611fb7565b6101206102ac565b6101206102d0565b6101a261019d3660046119f6565b6102f4565b005b6101b76101b2366004611806565b610304565b60405161010f9190611f01565b6101cc61047b565b60405161010f9190611cb4565b61013d61049f565b6101b76101ef3660046118b6565b6104a8565b61015d610202366004611883565b6104bc565b61020f61148c565b61021b858585856104c7565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1681565b606061028082610628565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6102ff83838361070d565b505050565b61030c6114ab565b600082116103355760405162461bcd60e51b815260040161032c90611eca565b60405180910390fd5b600080808080610347888a018a611ae3565b94509450945094509450600061035f8b8484876104c7565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6146103a55760405162461bcd60e51b815260040161032c90611d97565b805160408201516000916103bd919089908c90610959565b90506103ca81878e61070d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681606001516001600160a01b0316141561041b576104158160c00151610628565b60c08201525b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681606001516001600160a01b0316141561046c576104668160c00151610a42565b60c08201525b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b60005460ff1690565b6104b06114ab565b61021b85858585610959565b606061028082610a42565b6104cf61148c565b81518451146104f05760405162461bcd60e51b815260040161032c90611cf2565b60008251116105115760405162461bcd60e51b815260040161032c90611e4b565b6105196114e9565b606060005b84518110156105ab5784818151811061053357fe5b60200260200101519150818051906020012088146105635760405162461bcd60e51b815260040161032c90611d60565b61058987828151811061057257fe5b602002602001015161058384610adf565b90610b35565b925060018551038110156105a3576105a083610ca3565b97505b60010161051e565b5060006105bc600361058385610d8c565b905060006105d26105cd8389610b35565b610dfa565b90506105dc61148c565b6105ed6105e883610e8c565b610ca3565b81526106006105e8600061058385610e8c565b602082015261061661061183610e8c565b610f22565b60408201529998505050505050505050565b6020810151606090600160ff821614156107065760008060008060008060008980602001905181019061065b9190611b68565b9750975097509750975097509750506000815111156106fe57815160009015610685575060148201515b803b806106fb5760008260405160200161069f9190611c5e565b60408051601f19818403018152602083810183526000808552925191945091926106d7928f928f928f928f928f928f928b9201611ff1565b60408051601f198184030181529190529c506102839b505050505050505050505050565b50505b505050505050505b5090919050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16836020015161ffff16146107585760405162461bcd60e51b815260040161032c90611dce565b82516060840151604051635233111160e11b81526000926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263a4662222926107ae929190600401611fc6565b60c06040518083038186803b1580156107c657600080fd5b505afa1580156107da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fe9190611958565b60a0810151855160405163ebfa08e960e01b81529293506000926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263ebfa08e992610857928990600401611c8f565b604080518083038186803b15801561086e57600080fd5b505afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a691906116ab565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682604001516001600160a01b0316146108fd5760405162461bcd60e51b815260040161032c90611e14565b828160200151146109205760405162461bcd60e51b815260040161032c90611d29565b816020015167ffffffffffffffff16816000015110156109525760405162461bcd60e51b815260040161032c90611e82565b5050505050565b6109616114ab565b602085015160608601516068870151858801607c01519190610981611503565b61098b818961101b565b5061099b8160008c60888c611055565b5060006109b3896109ad86601c6110f3565b906110f3565b90506109bd611503565b6109c7818361101b565b506109e360008d6109d98d609c611150565b8492919086611055565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff90941693870193909352506001600160a01b039093166060850152915160808401525060a082018490525160c08201529050949350505050565b606060008083806020019051810190610a5b9190611913565b9150915060008083511115610a71575060148201515b6001600160a01b038116610ad65760405161dead90600090610a97908390602001611c5e565b60405160208183030381529060405290508084604051602001610abb929190611cd0565b60405160208183030381529060405295505050505050610283565b50929392505050565b610ae76114e9565b602082018051835160009190911a908015801590610b08575060c060ff8316105b15610b195760019290920191600019015b6040805180820190915290815260208101929092525092915050565b610b3d6114e9565b610b46836111b1565b610b815760405162461bcd60e51b815260040180806020018281038252602181526020018061217b6021913960400191505060405180910390fd5b610b8a836111eb565b8210610bdd576040805162461bcd60e51b815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b8251602084015190810190600090610bf490611243565b60208601510190506000805b85811015610c1f57610c11836112a6565b928301929150600101610c00565b50610c29826112a6565b9050828183011115610c82576040805162461bcd60e51b815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610cb857508151602110155b610d09576040805162461bcd60e51b815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610d188360200151611243565b90508083600001511015610d5d5760405162461bcd60e51b81526004018080602001828103825260288152602001806121536028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610d8357826020036101000a820491505b50949350505050565b610d946114e9565b6000610da38360200151611243565b60208401518451908201805192935060009290921a91908015801590610dcc575060c060ff8416105b15610ddd5760019190910190600019015b604080518082019091529081526020810191909152949350505050565b610e0261151d565b610e0b826111b1565b610e5c576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b6000610e6b8360200151611243565b60208085015160408051808201909152868152920190820152915050919050565b610e946114e9565b610e9d8261133f565b610eee576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b60208201516000610efe826112a6565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090610f625760405162461bcd60e51b815260040180806020018281038252602181526020018061219c6021913960400191505060405180910390fd5b6000610f718360200151611243565b90508083600001511015610fb65760405162461bcd60e51b81526004018080602001828103825260288152602001806121536028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff81118015610fd457600080fd5b506040519080825280601f01601f191660200182016040528015610fff576020820181803683370190505b5090506000816020019050610d83848760200151018285611354565b611023611503565b60208206156110385760208206602003820191505b506020828101829052604080518085526000815290920101905290565b61105d611503565b85602001518286011115611087576110878661107f886020015188860161139f565b6002026113b6565b6000808751805188602083010193508089870111156110a65788860182525b5050508484015b602084106110cc5780518252601f1990930192602091820191016110ad565b51815160001960208690036101000a01908116901991909116179052508495945050505050565b60008282111561114a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156111aa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b80516000906111c257506000610283565b6020820151805160001a9060c08210156111e157600092505050610283565b5060019392505050565b80516000906111fc57506000610283565b60008061120c8460200151611243565b602085015185519181019250015b8082101561123a5761122b826112a6565b6001909301929091019061121a565b50909392505050565b8051600090811a608081101561125d576000915050610283565b60b8811080611278575060c08110801590611278575060f881105b15611287576001915050610283565b60c081101561129b5760b519019050610283565b60f519019050610283565b80516000908190811a60808110156112c15760019150611338565b60b88110156112d657607e1981019150611338565b60c08110156113035760b78103600185019450806020036101000a85510460018201810193505050611338565b60f88110156113185760be1981019150611338565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b8061135e576102ff565b5b6020811061137e578251825260209283019290910190601f190161135f565b915181516020939093036101000a6000190180199091169216919091179052565b6000818311156113b0575081610c9d565b50919050565b81516113c2838361101b565b506113cd83826113d3565b50505050565b6113db611503565b6111aa838460000151518485516113f0611503565b82518211156113fe57600080fd5b84602001518285011115611420576114208561107f876020015187860161139f565b60008086518051876020830101935080888701111561143f5787860182525b505050602084015b602084106114665780518252601f199093019260209182019101611447565b51815160001960208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b60405180604001604052806115306114e9565b8152602001600081525090565b803561028381612114565b805161028381612114565b600082601f830112611563578081fd5b81356020611578611573836120a8565b612084565b82815281810190858301855b858110156115ad5761159b898684358b0101611614565b84529284019290840190600101611584565b5090979650505050505050565b600082601f8301126115ca578081fd5b813560206115da611573836120a8565b82815281810190858301838502870184018810156115f6578586fd5b855b858110156115ad578135845292840192908401906001016115f8565b600082601f830112611624578081fd5b8135611632611573826120c6565b818152846020838601011115611646578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611670578081fd5b815161167e611573826120c6565b818152846020838601011115611692578283fd5b6116a38260208301602087016120e8565b949350505050565b6000604082840312156116bc578081fd5b6040516040810181811067ffffffffffffffff821117156116d957fe5b604052825181526020928301519281019290925250919050565b600060c08284031215611704578081fd5b60405160c0810181811067ffffffffffffffff8211171561172157fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b80356102838161212c565b80516102838161212c565b80356102838161213c565b80516102838161213c565b600080600080608085870312156117a7578384fd5b84359350602085013567ffffffffffffffff808211156117c5578485fd5b6117d1888389016115ba565b94506040870135935060608701359150808211156117ed578283fd5b506117fa87828801611553565b91505092959194509250565b6000806000806060858703121561181b578182fd5b84359350602085013567ffffffffffffffff80821115611839578384fd5b818701915087601f83011261184c578384fd5b81358181111561185a578485fd5b88602082850101111561186b578485fd5b95986020929092019750949560400135945092505050565b600060208284031215611894578081fd5b813567ffffffffffffffff8111156118aa578182fd5b6116a384828501611614565b600080600080608085870312156118cb578182fd5b843567ffffffffffffffff8111156118e1578283fd5b6118ed87828801611614565b94505060208501356118fe8161212c565b93969395505050506040820135916060013590565b60008060408385031215611925578182fd5b825167ffffffffffffffff81111561193b578283fd5b61194785828601611660565b925050602083015190509250929050565b600060c08284031215611969578081fd5b60405160c0810181811067ffffffffffffffff8211171561198657fe5b60405282516119948161212c565b815260208301516119a48161213c565b602082015260408301516119b781612114565b60408201526119c860608401611771565b60608201526119d960808401611787565b60808201526119ea60a08401611548565b60a08201529392505050565b600080600060608486031215611a0a578081fd5b833567ffffffffffffffff80821115611a21578283fd5b9085019060e08288031215611a34578283fd5b611a3e60e0612084565b611a4783611766565b8152611a5560208401611766565b6020820152611a666040840161177c565b6040820152611a776060840161153d565b6060820152608083013582811115611a8d578485fd5b611a9989828601611614565b60808301525060a083013560a082015260c083013582811115611aba578485fd5b611ac689828601611614565b60c083015250976020870135975060409096013595945050505050565b600080600080600060a08688031215611afa578283fd5b8535611b058161212c565b945060208601359350604086013567ffffffffffffffff80821115611b28578485fd5b611b3489838a01611553565b94506060880135915080821115611b49578283fd5b50611b56888289016115ba565b95989497509295608001359392505050565b6000806000806000806000806101c0898b031215611b84578586fd5b885160ff81168114611b94578687fd5b80985050602089015196506040890151955060608901519450611bba8a60808b016116ab565b9350611bc98a60c08b016116f3565b925061018089015167ffffffffffffffff80821115611be6578384fd5b611bf28c838d01611660565b93506101a08b0151915080821115611c08578283fd5b50611c158b828c01611660565b9150509295985092959890939650565b6001600160a01b03169052565b60008151808452611c4a8160208601602086016120e8565b601f01601f19169290920160200192915050565b60609190911b6bffffffffffffffffffffffff1916815260140190565b6001600160a01b0391909116815260200190565b6001600160a01b0393909316835261ffff919091166020830152604082015260600190565b90815260200190565b6000602082526111aa6020830184611c32565b600060408252611ce36040830185611c32565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c6964207265636569707420726f6f740000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b60208082526026908201527f50726f6f664c69623a20696e76616c69642064657374696e6174696f6e206368604082015265185a5b88125160d21b606082015260800190565b60208082526019908201527f50726f6f664c69623a20696e76616c69642072656c6179657200000000000000604082015260600190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b60208082526028908201527f50726f6f664c69623a206e6f7420656e6f75676820626c6f636b20636f6e6669604082015267726d6174696f6e7360c01b606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff60408401511660608301526060830151611f466080840182611c25565b50608083015160e060a0840152611f61610100840182611c32565b905060a084015160c084015260c0840151601f198483030160e085015261021b8282611c32565b600060208252825160208301526020830151604083015260408301516060808401526116a36080840182611c32565b61ffff91909116815260200190565b61ffff9290921682526001600160a01b0316602082015260400190565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261206f81840186611c32565b90508281036101a084015261046c8185611c32565b60405181810167ffffffffffffffff811182821017156120a057fe5b604052919050565b600067ffffffffffffffff8211156120bc57fe5b5060209081020190565b600067ffffffffffffffff8211156120da57fe5b50601f01601f191660200190565b60005b838110156121035781810151838201526020016120eb565b838111156113cd5750506000910152565b6001600160a01b038116811461212957600080fd5b50565b61ffff8116811461212957600080fd5b67ffffffffffffffff8116811461212957600080fdfe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a2646970667358221220a861f4782f341027bf1cadf5a1d0ff7f9a26ff720016f652423d608330fae17a64736f6c63430007060033",
429
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636c473aff1161008c578063be9d395e11610066578063be9d395e146101c4578063d633ad61146101d9578063e0cabadd146101e1578063ea455df9146101f4576100ea565b80636c473aff1461018757806378d823f71461018f578063b71e0f71146101a4576100ea565b806347713b39116100c857806347713b39146101355780635711c2a81461014a5780635b056da51461016a5780636348d2691461017f576100ea565b80630f222e65146100ef57806318a7cca8146101185780633fc18d4c1461012d575b600080fd5b6101026100fd366004611792565b610207565b60405161010f9190611f88565b60405180910390f35b610120610224565b60405161010f9190611c7b565b610120610248565b61013d61026c565b60405161010f9190611fe3565b61015d610158366004611883565b610275565b60405161010f9190611cbd565b610172610288565b60405161010f9190611fb7565b6101206102ac565b6101206102d0565b6101a261019d3660046119f6565b6102f4565b005b6101b76101b2366004611806565b610304565b60405161010f9190611f01565b6101cc61047b565b60405161010f9190611cb4565b61013d61049f565b6101b76101ef3660046118b6565b6104a8565b61015d610202366004611883565b6104bc565b61020f61148c565b61021b858585856104c7565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1681565b606061028082610628565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6102ff83838361070d565b505050565b61030c6114ab565b600082116103355760405162461bcd60e51b815260040161032c90611eca565b60405180910390fd5b600080808080610347888a018a611ae3565b94509450945094509450600061035f8b8484876104c7565b60208101519091507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6146103a55760405162461bcd60e51b815260040161032c90611d97565b805160408201516000916103bd919089908c90610959565b90506103ca81878e61070d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681606001516001600160a01b0316141561041b576104158160c00151610628565b60c08201525b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681606001516001600160a01b0316141561046c576104668160c00151610a42565b60c08201525b9b9a5050505050505050505050565b7fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f681565b60005460ff1690565b6104b06114ab565b61021b85858585610959565b606061028082610a42565b6104cf61148c565b81518451146104f05760405162461bcd60e51b815260040161032c90611cf2565b60008251116105115760405162461bcd60e51b815260040161032c90611e4b565b6105196114e9565b606060005b84518110156105ab5784818151811061053357fe5b60200260200101519150818051906020012088146105635760405162461bcd60e51b815260040161032c90611d60565b61058987828151811061057257fe5b602002602001015161058384610adf565b90610b35565b925060018551038110156105a3576105a083610ca3565b97505b60010161051e565b5060006105bc600361058385610d8c565b905060006105d26105cd8389610b35565b610dfa565b90506105dc61148c565b6105ed6105e883610e8c565b610ca3565b81526106006105e8600061058385610e8c565b602082015261061661061183610e8c565b610f22565b60408201529998505050505050505050565b6020810151606090600160ff821614156107065760008060008060008060008980602001905181019061065b9190611b68565b9750975097509750975097509750506000815111156106fe57815160009015610685575060148201515b803b806106fb5760008260405160200161069f9190611c5e565b60408051601f19818403018152602083810183526000808552925191945091926106d7928f928f928f928f928f928f928b9201611ff1565b60408051601f198184030181529190529c506102839b505050505050505050505050565b50505b505050505050505b5090919050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16836020015161ffff16146107585760405162461bcd60e51b815260040161032c90611dce565b82516060840151604051635233111160e11b81526000926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263a4662222926107ae929190600401611fc6565b60c06040518083038186803b1580156107c657600080fd5b505afa1580156107da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fe9190611958565b60a0810151855160405163ebfa08e960e01b81529293506000926001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263ebfa08e992610857928990600401611c8f565b604080518083038186803b15801561086e57600080fd5b505afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a691906116ab565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031682604001516001600160a01b0316146108fd5760405162461bcd60e51b815260040161032c90611e14565b828160200151146109205760405162461bcd60e51b815260040161032c90611d29565b816020015167ffffffffffffffff16816000015110156109525760405162461bcd60e51b815260040161032c90611e82565b5050505050565b6109616114ab565b602085015160608601516068870151858801607c01519190610981611503565b61098b818961101b565b5061099b8160008c60888c611055565b5060006109b3896109ad86601c6110f3565b906110f3565b90506109bd611503565b6109c7818361101b565b506109e360008d6109d98d609c611150565b8492919086611055565b506040805160e08101825261ffff808e16825298909816602089015267ffffffffffffffff90941693870193909352506001600160a01b039093166060850152915160808401525060a082018490525160c08201529050949350505050565b606060008083806020019051810190610a5b9190611913565b9150915060008083511115610a71575060148201515b6001600160a01b038116610ad65760405161dead90600090610a97908390602001611c5e565b60405160208183030381529060405290508084604051602001610abb929190611cd0565b60405160208183030381529060405295505050505050610283565b50929392505050565b610ae76114e9565b602082018051835160009190911a908015801590610b08575060c060ff8316105b15610b195760019290920191600019015b6040805180820190915290815260208101929092525092915050565b610b3d6114e9565b610b46836111b1565b610b815760405162461bcd60e51b815260040180806020018281038252602181526020018061217b6021913960400191505060405180910390fd5b610b8a836111eb565b8210610bdd576040805162461bcd60e51b815260206004820152601660248201527f524c50206974656d206f7574206f6620626f756e647300000000000000000000604482015290519081900360640190fd5b8251602084015190810190600090610bf490611243565b60208601510190506000805b85811015610c1f57610c11836112a6565b928301929150600101610c00565b50610c29826112a6565b9050828183011115610c82576040805162461bcd60e51b815260206004820152601160248201527f524c50206974656d206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b60405180604001604052808281526020018381525093505050505b92915050565b805160009015801590610cb857508151602110155b610d09576040805162461bcd60e51b815260206004820181905260248201527f524c504465636f64657220746f55696e7420696e76616c6964206c656e677468604482015290519081900360640190fd5b6000610d188360200151611243565b90508083600001511015610d5d5760405162461bcd60e51b81526004018080602001828103825260288152602001806121536028913960400191505060405180910390fd5b825160208085015183018051928490039291831015610d8357826020036101000a820491505b50949350505050565b610d946114e9565b6000610da38360200151611243565b60208401518451908201805192935060009290921a91908015801590610dcc575060c060ff8416105b15610ddd5760019190910190600019015b604080518082019091529081526020810191909152949350505050565b610e0261151d565b610e0b826111b1565b610e5c576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f72206973206e6f74206c69737400604482015290519081900360640190fd5b6000610e6b8360200151611243565b60208085015160408051808201909152868152920190820152915050919050565b610e946114e9565b610e9d8261133f565b610eee576040805162461bcd60e51b815260206004820152601f60248201527f524c504465636f646572206974657261746f7220686173206e6f206e65787400604482015290519081900360640190fd5b60208201516000610efe826112a6565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090610f625760405162461bcd60e51b815260040180806020018281038252602181526020018061219c6021913960400191505060405180910390fd5b6000610f718360200151611243565b90508083600001511015610fb65760405162461bcd60e51b81526004018080602001828103825260288152602001806121536028913960400191505060405180910390fd5b825181900360008167ffffffffffffffff81118015610fd457600080fd5b506040519080825280601f01601f191660200182016040528015610fff576020820181803683370190505b5090506000816020019050610d83848760200151018285611354565b611023611503565b60208206156110385760208206602003820191505b506020828101829052604080518085526000815290920101905290565b61105d611503565b85602001518286011115611087576110878661107f886020015188860161139f565b6002026113b6565b6000808751805188602083010193508089870111156110a65788860182525b5050508484015b602084106110cc5780518252601f1990930192602091820191016110ad565b51815160001960208690036101000a01908116901991909116179052508495945050505050565b60008282111561114a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156111aa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b80516000906111c257506000610283565b6020820151805160001a9060c08210156111e157600092505050610283565b5060019392505050565b80516000906111fc57506000610283565b60008061120c8460200151611243565b602085015185519181019250015b8082101561123a5761122b826112a6565b6001909301929091019061121a565b50909392505050565b8051600090811a608081101561125d576000915050610283565b60b8811080611278575060c08110801590611278575060f881105b15611287576001915050610283565b60c081101561129b5760b519019050610283565b60f519019050610283565b80516000908190811a60808110156112c15760019150611338565b60b88110156112d657607e1981019150611338565b60c08110156113035760b78103600185019450806020036101000a85510460018201810193505050611338565b60f88110156113185760be1981019150611338565b60f78103600185019450806020036101000a855104600182018101935050505b5092915050565b80518051602091820151919092015191011190565b8061135e576102ff565b5b6020811061137e578251825260209283019290910190601f190161135f565b915181516020939093036101000a6000190180199091169216919091179052565b6000818311156113b0575081610c9d565b50919050565b81516113c2838361101b565b506113cd83826113d3565b50505050565b6113db611503565b6111aa838460000151518485516113f0611503565b82518211156113fe57600080fd5b84602001518285011115611420576114208561107f876020015187860161139f565b60008086518051876020830101935080888701111561143f5787860182525b505050602084015b602084106114665780518252601f199093019260209182019101611447565b51815160001960208690036101000a019081169019919091161790525083949350505050565b6040805160608082018352600080835260208301529181019190915290565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b604051806040016040528060008152602001600081525090565b604051806040016040528060608152602001600081525090565b60405180604001604052806115306114e9565b8152602001600081525090565b803561028381612114565b805161028381612114565b600082601f830112611563578081fd5b81356020611578611573836120a8565b612084565b82815281810190858301855b858110156115ad5761159b898684358b0101611614565b84529284019290840190600101611584565b5090979650505050505050565b600082601f8301126115ca578081fd5b813560206115da611573836120a8565b82815281810190858301838502870184018810156115f6578586fd5b855b858110156115ad578135845292840192908401906001016115f8565b600082601f830112611624578081fd5b8135611632611573826120c6565b818152846020838601011115611646578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112611670578081fd5b815161167e611573826120c6565b818152846020838601011115611692578283fd5b6116a38260208301602087016120e8565b949350505050565b6000604082840312156116bc578081fd5b6040516040810181811067ffffffffffffffff821117156116d957fe5b604052825181526020928301519281019290925250919050565b600060c08284031215611704578081fd5b60405160c0810181811067ffffffffffffffff8211171561172157fe5b8060405250809150825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201525092915050565b80356102838161212c565b80516102838161212c565b80356102838161213c565b80516102838161213c565b600080600080608085870312156117a7578384fd5b84359350602085013567ffffffffffffffff808211156117c5578485fd5b6117d1888389016115ba565b94506040870135935060608701359150808211156117ed578283fd5b506117fa87828801611553565b91505092959194509250565b6000806000806060858703121561181b578182fd5b84359350602085013567ffffffffffffffff80821115611839578384fd5b818701915087601f83011261184c578384fd5b81358181111561185a578485fd5b88602082850101111561186b578485fd5b95986020929092019750949560400135945092505050565b600060208284031215611894578081fd5b813567ffffffffffffffff8111156118aa578182fd5b6116a384828501611614565b600080600080608085870312156118cb578182fd5b843567ffffffffffffffff8111156118e1578283fd5b6118ed87828801611614565b94505060208501356118fe8161212c565b93969395505050506040820135916060013590565b60008060408385031215611925578182fd5b825167ffffffffffffffff81111561193b578283fd5b61194785828601611660565b925050602083015190509250929050565b600060c08284031215611969578081fd5b60405160c0810181811067ffffffffffffffff8211171561198657fe5b60405282516119948161212c565b815260208301516119a48161213c565b602082015260408301516119b781612114565b60408201526119c860608401611771565b60608201526119d960808401611787565b60808201526119ea60a08401611548565b60a08201529392505050565b600080600060608486031215611a0a578081fd5b833567ffffffffffffffff80821115611a21578283fd5b9085019060e08288031215611a34578283fd5b611a3e60e0612084565b611a4783611766565b8152611a5560208401611766565b6020820152611a666040840161177c565b6040820152611a776060840161153d565b6060820152608083013582811115611a8d578485fd5b611a9989828601611614565b60808301525060a083013560a082015260c083013582811115611aba578485fd5b611ac689828601611614565b60c083015250976020870135975060409096013595945050505050565b600080600080600060a08688031215611afa578283fd5b8535611b058161212c565b945060208601359350604086013567ffffffffffffffff80821115611b28578485fd5b611b3489838a01611553565b94506060880135915080821115611b49578283fd5b50611b56888289016115ba565b95989497509295608001359392505050565b6000806000806000806000806101c0898b031215611b84578586fd5b885160ff81168114611b94578687fd5b80985050602089015196506040890151955060608901519450611bba8a60808b016116ab565b9350611bc98a60c08b016116f3565b925061018089015167ffffffffffffffff80821115611be6578384fd5b611bf28c838d01611660565b93506101a08b0151915080821115611c08578283fd5b50611c158b828c01611660565b9150509295985092959890939650565b6001600160a01b03169052565b60008151808452611c4a8160208601602086016120e8565b601f01601f19169290920160200192915050565b60609190911b6bffffffffffffffffffffffff1916815260140190565b6001600160a01b0391909116815260200190565b6001600160a01b0393909316835261ffff919091166020830152604082015260600190565b90815260200190565b6000602082526111aa6020830184611c32565b600060408252611ce36040830185611c32565b90508260208301529392505050565b6020808252601c908201527f50726f6f664c69623a20696e76616c69642070726f6f662073697a6500000000604082015260600190565b6020808252601e908201527f50726f6f664c69623a20696e76616c6964207265636569707420726f6f740000604082015260600190565b6020808252601a908201527f50726f6f664c69623a20696e76616c696420686173686c696e6b000000000000604082015260600190565b6020808252601f908201527f50726f6f664c69623a207061636b6574206e6f74207265636f676e697a656400604082015260600190565b60208082526026908201527f50726f6f664c69623a20696e76616c69642064657374696e6174696f6e206368604082015265185a5b88125160d21b606082015260800190565b60208082526019908201527f50726f6f664c69623a20696e76616c69642072656c6179657200000000000000604082015260600190565b6020808252601d908201527f50726f6f664c69623a2070726f6f662073697a65206d757374203e2030000000604082015260600190565b60208082526028908201527f50726f6f664c69623a206e6f7420656e6f75676820626c6f636b20636f6e6669604082015267726d6174696f6e7360c01b606082015260800190565b6020808252601e908201527f50726f6f664c69623a20696e76616c696420616464726573732073697a650000604082015260600190565b60006020825261ffff8084511660208401528060208501511660408401525067ffffffffffffffff60408401511660608301526060830151611f466080840182611c25565b50608083015160e060a0840152611f61610100840182611c32565b905060a084015160c084015260c0840151601f198483030160e085015261021b8282611c32565b600060208252825160208301526020830151604083015260408301516060808401526116a36080840182611c32565b61ffff91909116815260200190565b61ffff9290921682526001600160a01b0316602082015260400190565b60ff91909116815260200190565b60006101c060ff8b16835289602084015288604084015287606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a08601516101608401528061018084015261206f81840186611c32565b90508281036101a084015261046c8185611c32565b60405181810167ffffffffffffffff811182821017156120a057fe5b604052919050565b600067ffffffffffffffff8211156120bc57fe5b5060209081020190565b600067ffffffffffffffff8211156120da57fe5b50601f01601f191660200190565b60005b838110156121035781810151838201526020016120eb565b838111156113cd5750506000910152565b6001600160a01b038116811461212957600080fd5b50565b61ffff8116811461212957600080fd5b67ffffffffffffffff8116811461212957600080fdfe524c504465636f6465723a20696e76616c696420524c50206974656d206f66667365742073697a65524c504465636f646572206974657261746f72206973206e6f742061206c697374524c504465636f64657220746f427974657320696e76616c6964206c656e677468a2646970667358221220a861f4782f341027bf1cadf5a1d0ff7f9a26ff720016f652423d608330fae17a64736f6c63430007060033",
430
430
  "linkReferences": {},
431
431
  "deployedLinkReferences": {}
432
432
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "Buffer",
4
4
  "sourceName": "contracts/proof/utility/Buffer.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206aa54774ada31ceecce50e0c01f4ec8438ad69ddf2928daa75d90f77e41347f364736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206aa54774ada31ceecce50e0c01f4ec8438ad69ddf2928daa75d90f77e41347f364736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202765c8adab1977d16927c141b4e3a509ccf9a4f673e76d38655b3fb5d8078e3864736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202765c8adab1977d16927c141b4e3a509ccf9a4f673e76d38655b3fb5d8078e3864736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "LayerZeroPacket",
4
4
  "sourceName": "contracts/proof/utility/LayerZeroPacket.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204862fadce35c4c51922ff1d2f08ef69018f1d225c1c35067ce6b0602b664201d64736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204862fadce35c4c51922ff1d2f08ef69018f1d225c1c35067ce6b0602b664201d64736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d08505464c10a3ebb5bd6eb53451b7230f7b9289d9386d10a972198f4e1284d664736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d08505464c10a3ebb5bd6eb53451b7230f7b9289d9386d10a972198f4e1284d664736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "RLPDecode",
4
4
  "sourceName": "contracts/proof/utility/RLPDecode.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122051dccc9eb1ef46123c1e0f7ad608cd80ab455d3defa32d79948379fd969c9f3964736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122051dccc9eb1ef46123c1e0f7ad608cd80ab455d3defa32d79948379fd969c9f3964736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b59987d648207b36e77a58f2a45ba5b45db19a930323dc050e24fe78b20c0c5064736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b59987d648207b36e77a58f2a45ba5b45db19a930323dc050e24fe78b20c0c5064736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "UltraLightNodeEVMDecoder",
4
4
  "sourceName": "contracts/proof/utility/UltraLightNodeEVMDecoder.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220dc7ef69620ba35df012ee6e61798a052909a3346c14c6a7296c7ec12346ef34264736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220dc7ef69620ba35df012ee6e61798a052909a3346c14c6a7296c7ec12346ef34264736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203e2694bd68c605230a44945e48351e05dfcbd93e809ef3f53559b5a7ad7141e764736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203e2694bd68c605230a44945e48351e05dfcbd93e809ef3f53559b5a7ad7141e764736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/lz-evm-sdk-v1",
3
- "version": "1.5.14",
3
+ "version": "1.5.15",
4
4
  "files": [
5
5
  "artifacts/contracts/Relayer.sol/Relayer.json",
6
6
  "artifacts/contracts/RelayerV2.sol/RelayerV2.json",
@@ -16,18 +16,26 @@
16
16
  "artifacts/contracts/precrime/PreCrime.sol/PreCrime.json",
17
17
  "artifacts/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json",
18
18
  "artifacts/contracts/precrime/PreCrimeView.sol/PreCrimeView.json",
19
+ "artifacts/contracts/messagelib-e2/**/*",
19
20
  "deployments/**/*"
20
21
  ],
21
22
  "scripts": {
22
- "clean": "$npm_execpath rimraf artifacts"
23
+ "build": "$npm_execpath typechain && $npm_execpath tsc",
24
+ "clean": "$npm_execpath rimraf artifacts",
25
+ "typechain": "typechain --target ethers-v5 'artifacts/contracts/**/*.json' --out-dir chaintypes"
23
26
  },
24
27
  "dependencies": {
25
- "@ethersproject/providers": "^5.7.2"
28
+ "@ethersproject/abi": "^5.7.0",
29
+ "@ethersproject/providers": "^5.7.2",
30
+ "ethers": "^5.7.2"
26
31
  },
27
32
  "devDependencies": {
33
+ "@layerzerolabs/lz-evm-sdk-v1-0.7": "^1.5.15",
34
+ "@layerzerolabs/typescript-config": "^1.5.15",
28
35
  "@typechain/ethers-v5": "^10.2.0",
29
36
  "@typechain/hardhat": "^6.1.5",
30
37
  "rimraf": "^3.0.2",
31
- "typechain": "^8.1.1"
38
+ "typechain": "^8.1.1",
39
+ "typescript": "^4.9.4"
32
40
  }
33
41
  }