@layerzerolabs/lz-evm-sdk-v1 2.3.8 → 2.3.10

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 (146) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/artifacts-tron/contracts/Endpoint.sol/Endpoint.json +958 -0
  3. package/artifacts-tron/contracts/NonceContract.sol/NonceContract.json +88 -0
  4. package/artifacts-tron/contracts/PriceFeed.sol/PriceFeed.json +531 -0
  5. package/artifacts-tron/contracts/RelayerV2.sol/RelayerV2.json +1170 -0
  6. package/artifacts-tron/contracts/UltraLightNode.sol/UltraLightNode.json +1475 -0
  7. package/artifacts-tron/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1423 -0
  8. package/artifacts-tron/contracts/interfaces/IContractOne.sol/IContractOne.json +24 -0
  9. package/artifacts-tron/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +447 -0
  10. package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +160 -0
  11. package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +184 -0
  12. package/artifacts-tron/contracts/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +77 -0
  13. package/artifacts-tron/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +97 -0
  14. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +107 -0
  15. package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +104 -0
  16. package/artifacts-tron/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +39 -0
  17. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +92 -0
  18. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +107 -0
  19. package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2PriceData.sol/ILayerZeroRelayerV2PriceData.json +83 -0
  20. package/artifacts-tron/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +40 -0
  21. package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV1.sol/ILayerZeroUltraLightNodeV1.json +156 -0
  22. package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +582 -0
  23. package/artifacts-tron/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +83 -0
  24. package/artifacts-tron/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +77 -0
  25. package/artifacts-tron/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +146 -0
  26. package/artifacts-tron/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +154 -0
  27. package/artifacts-tron/contracts/precrime/PreCrime.sol/PreCrime.json +353 -0
  28. package/artifacts-tron/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +259 -0
  29. package/artifacts-tron/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +318 -0
  30. package/artifacts-tron/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +162 -0
  31. package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +116 -0
  32. package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +162 -0
  33. package/artifacts-tron/contracts/proof/FPValidator.sol/FPValidator.json +326 -0
  34. package/artifacts-tron/contracts/proof/FPValidator.sol/IStargate.json +10 -0
  35. package/artifacts-tron/contracts/proof/MPTValidator.sol/MPTValidator.json +146 -0
  36. package/artifacts-tron/contracts/proof/MPTValidator01.sol/IStargate.json +10 -0
  37. package/artifacts-tron/contracts/proof/MPTValidator01.sol/MPTValidator01.json +339 -0
  38. package/artifacts-tron/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +310 -0
  39. package/artifacts-tron/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +212 -0
  40. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IStargate.json +10 -0
  41. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IUltraLightNode.json +108 -0
  42. package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +414 -0
  43. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IStargate.json +10 -0
  44. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IUltraLightNode.json +108 -0
  45. package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +432 -0
  46. package/artifacts-tron/contracts/proof/utility/Buffer.sol/Buffer.json +10 -0
  47. package/artifacts-tron/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +10 -0
  48. package/artifacts-tron/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +10 -0
  49. package/artifacts-tron/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +10 -0
  50. package/artifacts-zk/contracts/Endpoint.sol/Endpoint.json +959 -0
  51. package/artifacts-zk/contracts/NonceContract.sol/NonceContract.json +89 -0
  52. package/artifacts-zk/contracts/PriceFeed.sol/PriceFeed.json +545 -0
  53. package/artifacts-zk/contracts/RelayerV2.sol/RelayerV2.json +1020 -0
  54. package/artifacts-zk/contracts/TreasuryV2.sol/TreasuryV2.json +309 -0
  55. package/artifacts-zk/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1424 -0
  56. package/artifacts-zk/contracts/interfaces/IContractOne.sol/IContractOne.json +25 -0
  57. package/artifacts-zk/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +448 -0
  58. package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +161 -0
  59. package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +185 -0
  60. package/artifacts-zk/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +98 -0
  61. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +108 -0
  62. package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +105 -0
  63. package/artifacts-zk/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +40 -0
  64. package/artifacts-zk/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +108 -0
  65. package/artifacts-zk/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +41 -0
  66. package/artifacts-zk/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +583 -0
  67. package/artifacts-zk/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +84 -0
  68. package/artifacts-zk/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +78 -0
  69. package/artifacts-zk/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +147 -0
  70. package/artifacts-zk/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +155 -0
  71. package/artifacts-zk/contracts/oracle/OracleV2.sol/OracleV2.json +1527 -0
  72. package/artifacts-zk/contracts/precrime/PreCrime.sol/PreCrime.json +354 -0
  73. package/artifacts-zk/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +260 -0
  74. package/artifacts-zk/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +319 -0
  75. package/artifacts-zk/contracts/precrime/example/inherit/CounterI.sol/CounterI.json +624 -0
  76. package/artifacts-zk/contracts/precrime/example/inherit/CounterPrecrime.sol/CounterPrecrime.json +458 -0
  77. package/artifacts-zk/contracts/precrime/example/view/CounterPrecrimeView.sol/CounterPrecrimeView.json +417 -0
  78. package/artifacts-zk/contracts/precrime/example/view/CounterV.sol/CounterV.json +178 -0
  79. package/artifacts-zk/contracts/precrime/example/view/CounterView.sol/CounterView.json +166 -0
  80. package/artifacts-zk/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +163 -0
  81. package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +117 -0
  82. package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +163 -0
  83. package/artifacts-zk/contracts/proof/FPValidator.sol/FPValidator.json +327 -0
  84. package/artifacts-zk/contracts/proof/FPValidator.sol/IStargate.json +11 -0
  85. package/artifacts-zk/contracts/proof/utility/Buffer.sol/Buffer.json +11 -0
  86. package/artifacts-zk/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +11 -0
  87. package/artifacts-zk/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +11 -0
  88. package/artifacts-zk/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +11 -0
  89. package/artifacts-zk/contracts/proxy/ProxyAdmin.sol/ProxyAdmin.json +172 -0
  90. package/artifacts-zk/contracts/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +156 -0
  91. package/deployments/arbitrum-sandbox-local/DefaultProxyAdmin.json +10 -10
  92. package/deployments/arbitrum-sandbox-local/Endpoint.json +7 -7
  93. package/deployments/arbitrum-sandbox-local/FPValidator.json +4 -4
  94. package/deployments/arbitrum-sandbox-local/MPTValidator01.json +4 -4
  95. package/deployments/arbitrum-sandbox-local/NonceContract.json +4 -4
  96. package/deployments/arbitrum-sandbox-local/RelayerV2.json +16 -16
  97. package/deployments/arbitrum-sandbox-local/RelayerV2_Implementation.json +4 -4
  98. package/deployments/arbitrum-sandbox-local/RelayerV2_Proxy.json +16 -16
  99. package/deployments/arbitrum-sandbox-local/TreasuryV2.json +7 -7
  100. package/deployments/arbitrum-sandbox-local/UltraLightNode.json +7 -7
  101. package/deployments/arbitrum-sandbox-local/UltraLightNodeV2.json +7 -7
  102. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +10 -10
  103. package/deployments/bsc-sandbox-local/Endpoint.json +7 -7
  104. package/deployments/bsc-sandbox-local/FPValidator.json +4 -4
  105. package/deployments/bsc-sandbox-local/MPTValidator01.json +4 -4
  106. package/deployments/bsc-sandbox-local/NonceContract.json +4 -4
  107. package/deployments/bsc-sandbox-local/RelayerV2.json +16 -16
  108. package/deployments/bsc-sandbox-local/RelayerV2_Implementation.json +4 -4
  109. package/deployments/bsc-sandbox-local/RelayerV2_Proxy.json +16 -16
  110. package/deployments/bsc-sandbox-local/TreasuryV2.json +7 -7
  111. package/deployments/bsc-sandbox-local/UltraLightNode.json +7 -7
  112. package/deployments/bsc-sandbox-local/UltraLightNodeV2.json +7 -7
  113. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +10 -10
  114. package/deployments/ethereum-sandbox-local/Endpoint.json +7 -7
  115. package/deployments/ethereum-sandbox-local/FPValidator.json +4 -4
  116. package/deployments/ethereum-sandbox-local/MPTValidator01.json +4 -4
  117. package/deployments/ethereum-sandbox-local/NonceContract.json +4 -4
  118. package/deployments/ethereum-sandbox-local/RelayerV2.json +16 -16
  119. package/deployments/ethereum-sandbox-local/RelayerV2_Implementation.json +4 -4
  120. package/deployments/ethereum-sandbox-local/RelayerV2_Proxy.json +16 -16
  121. package/deployments/ethereum-sandbox-local/TreasuryV2.json +7 -7
  122. package/deployments/ethereum-sandbox-local/UltraLightNode.json +7 -7
  123. package/deployments/ethereum-sandbox-local/UltraLightNodeV2.json +7 -7
  124. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +10 -10
  125. package/deployments/polygon-sandbox-local/Endpoint.json +7 -7
  126. package/deployments/polygon-sandbox-local/FPValidator.json +4 -4
  127. package/deployments/polygon-sandbox-local/MPTValidator01.json +4 -4
  128. package/deployments/polygon-sandbox-local/NonceContract.json +4 -4
  129. package/deployments/polygon-sandbox-local/RelayerV2.json +16 -16
  130. package/deployments/polygon-sandbox-local/RelayerV2_Implementation.json +4 -4
  131. package/deployments/polygon-sandbox-local/RelayerV2_Proxy.json +16 -16
  132. package/deployments/polygon-sandbox-local/TreasuryV2.json +7 -7
  133. package/deployments/polygon-sandbox-local/UltraLightNode.json +7 -7
  134. package/deployments/polygon-sandbox-local/UltraLightNodeV2.json +7 -7
  135. package/deployments/tron-sandbox-local/DefaultProxyAdmin.json +14 -14
  136. package/deployments/tron-sandbox-local/Endpoint.json +10 -10
  137. package/deployments/tron-sandbox-local/FPValidator.json +6 -6
  138. package/deployments/tron-sandbox-local/MPTValidator01.json +6 -6
  139. package/deployments/tron-sandbox-local/NonceContract.json +7 -7
  140. package/deployments/tron-sandbox-local/RelayerV2.json +31 -31
  141. package/deployments/tron-sandbox-local/RelayerV2_Implementation.json +6 -6
  142. package/deployments/tron-sandbox-local/RelayerV2_Proxy.json +28 -28
  143. package/deployments/tron-sandbox-local/TreasuryV2.json +11 -11
  144. package/deployments/tron-sandbox-local/UltraLightNode.json +11 -11
  145. package/deployments/tron-sandbox-local/UltraLightNodeV2.json +12 -12
  146. package/package.json +23 -7
@@ -0,0 +1,88 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "NonceContract",
4
+ "sourceName": "contracts/NonceContract.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_endpoint",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "endpoint",
20
+ "outputs": [
21
+ {
22
+ "internalType": "contract ILayerZeroEndpoint",
23
+ "name": "",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "stateMutability": "view",
28
+ "type": "function"
29
+ },
30
+ {
31
+ "inputs": [
32
+ {
33
+ "internalType": "uint16",
34
+ "name": "_chainId",
35
+ "type": "uint16"
36
+ },
37
+ {
38
+ "internalType": "address",
39
+ "name": "_ua",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "internalType": "bytes",
44
+ "name": "_path",
45
+ "type": "bytes"
46
+ }
47
+ ],
48
+ "name": "increment",
49
+ "outputs": [
50
+ {
51
+ "internalType": "uint64",
52
+ "name": "",
53
+ "type": "uint64"
54
+ }
55
+ ],
56
+ "stateMutability": "nonpayable",
57
+ "type": "function"
58
+ },
59
+ {
60
+ "inputs": [
61
+ {
62
+ "internalType": "uint16",
63
+ "name": "",
64
+ "type": "uint16"
65
+ },
66
+ {
67
+ "internalType": "bytes",
68
+ "name": "",
69
+ "type": "bytes"
70
+ }
71
+ ],
72
+ "name": "outboundNonce",
73
+ "outputs": [
74
+ {
75
+ "internalType": "uint64",
76
+ "name": "",
77
+ "type": "uint64"
78
+ }
79
+ ],
80
+ "stateMutability": "view",
81
+ "type": "function"
82
+ }
83
+ ],
84
+ "bytecode": "0x60a060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506040516104f93803806104f98339818101604052602081101561004d57600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610473610086600039806101f7528061023452506104736000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80635e280f11146100605780636fe7b67314610091578063c533338f14610144575b600080fd5b6100686101f5565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610127600480360360608110156100a757600080fd5b61ffff8235169173ffffffffffffffffffffffffffffffffffffffff602082013516918101906060810160408201356401000000008111156100e857600080fd5b8201836020820111156100fa57600080fd5b8035906020019184600183028401116401000000008311171561011c57600080fd5b509092509050610219565b6040805167ffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561015a57600080fd5b61ffff823516919081019060408101602082013564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d6945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60003373ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639c729da1866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156102b957600080fd5b505afa1580156102cd573d6000803e3d6000fd5b505050506040513d60208110156102e357600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603281526020018061040c6032913960400191505060405180910390fd5b6000808661ffff1661ffff1681526020019081526020016000208383604051808383808284379190910194855250506040516020938190039390930190922080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008116600167ffffffffffffffff9283160191821617909155979650505050505050565b6000602081815292815260409020815180830184018051928152908401929093019190912091525467ffffffffffffffff168156fe4e6f6e6365436f6e74726163743a206d73672e73656e646572206973206e6f742076616c69642073656e646c696272617279a2646970667358221220c80bd954d92040708b767f4b085bf2ae2d1d9f5a88124e482e38bf311b63a83664736f6c63430007060033",
85
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061005b5760003560e01c80635e280f11146100605780636fe7b67314610091578063c533338f14610144575b600080fd5b6100686101f5565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610127600480360360608110156100a757600080fd5b61ffff8235169173ffffffffffffffffffffffffffffffffffffffff602082013516918101906060810160408201356401000000008111156100e857600080fd5b8201836020820111156100fa57600080fd5b8035906020019184600183028401116401000000008311171561011c57600080fd5b509092509050610219565b6040805167ffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561015a57600080fd5b61ffff823516919081019060408101602082013564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d6945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60003373ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639c729da1866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156102b957600080fd5b505afa1580156102cd573d6000803e3d6000fd5b505050506040513d60208110156102e357600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603281526020018061040c6032913960400191505060405180910390fd5b6000808661ffff1661ffff1681526020019081526020016000208383604051808383808284379190910194855250506040516020938190039390930190922080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008116600167ffffffffffffffff9283160191821617909155979650505050505050565b6000602081815292815260409020815180830184018051928152908401929093019190912091525467ffffffffffffffff168156fe4e6f6e6365436f6e74726163743a206d73672e73656e646572206973206e6f742076616c69642073656e646c696272617279a2646970667358221220c80bd954d92040708b767f4b085bf2ae2d1d9f5a88124e482e38bf311b63a83664736f6c63430007060033",
86
+ "linkReferences": {},
87
+ "deployedLinkReferences": {}
88
+ }
@@ -0,0 +1,531 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PriceFeed",
4
+ "sourceName": "contracts/PriceFeed.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "previousOwner",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "newOwner",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "OwnershipTransferred",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "ARBITRUM_COMPRESSION_PERCENT",
28
+ "outputs": [
29
+ {
30
+ "internalType": "uint128",
31
+ "name": "",
32
+ "type": "uint128"
33
+ }
34
+ ],
35
+ "stateMutability": "view",
36
+ "type": "function"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "PRICE_RATIO_DENOMINATOR",
41
+ "outputs": [
42
+ {
43
+ "internalType": "uint128",
44
+ "name": "",
45
+ "type": "uint128"
46
+ }
47
+ ],
48
+ "stateMutability": "view",
49
+ "type": "function"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "arbitrumPriceExt",
54
+ "outputs": [
55
+ {
56
+ "internalType": "uint64",
57
+ "name": "gasPerL2Tx",
58
+ "type": "uint64"
59
+ },
60
+ {
61
+ "internalType": "uint32",
62
+ "name": "gasPerL1CallDataByte",
63
+ "type": "uint32"
64
+ }
65
+ ],
66
+ "stateMutability": "view",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "uint16",
73
+ "name": "",
74
+ "type": "uint16"
75
+ }
76
+ ],
77
+ "name": "defaultModelPrice",
78
+ "outputs": [
79
+ {
80
+ "internalType": "uint128",
81
+ "name": "priceRatio",
82
+ "type": "uint128"
83
+ },
84
+ {
85
+ "internalType": "uint64",
86
+ "name": "gasPriceInUnit",
87
+ "type": "uint64"
88
+ },
89
+ {
90
+ "internalType": "uint32",
91
+ "name": "gasPerByte",
92
+ "type": "uint32"
93
+ }
94
+ ],
95
+ "stateMutability": "view",
96
+ "type": "function"
97
+ },
98
+ {
99
+ "inputs": [
100
+ {
101
+ "internalType": "uint16",
102
+ "name": "_dstChainId",
103
+ "type": "uint16"
104
+ },
105
+ {
106
+ "internalType": "uint256",
107
+ "name": "_callDataSize",
108
+ "type": "uint256"
109
+ },
110
+ {
111
+ "internalType": "uint256",
112
+ "name": "_gas",
113
+ "type": "uint256"
114
+ }
115
+ ],
116
+ "name": "estimateFeeByChain",
117
+ "outputs": [
118
+ {
119
+ "internalType": "uint256",
120
+ "name": "fee",
121
+ "type": "uint256"
122
+ },
123
+ {
124
+ "internalType": "uint128",
125
+ "name": "priceRatio",
126
+ "type": "uint128"
127
+ }
128
+ ],
129
+ "stateMutability": "view",
130
+ "type": "function"
131
+ },
132
+ {
133
+ "inputs": [
134
+ {
135
+ "internalType": "uint16",
136
+ "name": "_dstChainId",
137
+ "type": "uint16"
138
+ },
139
+ {
140
+ "internalType": "uint256",
141
+ "name": "_callDataSize",
142
+ "type": "uint256"
143
+ },
144
+ {
145
+ "internalType": "uint256",
146
+ "name": "_gas",
147
+ "type": "uint256"
148
+ }
149
+ ],
150
+ "name": "estimateFeeWithArbitrumModel",
151
+ "outputs": [
152
+ {
153
+ "internalType": "uint256",
154
+ "name": "fee",
155
+ "type": "uint256"
156
+ },
157
+ {
158
+ "internalType": "uint128",
159
+ "name": "priceRatio",
160
+ "type": "uint128"
161
+ }
162
+ ],
163
+ "stateMutability": "view",
164
+ "type": "function"
165
+ },
166
+ {
167
+ "inputs": [
168
+ {
169
+ "internalType": "uint16",
170
+ "name": "_dstChainId",
171
+ "type": "uint16"
172
+ },
173
+ {
174
+ "internalType": "uint256",
175
+ "name": "_callDataSize",
176
+ "type": "uint256"
177
+ },
178
+ {
179
+ "internalType": "uint256",
180
+ "name": "_gas",
181
+ "type": "uint256"
182
+ }
183
+ ],
184
+ "name": "estimateFeeWithDefaultModel",
185
+ "outputs": [
186
+ {
187
+ "internalType": "uint256",
188
+ "name": "fee",
189
+ "type": "uint256"
190
+ },
191
+ {
192
+ "internalType": "uint128",
193
+ "name": "priceRatio",
194
+ "type": "uint128"
195
+ }
196
+ ],
197
+ "stateMutability": "view",
198
+ "type": "function"
199
+ },
200
+ {
201
+ "inputs": [
202
+ {
203
+ "internalType": "uint16",
204
+ "name": "_dstChainId",
205
+ "type": "uint16"
206
+ },
207
+ {
208
+ "internalType": "uint256",
209
+ "name": "_callDataSize",
210
+ "type": "uint256"
211
+ },
212
+ {
213
+ "internalType": "uint256",
214
+ "name": "_gas",
215
+ "type": "uint256"
216
+ }
217
+ ],
218
+ "name": "estimateFeeWithOptimismModel",
219
+ "outputs": [
220
+ {
221
+ "internalType": "uint256",
222
+ "name": "fee",
223
+ "type": "uint256"
224
+ },
225
+ {
226
+ "internalType": "uint128",
227
+ "name": "priceRatio",
228
+ "type": "uint128"
229
+ }
230
+ ],
231
+ "stateMutability": "view",
232
+ "type": "function"
233
+ },
234
+ {
235
+ "inputs": [
236
+ {
237
+ "internalType": "uint16",
238
+ "name": "_dstChainId",
239
+ "type": "uint16"
240
+ }
241
+ ],
242
+ "name": "getPrice",
243
+ "outputs": [
244
+ {
245
+ "components": [
246
+ {
247
+ "internalType": "uint128",
248
+ "name": "priceRatio",
249
+ "type": "uint128"
250
+ },
251
+ {
252
+ "internalType": "uint64",
253
+ "name": "gasPriceInUnit",
254
+ "type": "uint64"
255
+ },
256
+ {
257
+ "internalType": "uint32",
258
+ "name": "gasPerByte",
259
+ "type": "uint32"
260
+ }
261
+ ],
262
+ "internalType": "struct ILayerZeroPriceFeed.Price",
263
+ "name": "price",
264
+ "type": "tuple"
265
+ }
266
+ ],
267
+ "stateMutability": "view",
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [],
272
+ "name": "getPriceRatioDenominator",
273
+ "outputs": [
274
+ {
275
+ "internalType": "uint128",
276
+ "name": "",
277
+ "type": "uint128"
278
+ }
279
+ ],
280
+ "stateMutability": "view",
281
+ "type": "function"
282
+ },
283
+ {
284
+ "inputs": [
285
+ {
286
+ "internalType": "address",
287
+ "name": "_priceUpdater",
288
+ "type": "address"
289
+ }
290
+ ],
291
+ "name": "initialize",
292
+ "outputs": [],
293
+ "stateMutability": "nonpayable",
294
+ "type": "function"
295
+ },
296
+ {
297
+ "inputs": [],
298
+ "name": "nativeTokenPriceUSD",
299
+ "outputs": [
300
+ {
301
+ "internalType": "uint128",
302
+ "name": "",
303
+ "type": "uint128"
304
+ }
305
+ ],
306
+ "stateMutability": "view",
307
+ "type": "function"
308
+ },
309
+ {
310
+ "inputs": [],
311
+ "name": "onUpgrade",
312
+ "outputs": [],
313
+ "stateMutability": "nonpayable",
314
+ "type": "function"
315
+ },
316
+ {
317
+ "inputs": [],
318
+ "name": "owner",
319
+ "outputs": [
320
+ {
321
+ "internalType": "address",
322
+ "name": "",
323
+ "type": "address"
324
+ }
325
+ ],
326
+ "stateMutability": "view",
327
+ "type": "function"
328
+ },
329
+ {
330
+ "inputs": [
331
+ {
332
+ "internalType": "address",
333
+ "name": "",
334
+ "type": "address"
335
+ }
336
+ ],
337
+ "name": "priceUpdater",
338
+ "outputs": [
339
+ {
340
+ "internalType": "bool",
341
+ "name": "",
342
+ "type": "bool"
343
+ }
344
+ ],
345
+ "stateMutability": "view",
346
+ "type": "function"
347
+ },
348
+ {
349
+ "inputs": [],
350
+ "name": "renounceOwnership",
351
+ "outputs": [],
352
+ "stateMutability": "nonpayable",
353
+ "type": "function"
354
+ },
355
+ {
356
+ "inputs": [
357
+ {
358
+ "internalType": "uint128",
359
+ "name": "_compressionPercent",
360
+ "type": "uint128"
361
+ }
362
+ ],
363
+ "name": "setArbitrumCompressionPercent",
364
+ "outputs": [],
365
+ "stateMutability": "nonpayable",
366
+ "type": "function"
367
+ },
368
+ {
369
+ "inputs": [
370
+ {
371
+ "internalType": "uint128",
372
+ "name": "_nativeTokenPriceUSD",
373
+ "type": "uint128"
374
+ }
375
+ ],
376
+ "name": "setNativeTokenPriceUSD",
377
+ "outputs": [],
378
+ "stateMutability": "nonpayable",
379
+ "type": "function"
380
+ },
381
+ {
382
+ "inputs": [
383
+ {
384
+ "components": [
385
+ {
386
+ "internalType": "uint16",
387
+ "name": "chainId",
388
+ "type": "uint16"
389
+ },
390
+ {
391
+ "components": [
392
+ {
393
+ "internalType": "uint128",
394
+ "name": "priceRatio",
395
+ "type": "uint128"
396
+ },
397
+ {
398
+ "internalType": "uint64",
399
+ "name": "gasPriceInUnit",
400
+ "type": "uint64"
401
+ },
402
+ {
403
+ "internalType": "uint32",
404
+ "name": "gasPerByte",
405
+ "type": "uint32"
406
+ }
407
+ ],
408
+ "internalType": "struct ILayerZeroPriceFeed.Price",
409
+ "name": "price",
410
+ "type": "tuple"
411
+ }
412
+ ],
413
+ "internalType": "struct ILayerZeroPriceFeed.UpdatePrice[]",
414
+ "name": "_price",
415
+ "type": "tuple[]"
416
+ }
417
+ ],
418
+ "name": "setPrice",
419
+ "outputs": [],
420
+ "stateMutability": "nonpayable",
421
+ "type": "function"
422
+ },
423
+ {
424
+ "inputs": [
425
+ {
426
+ "components": [
427
+ {
428
+ "internalType": "uint16",
429
+ "name": "chainId",
430
+ "type": "uint16"
431
+ },
432
+ {
433
+ "components": [
434
+ {
435
+ "internalType": "uint128",
436
+ "name": "priceRatio",
437
+ "type": "uint128"
438
+ },
439
+ {
440
+ "internalType": "uint64",
441
+ "name": "gasPriceInUnit",
442
+ "type": "uint64"
443
+ },
444
+ {
445
+ "internalType": "uint32",
446
+ "name": "gasPerByte",
447
+ "type": "uint32"
448
+ }
449
+ ],
450
+ "internalType": "struct ILayerZeroPriceFeed.Price",
451
+ "name": "price",
452
+ "type": "tuple"
453
+ },
454
+ {
455
+ "components": [
456
+ {
457
+ "internalType": "uint64",
458
+ "name": "gasPerL2Tx",
459
+ "type": "uint64"
460
+ },
461
+ {
462
+ "internalType": "uint32",
463
+ "name": "gasPerL1CallDataByte",
464
+ "type": "uint32"
465
+ }
466
+ ],
467
+ "internalType": "struct ILayerZeroPriceFeed.ArbitrumPriceExt",
468
+ "name": "extend",
469
+ "type": "tuple"
470
+ }
471
+ ],
472
+ "internalType": "struct ILayerZeroPriceFeed.UpdatePriceExt[]",
473
+ "name": "_price",
474
+ "type": "tuple[]"
475
+ }
476
+ ],
477
+ "name": "setPriceForArbitrum",
478
+ "outputs": [],
479
+ "stateMutability": "nonpayable",
480
+ "type": "function"
481
+ },
482
+ {
483
+ "inputs": [
484
+ {
485
+ "internalType": "uint128",
486
+ "name": "_denominator",
487
+ "type": "uint128"
488
+ }
489
+ ],
490
+ "name": "setPriceRatioDenominator",
491
+ "outputs": [],
492
+ "stateMutability": "nonpayable",
493
+ "type": "function"
494
+ },
495
+ {
496
+ "inputs": [
497
+ {
498
+ "internalType": "address",
499
+ "name": "_addr",
500
+ "type": "address"
501
+ },
502
+ {
503
+ "internalType": "bool",
504
+ "name": "_active",
505
+ "type": "bool"
506
+ }
507
+ ],
508
+ "name": "setPriceUpdater",
509
+ "outputs": [],
510
+ "stateMutability": "nonpayable",
511
+ "type": "function"
512
+ },
513
+ {
514
+ "inputs": [
515
+ {
516
+ "internalType": "address",
517
+ "name": "newOwner",
518
+ "type": "address"
519
+ }
520
+ ],
521
+ "name": "transferOwnership",
522
+ "outputs": [],
523
+ "stateMutability": "nonpayable",
524
+ "type": "function"
525
+ }
526
+ ],
527
+ "bytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50611dc08061003a6000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106101a75760003560e01c80638da5cb5b116100fd578063cd68b79b116100a6578063e15d16e811610080578063e15d16e81461033a578063f2fde38b1461034d578063ff37b49614610360576101a7565b8063cd68b79b146102ff578063d350ad2514610307578063e0ad121a1461031a576101a7565b8063ab1518ab116100d7578063ab1518ab146102d1578063c1840327146102e4578063c4d66de8146102ec576101a7565b80638da5cb5b146102925780638f7002d2146102a757806392807f58146102c9576101a7565b806352a725101161015f578063715018a611610139578063715018a6146102495780637bc3c9ab146102515780638ca2fb0814610272576101a7565b806352a72510146102105780635d6d7ccb14610223578063711746e214610236576101a7565b80632f7cb0b4116101905780632f7cb0b4146101c957806336a5beba146101dc5780633c04741e146101fb576101a7565b806315527af6146101ac5780631824a46b146101c1575b600080fd5b6101bf6101ba3660046119d4565b610373565b005b6101bf6104c2565b6101bf6101d7366004611b07565b6105a6565b6101e4610669565b6040516101f2929190611cf5565b60405180910390f35b61020361068d565b6040516101f29190611c7e565b6101bf61021e36600461199a565b6106a5565b6101bf610231366004611b07565b61076b565b6101bf610244366004611a44565b610801565b6101bf610890565b61026461025f366004611b3b565b61098d565b6040516101f2929190611cd5565b610285610280366004611979565b610a1c565b6040516101f29190611bc2565b61029a610a31565b6040516101f29190611ba1565b6102ba6102b5366004611b21565b610a4d565b6040516101f293929190611c9b565b610203610ab4565b6102646102df366004611b3b565b610acc565b610203610c86565b6101bf6102fa366004611979565b610c9e565b610203610e5b565b6101bf610315366004611b07565b610e87565b61032d610328366004611b21565b610f58565b6040516101f29190611c3b565b610264610348366004611b3b565b610fe8565b6101bf61035b366004611979565b6110b8565b61026461036e366004611b3b565b611226565b3361037c610a31565b73ffffffffffffffffffffffffffffffffffffffff16146103cf573360009081526066602052604090205460ff166103cf5760405162461bcd60e51b81526004016103c690611bcd565b60405180910390fd5b60005b818110156104bd57368383838181106103e757fe5b60c00291909101915061041990506104026020830183611b21565b61041436849003840160208501611aa2565b611368565b600061042b60a0830160808401611b87565b9050600061043f60c0840160a08501611b6d565b6068805463ffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff67ffffffffffffffff9095167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090931692909217939093161790915550506001016103d2565b505050565b60006104cc611484565b905073ffffffffffffffffffffffffffffffffffffffff81166105255773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610547565b3373ffffffffffffffffffffffffffffffffffffffff82161461054757600080fd5b50606580546402540be4007fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116179055606980546fffffffffffffffffffffffffffffffff16702f00000000000000000000000000000000179055565b6105ae6114a9565b73ffffffffffffffffffffffffffffffffffffffff166105cc610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610634576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b606980546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055565b60685467ffffffffffffffff81169068010000000000000000900463ffffffff1682565b6065546fffffffffffffffffffffffffffffffff1681565b6106ad6114a9565b73ffffffffffffffffffffffffffffffffffffffff166106cb610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610733576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff919091166000908152606660205260409020805460ff1916911515919091179055565b33610774610a31565b73ffffffffffffffffffffffffffffffffffffffff16146107be573360009081526066602052604090205460ff166107be5760405162461bcd60e51b81526004016103c690611bcd565b606980547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b3361080a610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610854573360009081526066602052604090205460ff166108545760405162461bcd60e51b81526004016103c690611bcd565b60005b818110156104bd573683838381811061086c57fe5b60800291909101915061088790506104026020830183611b21565b50600101610857565b6108986114a9565b73ffffffffffffffffffffffffffffffffffffffff166108b6610a31565b73ffffffffffffffffffffffffffffffffffffffff161461091e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60335460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000808461ffff16606e14806109a857508461ffff1661279f145b806109b857508461ffff16614eaf145b156109d1576109c8858585611226565b91509150610a14565b8461ffff16606f14806109e957508461ffff16612794145b806109f957508461ffff16614ea4145b15610a09576109c8858585610acc565b6109c8858585610fe8565b935093915050565b60666020526000908152604090205460ff1681565b60335473ffffffffffffffffffffffffffffffffffffffff1690565b6067602052600090815260409020546fffffffffffffffffffffffffffffffff811690700100000000000000000000000000000000810467ffffffffffffffff16907801000000000000000000000000000000000000000000000000900463ffffffff1683565b6069546fffffffffffffffffffffffffffffffff1681565b6000806000610ada866114ad565b61ffff81166000908152606760205260408120805492935091610b3290610c7490610b2c908a9063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b90611571565b8254909150600090610b63908390700100000000000000000000000000000000900467ffffffffffffffff1661150f565b61ffff8a166000908152606760205260408120805492935091610bad908b9063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b8254909150600090610be790700100000000000000000000000000000000900467ffffffffffffffff16610be1848d611571565b9061150f565b6065548754919250600091610c1d916fffffffffffffffffffffffffffffffff90811691610c179189911661150f565b906115cb565b6065548554919250600091610c4d916fffffffffffffffffffffffffffffffff90811691610c179187911661150f565b90506000610c5b8383611571565b9554959f6fffffffffffffffffffffffffffffffff9096169e50949c50505050505050505050505050565b6065546fffffffffffffffffffffffffffffffff1690565b6000610ca8611484565b905073ffffffffffffffffffffffffffffffffffffffff8116610d015773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610d23565b3373ffffffffffffffffffffffffffffffffffffffff821614610d2357600080fd5b600054610100900460ff1680610d3c5750610d3c611632565b80610d4a575060005460ff16155b610d855760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff16158015610db0576000805460ff1961ff0019909116610100171660011790555b610db8611643565b73ffffffffffffffffffffffffffffffffffffffff83166000908152606660205260409020805460ff19166001179055606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166402540be40017905560698054702f000000000000000000000000000000006fffffffffffffffffffffffffffffffff9190911617905580156104bd576000805461ff0019169055505050565b60695470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b610e8f6114a9565b73ffffffffffffffffffffffffffffffffffffffff16610ead610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610f15576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610f606118b9565b5061ffff16600090815260676020908152604091829020825160608101845290546fffffffffffffffffffffffffffffffff81168252700100000000000000000000000000000000810467ffffffffffffffff1692820192909252780100000000000000000000000000000000000000000000000090910463ffffffff169181019190915290565b61ffff831660009081526067602052604081208054829190829061103390879063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b825490915060009061106790700100000000000000000000000000000000900467ffffffffffffffff16610be18489611571565b6065548454919250611094916fffffffffffffffffffffffffffffffff91821691610c179185911661150f565b925492986fffffffffffffffffffffffffffffffff90931697509195505050505050565b6110c06114a9565b73ffffffffffffffffffffffffffffffffffffffff166110de610a31565b73ffffffffffffffffffffffffffffffffffffffff1614611146576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166111985760405162461bcd60e51b8152600401808060200182810382526026815260200180611d166026913960400191505060405180910390fd5b60335460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61ffff8316600090815260676020526040812060685460695483929183916112979168010000000000000000900463ffffffff90811691610be191606491610c17918c9170010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169061150f16565b82549091506000906112d090889063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b83546068549192506000916113169167ffffffffffffffff700100000000000000000000000000000000909104811691610be1918691610b2c91899183918f9116611571565b6065548554919250611343916fffffffffffffffffffffffffffffffff91821691610c179185911661150f565b935493996fffffffffffffffffffffffffffffffff9094169850929650505050505050565b805160208083015160409384015184516060810186526fffffffffffffffffffffffffffffffff948516815267ffffffffffffffff92831681850190815263ffffffff92831682880190815261ffff909816600090815260679095529590932092518354955196519091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff96909216700100000000000000000000000000000000027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff919094167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090951694909417939093169190911792909216179055565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b3390565b60008161ffff16606f14156114c45750606561150a565b8161ffff1661279414156114db575061278961150a565b8161ffff16614ea414156114f25750614e9961150a565b60405162461bcd60e51b81526004016103c690611c04565b919050565b60008261151e5750600061156b565b8282028284828161152b57fe5b04146115685760405162461bcd60e51b8152600401808060200182810382526021815260200180611d6a6021913960400191505060405180910390fd5b90505b92915050565b600082820183811015611568576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808211611621576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161162a57fe5b049392505050565b600061163d306116f5565b15905090565b600054610100900460ff168061165c575061165c611632565b8061166a575060005460ff16155b6116a55760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff161580156116d0576000805460ff1961ff0019909116610100171660011790555b6116d86116fb565b6116e061179b565b80156116f2576000805461ff00191690555b50565b3b151590565b600054610100900460ff16806117145750611714611632565b80611722575060005460ff16155b61175d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff161580156116e0576000805460ff1961ff00199091166101001716600117905580156116f2576000805461ff001916905550565b600054610100900460ff16806117b457506117b4611632565b806117c2575060005460ff16155b6117fd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff16158015611828576000805460ff1961ff0019909116610100171660011790555b60006118326114a9565b603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156116f2576000805461ff001916905550565b604080516060810182526000808252602082018190529181019190915290565b6000813574ffffffffffffffffffffffffffffffffffffffffff811681146118ff578182fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b80356fffffffffffffffffffffffffffffffff8116811461150a57600080fd5b803561ffff8116811461150a57600080fd5b803563ffffffff8116811461150a57600080fd5b803567ffffffffffffffff8116811461150a57600080fd5b60006020828403121561198a578081fd5b611993826118d9565b9392505050565b600080604083850312156119ac578081fd5b6119b5836118d9565b9150602083013580151581146119c9578182fd5b809150509250929050565b600080602083850312156119e6578182fd5b823567ffffffffffffffff808211156119fd578384fd5b818501915085601f830112611a10578384fd5b813581811115611a1e578485fd5b86602060c083028501011115611a32578485fd5b60209290920196919550909350505050565b60008060208385031215611a56578182fd5b823567ffffffffffffffff80821115611a6d578384fd5b818501915085601f830112611a80578384fd5b813581811115611a8e578485fd5b866020608083028501011115611a32578485fd5b600060608284031215611ab3578081fd5b6040516060810181811067ffffffffffffffff82111715611ad057fe5b604052611adc8361191b565b8152611aea60208401611961565b6020820152611afb6040840161194d565b60408201529392505050565b600060208284031215611b18578081fd5b6119938261191b565b600060208284031215611b32578081fd5b6119938261193b565b600080600060608486031215611b4f578081fd5b611b588461193b565b95602085013595506040909401359392505050565b600060208284031215611b7e578081fd5b6119938261194d565b600060208284031215611b98578081fd5b61199382611961565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b6020808252601c908201527f5072696365466565643a206e6f74207072696365207570646174657200000000604082015260600190565b6020808252601e908201527f5072696365466565643a20756e6b6e6f776e206c3220636861696e2069640000604082015260600190565b81516fffffffffffffffffffffffffffffffff16815260208083015167ffffffffffffffff169082015260409182015163ffffffff169181019190915260600190565b6fffffffffffffffffffffffffffffffff91909116815260200190565b6fffffffffffffffffffffffffffffffff93909316835267ffffffffffffffff91909116602083015263ffffffff16604082015260600190565b9182526fffffffffffffffffffffffffffffffff16602082015260400190565b67ffffffffffffffff92909216825263ffffffff1660208201526040019056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220673d4d2d0438bc1678ee23b577ae8da0d6e2ab515c21e0fcf43b4e0a7422f24264736f6c63430007060033",
528
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106101a75760003560e01c80638da5cb5b116100fd578063cd68b79b116100a6578063e15d16e811610080578063e15d16e81461033a578063f2fde38b1461034d578063ff37b49614610360576101a7565b8063cd68b79b146102ff578063d350ad2514610307578063e0ad121a1461031a576101a7565b8063ab1518ab116100d7578063ab1518ab146102d1578063c1840327146102e4578063c4d66de8146102ec576101a7565b80638da5cb5b146102925780638f7002d2146102a757806392807f58146102c9576101a7565b806352a725101161015f578063715018a611610139578063715018a6146102495780637bc3c9ab146102515780638ca2fb0814610272576101a7565b806352a72510146102105780635d6d7ccb14610223578063711746e214610236576101a7565b80632f7cb0b4116101905780632f7cb0b4146101c957806336a5beba146101dc5780633c04741e146101fb576101a7565b806315527af6146101ac5780631824a46b146101c1575b600080fd5b6101bf6101ba3660046119d4565b610373565b005b6101bf6104c2565b6101bf6101d7366004611b07565b6105a6565b6101e4610669565b6040516101f2929190611cf5565b60405180910390f35b61020361068d565b6040516101f29190611c7e565b6101bf61021e36600461199a565b6106a5565b6101bf610231366004611b07565b61076b565b6101bf610244366004611a44565b610801565b6101bf610890565b61026461025f366004611b3b565b61098d565b6040516101f2929190611cd5565b610285610280366004611979565b610a1c565b6040516101f29190611bc2565b61029a610a31565b6040516101f29190611ba1565b6102ba6102b5366004611b21565b610a4d565b6040516101f293929190611c9b565b610203610ab4565b6102646102df366004611b3b565b610acc565b610203610c86565b6101bf6102fa366004611979565b610c9e565b610203610e5b565b6101bf610315366004611b07565b610e87565b61032d610328366004611b21565b610f58565b6040516101f29190611c3b565b610264610348366004611b3b565b610fe8565b6101bf61035b366004611979565b6110b8565b61026461036e366004611b3b565b611226565b3361037c610a31565b73ffffffffffffffffffffffffffffffffffffffff16146103cf573360009081526066602052604090205460ff166103cf5760405162461bcd60e51b81526004016103c690611bcd565b60405180910390fd5b60005b818110156104bd57368383838181106103e757fe5b60c00291909101915061041990506104026020830183611b21565b61041436849003840160208501611aa2565b611368565b600061042b60a0830160808401611b87565b9050600061043f60c0840160a08501611b6d565b6068805463ffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff67ffffffffffffffff9095167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090931692909217939093161790915550506001016103d2565b505050565b60006104cc611484565b905073ffffffffffffffffffffffffffffffffffffffff81166105255773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610547565b3373ffffffffffffffffffffffffffffffffffffffff82161461054757600080fd5b50606580546402540be4007fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116179055606980546fffffffffffffffffffffffffffffffff16702f00000000000000000000000000000000179055565b6105ae6114a9565b73ffffffffffffffffffffffffffffffffffffffff166105cc610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610634576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b606980546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055565b60685467ffffffffffffffff81169068010000000000000000900463ffffffff1682565b6065546fffffffffffffffffffffffffffffffff1681565b6106ad6114a9565b73ffffffffffffffffffffffffffffffffffffffff166106cb610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610733576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff919091166000908152606660205260409020805460ff1916911515919091179055565b33610774610a31565b73ffffffffffffffffffffffffffffffffffffffff16146107be573360009081526066602052604090205460ff166107be5760405162461bcd60e51b81526004016103c690611bcd565b606980547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b3361080a610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610854573360009081526066602052604090205460ff166108545760405162461bcd60e51b81526004016103c690611bcd565b60005b818110156104bd573683838381811061086c57fe5b60800291909101915061088790506104026020830183611b21565b50600101610857565b6108986114a9565b73ffffffffffffffffffffffffffffffffffffffff166108b6610a31565b73ffffffffffffffffffffffffffffffffffffffff161461091e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60335460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000808461ffff16606e14806109a857508461ffff1661279f145b806109b857508461ffff16614eaf145b156109d1576109c8858585611226565b91509150610a14565b8461ffff16606f14806109e957508461ffff16612794145b806109f957508461ffff16614ea4145b15610a09576109c8858585610acc565b6109c8858585610fe8565b935093915050565b60666020526000908152604090205460ff1681565b60335473ffffffffffffffffffffffffffffffffffffffff1690565b6067602052600090815260409020546fffffffffffffffffffffffffffffffff811690700100000000000000000000000000000000810467ffffffffffffffff16907801000000000000000000000000000000000000000000000000900463ffffffff1683565b6069546fffffffffffffffffffffffffffffffff1681565b6000806000610ada866114ad565b61ffff81166000908152606760205260408120805492935091610b3290610c7490610b2c908a9063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b90611571565b8254909150600090610b63908390700100000000000000000000000000000000900467ffffffffffffffff1661150f565b61ffff8a166000908152606760205260408120805492935091610bad908b9063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b8254909150600090610be790700100000000000000000000000000000000900467ffffffffffffffff16610be1848d611571565b9061150f565b6065548754919250600091610c1d916fffffffffffffffffffffffffffffffff90811691610c179189911661150f565b906115cb565b6065548554919250600091610c4d916fffffffffffffffffffffffffffffffff90811691610c179187911661150f565b90506000610c5b8383611571565b9554959f6fffffffffffffffffffffffffffffffff9096169e50949c50505050505050505050505050565b6065546fffffffffffffffffffffffffffffffff1690565b6000610ca8611484565b905073ffffffffffffffffffffffffffffffffffffffff8116610d015773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610d23565b3373ffffffffffffffffffffffffffffffffffffffff821614610d2357600080fd5b600054610100900460ff1680610d3c5750610d3c611632565b80610d4a575060005460ff16155b610d855760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff16158015610db0576000805460ff1961ff0019909116610100171660011790555b610db8611643565b73ffffffffffffffffffffffffffffffffffffffff83166000908152606660205260409020805460ff19166001179055606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166402540be40017905560698054702f000000000000000000000000000000006fffffffffffffffffffffffffffffffff9190911617905580156104bd576000805461ff0019169055505050565b60695470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b610e8f6114a9565b73ffffffffffffffffffffffffffffffffffffffff16610ead610a31565b73ffffffffffffffffffffffffffffffffffffffff1614610f15576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610f606118b9565b5061ffff16600090815260676020908152604091829020825160608101845290546fffffffffffffffffffffffffffffffff81168252700100000000000000000000000000000000810467ffffffffffffffff1692820192909252780100000000000000000000000000000000000000000000000090910463ffffffff169181019190915290565b61ffff831660009081526067602052604081208054829190829061103390879063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b825490915060009061106790700100000000000000000000000000000000900467ffffffffffffffff16610be18489611571565b6065548454919250611094916fffffffffffffffffffffffffffffffff91821691610c179185911661150f565b925492986fffffffffffffffffffffffffffffffff90931697509195505050505050565b6110c06114a9565b73ffffffffffffffffffffffffffffffffffffffff166110de610a31565b73ffffffffffffffffffffffffffffffffffffffff1614611146576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166111985760405162461bcd60e51b8152600401808060200182810382526026815260200180611d166026913960400191505060405180910390fd5b60335460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61ffff8316600090815260676020526040812060685460695483929183916112979168010000000000000000900463ffffffff90811691610be191606491610c17918c9170010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff169061150f16565b82549091506000906112d090889063ffffffff780100000000000000000000000000000000000000000000000090910481169061150f16565b83546068549192506000916113169167ffffffffffffffff700100000000000000000000000000000000909104811691610be1918691610b2c91899183918f9116611571565b6065548554919250611343916fffffffffffffffffffffffffffffffff91821691610c179185911661150f565b935493996fffffffffffffffffffffffffffffffff9094169850929650505050505050565b805160208083015160409384015184516060810186526fffffffffffffffffffffffffffffffff948516815267ffffffffffffffff92831681850190815263ffffffff92831682880190815261ffff909816600090815260679095529590932092518354955196519091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff96909216700100000000000000000000000000000000027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff919094167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090951694909417939093169190911792909216179055565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b3390565b60008161ffff16606f14156114c45750606561150a565b8161ffff1661279414156114db575061278961150a565b8161ffff16614ea414156114f25750614e9961150a565b60405162461bcd60e51b81526004016103c690611c04565b919050565b60008261151e5750600061156b565b8282028284828161152b57fe5b04146115685760405162461bcd60e51b8152600401808060200182810382526021815260200180611d6a6021913960400191505060405180910390fd5b90505b92915050565b600082820183811015611568576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808211611621576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161162a57fe5b049392505050565b600061163d306116f5565b15905090565b600054610100900460ff168061165c575061165c611632565b8061166a575060005460ff16155b6116a55760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff161580156116d0576000805460ff1961ff0019909116610100171660011790555b6116d86116fb565b6116e061179b565b80156116f2576000805461ff00191690555b50565b3b151590565b600054610100900460ff16806117145750611714611632565b80611722575060005460ff16155b61175d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff161580156116e0576000805460ff1961ff00199091166101001716600117905580156116f2576000805461ff001916905550565b600054610100900460ff16806117b457506117b4611632565b806117c2575060005460ff16155b6117fd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d3c602e913960400191505060405180910390fd5b600054610100900460ff16158015611828576000805460ff1961ff0019909116610100171660011790555b60006118326114a9565b603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156116f2576000805461ff001916905550565b604080516060810182526000808252602082018190529181019190915290565b6000813574ffffffffffffffffffffffffffffffffffffffffff811681146118ff578182fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b80356fffffffffffffffffffffffffffffffff8116811461150a57600080fd5b803561ffff8116811461150a57600080fd5b803563ffffffff8116811461150a57600080fd5b803567ffffffffffffffff8116811461150a57600080fd5b60006020828403121561198a578081fd5b611993826118d9565b9392505050565b600080604083850312156119ac578081fd5b6119b5836118d9565b9150602083013580151581146119c9578182fd5b809150509250929050565b600080602083850312156119e6578182fd5b823567ffffffffffffffff808211156119fd578384fd5b818501915085601f830112611a10578384fd5b813581811115611a1e578485fd5b86602060c083028501011115611a32578485fd5b60209290920196919550909350505050565b60008060208385031215611a56578182fd5b823567ffffffffffffffff80821115611a6d578384fd5b818501915085601f830112611a80578384fd5b813581811115611a8e578485fd5b866020608083028501011115611a32578485fd5b600060608284031215611ab3578081fd5b6040516060810181811067ffffffffffffffff82111715611ad057fe5b604052611adc8361191b565b8152611aea60208401611961565b6020820152611afb6040840161194d565b60408201529392505050565b600060208284031215611b18578081fd5b6119938261191b565b600060208284031215611b32578081fd5b6119938261193b565b600080600060608486031215611b4f578081fd5b611b588461193b565b95602085013595506040909401359392505050565b600060208284031215611b7e578081fd5b6119938261194d565b600060208284031215611b98578081fd5b61199382611961565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b6020808252601c908201527f5072696365466565643a206e6f74207072696365207570646174657200000000604082015260600190565b6020808252601e908201527f5072696365466565643a20756e6b6e6f776e206c3220636861696e2069640000604082015260600190565b81516fffffffffffffffffffffffffffffffff16815260208083015167ffffffffffffffff169082015260409182015163ffffffff169181019190915260600190565b6fffffffffffffffffffffffffffffffff91909116815260200190565b6fffffffffffffffffffffffffffffffff93909316835267ffffffffffffffff91909116602083015263ffffffff16604082015260600190565b9182526fffffffffffffffffffffffffffffffff16602082015260400190565b67ffffffffffffffff92909216825263ffffffff1660208201526040019056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220673d4d2d0438bc1678ee23b577ae8da0d6e2ab515c21e0fcf43b4e0a7422f24264736f6c63430007060033",
529
+ "linkReferences": {},
530
+ "deployedLinkReferences": {}
531
+ }