@wormhole-foundation/sdk-evm-ntt 3.0.0-multi-token.beta.0 → 3.0.0-multi-token.beta.2

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 (193) hide show
  1. package/dist/cjs/axelar.d.ts +35 -0
  2. package/dist/cjs/axelar.d.ts.map +1 -0
  3. package/dist/cjs/axelar.js +168 -0
  4. package/dist/cjs/axelar.js.map +1 -0
  5. package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.d.ts +55 -2
  6. package/dist/cjs/ethers-contracts/1_1_0/GmpManager.d.ts.map +1 -0
  7. package/dist/cjs/ethers-contracts/1_1_0/GmpManager.js.map +1 -0
  8. package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.d.ts +59 -51
  9. package/dist/cjs/ethers-contracts/1_1_0/MultiTokenNtt.d.ts.map +1 -0
  10. package/dist/cjs/ethers-contracts/1_1_0/MultiTokenNtt.js.map +1 -0
  11. package/dist/cjs/ethers-contracts/1_1_0/factories/GmpManager__factory.d.ts +1301 -0
  12. package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/factories/GmpManager.sol → 1_1_0/factories}/GmpManager__factory.d.ts.map +1 -1
  13. package/dist/cjs/ethers-contracts/1_1_0/factories/GmpManager__factory.js +1704 -0
  14. package/dist/cjs/ethers-contracts/1_1_0/factories/GmpManager__factory.js.map +1 -0
  15. package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts +1350 -0
  16. package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts.map +1 -0
  17. package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js +1777 -0
  18. package/dist/cjs/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js.map +1 -0
  19. package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts +374 -14
  20. package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts.map +1 -1
  21. package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.js +487 -23
  22. package/dist/cjs/ethers-contracts/1_1_0/factories/NttManager__factory.js.map +1 -1
  23. package/dist/cjs/ethers-contracts/1_1_0/index.d.ts +4 -0
  24. package/dist/cjs/ethers-contracts/1_1_0/index.d.ts.map +1 -1
  25. package/dist/cjs/ethers-contracts/1_1_0/index.js +5 -1
  26. package/dist/cjs/ethers-contracts/1_1_0/index.js.map +1 -1
  27. package/dist/cjs/ethers-contracts/multiTokenNtt/index.d.ts +3 -4
  28. package/dist/cjs/ethers-contracts/multiTokenNtt/index.d.ts.map +1 -1
  29. package/dist/cjs/ethers-contracts/multiTokenNtt/index.js +3 -4
  30. package/dist/cjs/ethers-contracts/multiTokenNtt/index.js.map +1 -1
  31. package/dist/cjs/index.d.ts +1 -1
  32. package/dist/cjs/index.d.ts.map +1 -1
  33. package/dist/cjs/index.js +1 -1
  34. package/dist/cjs/index.js.map +1 -1
  35. package/dist/cjs/multiTokenNtt.d.ts +18 -14
  36. package/dist/cjs/multiTokenNtt.d.ts.map +1 -1
  37. package/dist/cjs/multiTokenNtt.js +151 -95
  38. package/dist/cjs/multiTokenNtt.js.map +1 -1
  39. package/dist/cjs/multiTokenNttBindings.d.ts +11 -11
  40. package/dist/cjs/multiTokenNttBindings.d.ts.map +1 -1
  41. package/dist/cjs/multiTokenNttWithExecutor.d.ts +5 -8
  42. package/dist/cjs/multiTokenNttWithExecutor.d.ts.map +1 -1
  43. package/dist/cjs/multiTokenNttWithExecutor.js +19 -40
  44. package/dist/cjs/multiTokenNttWithExecutor.js.map +1 -1
  45. package/dist/cjs/ntt.d.ts.map +1 -1
  46. package/dist/cjs/ntt.js +4 -5
  47. package/dist/cjs/ntt.js.map +1 -1
  48. package/dist/cjs/nttWithExecutor.d.ts +6 -6
  49. package/dist/cjs/nttWithExecutor.d.ts.map +1 -1
  50. package/dist/cjs/nttWithExecutor.js +36 -32
  51. package/dist/cjs/nttWithExecutor.js.map +1 -1
  52. package/dist/esm/axelar.d.ts +35 -0
  53. package/dist/esm/axelar.d.ts.map +1 -0
  54. package/dist/esm/axelar.js +158 -0
  55. package/dist/esm/axelar.js.map +1 -0
  56. package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.d.ts +55 -2
  57. package/dist/esm/ethers-contracts/1_1_0/GmpManager.d.ts.map +1 -0
  58. package/dist/esm/ethers-contracts/1_1_0/GmpManager.js.map +1 -0
  59. package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.d.ts +59 -51
  60. package/dist/esm/ethers-contracts/1_1_0/MultiTokenNtt.d.ts.map +1 -0
  61. package/dist/esm/ethers-contracts/1_1_0/MultiTokenNtt.js.map +1 -0
  62. package/dist/esm/ethers-contracts/1_1_0/factories/GmpManager__factory.d.ts +1301 -0
  63. package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/factories/GmpManager.sol → 1_1_0/factories}/GmpManager__factory.d.ts.map +1 -1
  64. package/dist/esm/ethers-contracts/1_1_0/factories/GmpManager__factory.js +1700 -0
  65. package/dist/esm/ethers-contracts/1_1_0/factories/GmpManager__factory.js.map +1 -0
  66. package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts +1350 -0
  67. package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.d.ts.map +1 -0
  68. package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js +1773 -0
  69. package/dist/esm/ethers-contracts/1_1_0/factories/MultiTokenNtt__factory.js.map +1 -0
  70. package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts +374 -14
  71. package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.d.ts.map +1 -1
  72. package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.js +487 -23
  73. package/dist/esm/ethers-contracts/1_1_0/factories/NttManager__factory.js.map +1 -1
  74. package/dist/esm/ethers-contracts/1_1_0/index.d.ts +4 -0
  75. package/dist/esm/ethers-contracts/1_1_0/index.d.ts.map +1 -1
  76. package/dist/esm/ethers-contracts/1_1_0/index.js +2 -0
  77. package/dist/esm/ethers-contracts/1_1_0/index.js.map +1 -1
  78. package/dist/esm/ethers-contracts/multiTokenNtt/index.d.ts +3 -4
  79. package/dist/esm/ethers-contracts/multiTokenNtt/index.d.ts.map +1 -1
  80. package/dist/esm/ethers-contracts/multiTokenNtt/index.js +3 -4
  81. package/dist/esm/ethers-contracts/multiTokenNtt/index.js.map +1 -1
  82. package/dist/esm/index.d.ts +1 -1
  83. package/dist/esm/index.d.ts.map +1 -1
  84. package/dist/esm/index.js +1 -1
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/multiTokenNtt.d.ts +18 -14
  87. package/dist/esm/multiTokenNtt.d.ts.map +1 -1
  88. package/dist/esm/multiTokenNtt.js +151 -95
  89. package/dist/esm/multiTokenNtt.js.map +1 -1
  90. package/dist/esm/multiTokenNttBindings.d.ts +11 -11
  91. package/dist/esm/multiTokenNttBindings.d.ts.map +1 -1
  92. package/dist/esm/multiTokenNttWithExecutor.d.ts +5 -8
  93. package/dist/esm/multiTokenNttWithExecutor.d.ts.map +1 -1
  94. package/dist/esm/multiTokenNttWithExecutor.js +20 -41
  95. package/dist/esm/multiTokenNttWithExecutor.js.map +1 -1
  96. package/dist/esm/ntt.d.ts.map +1 -1
  97. package/dist/esm/ntt.js +1 -2
  98. package/dist/esm/ntt.js.map +1 -1
  99. package/dist/esm/nttWithExecutor.d.ts +6 -6
  100. package/dist/esm/nttWithExecutor.d.ts.map +1 -1
  101. package/dist/esm/nttWithExecutor.js +40 -36
  102. package/dist/esm/nttWithExecutor.js.map +1 -1
  103. package/package.json +6 -6
  104. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.d.ts.map +0 -1
  105. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.js.map +0 -1
  106. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts +0 -2
  107. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts.map +0 -1
  108. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js +0 -3
  109. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js.map +0 -1
  110. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.d.ts.map +0 -1
  111. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.js.map +0 -1
  112. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts +0 -2
  113. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts.map +0 -1
  114. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js +0 -3
  115. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js.map +0 -1
  116. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts +0 -51
  117. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts.map +0 -1
  118. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.js +0 -3
  119. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/common.js.map +0 -1
  120. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.d.ts +0 -1231
  121. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js +0 -1611
  122. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js.map +0 -1
  123. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts +0 -2
  124. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts.map +0 -1
  125. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js +0 -9
  126. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js.map +0 -1
  127. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts +0 -1354
  128. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts.map +0 -1
  129. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js +0 -1781
  130. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js.map +0 -1
  131. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts +0 -2
  132. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts.map +0 -1
  133. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js +0 -9
  134. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js.map +0 -1
  135. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts +0 -3
  136. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts.map +0 -1
  137. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js +0 -32
  138. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js.map +0 -1
  139. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts +0 -5
  140. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts.map +0 -1
  141. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.js +0 -8
  142. package/dist/cjs/ethers-contracts/multiTokenNtt/1_1_0/index.js.map +0 -1
  143. package/dist/cjs/trimmedAmount.d.ts +0 -9
  144. package/dist/cjs/trimmedAmount.d.ts.map +0 -1
  145. package/dist/cjs/trimmedAmount.js +0 -30
  146. package/dist/cjs/trimmedAmount.js.map +0 -1
  147. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.d.ts.map +0 -1
  148. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/GmpManager.js.map +0 -1
  149. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts +0 -2
  150. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.d.ts.map +0 -1
  151. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js +0 -2
  152. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/GmpManager.sol/index.js.map +0 -1
  153. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.d.ts.map +0 -1
  154. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/MultiTokenNtt.js.map +0 -1
  155. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts +0 -2
  156. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.d.ts.map +0 -1
  157. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js +0 -2
  158. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/MultiTokenNtt.sol/index.js.map +0 -1
  159. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts +0 -51
  160. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.d.ts.map +0 -1
  161. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.js +0 -2
  162. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/common.js.map +0 -1
  163. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.d.ts +0 -1231
  164. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js +0 -1607
  165. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/GmpManager__factory.js.map +0 -1
  166. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts +0 -2
  167. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.d.ts.map +0 -1
  168. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js +0 -5
  169. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/GmpManager.sol/index.js.map +0 -1
  170. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts +0 -1354
  171. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.d.ts.map +0 -1
  172. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js +0 -1777
  173. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/MultiTokenNtt__factory.js.map +0 -1
  174. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts +0 -2
  175. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.d.ts.map +0 -1
  176. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js +0 -5
  177. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/MultiTokenNtt.sol/index.js.map +0 -1
  178. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts +0 -3
  179. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.d.ts.map +0 -1
  180. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js +0 -6
  181. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/factories/index.js.map +0 -1
  182. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts +0 -5
  183. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.d.ts.map +0 -1
  184. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.js +0 -3
  185. package/dist/esm/ethers-contracts/multiTokenNtt/1_1_0/index.js.map +0 -1
  186. package/dist/esm/trimmedAmount.d.ts +0 -9
  187. package/dist/esm/trimmedAmount.d.ts.map +0 -1
  188. package/dist/esm/trimmedAmount.js +0 -24
  189. package/dist/esm/trimmedAmount.js.map +0 -1
  190. /package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.js +0 -0
  191. /package/dist/cjs/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.js +0 -0
  192. /package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/GmpManager.sol → 1_1_0}/GmpManager.js +0 -0
  193. /package/dist/esm/ethers-contracts/{multiTokenNtt/1_1_0/MultiTokenNtt.sol → 1_1_0}/MultiTokenNtt.js +0 -0
@@ -0,0 +1,1350 @@
1
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
2
+ import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
3
+ import type { NonPayableOverrides } from "../common.js";
4
+ import type { MultiTokenNtt, MultiTokenNttInterface } from "../MultiTokenNtt.js";
5
+ type MultiTokenNttConstructorParams = [linkLibraryAddresses: MultiTokenNttLibraryAddresses, signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
+ export declare class MultiTokenNtt__factory extends ContractFactory {
7
+ constructor(...args: MultiTokenNttConstructorParams);
8
+ static linkBytecode(linkLibraryAddresses: MultiTokenNttLibraryAddresses): string;
9
+ getDeployTransaction(_gmpManager: AddressLike, _rateLimitDuration: BigNumberish, _skipRateLimiting: boolean, _tokenImplementation: AddressLike, _weth: AddressLike, overrides?: NonPayableOverrides & {
10
+ from?: string;
11
+ }): Promise<ContractDeployTransaction>;
12
+ deploy(_gmpManager: AddressLike, _rateLimitDuration: BigNumberish, _skipRateLimiting: boolean, _tokenImplementation: AddressLike, _weth: AddressLike, overrides?: NonPayableOverrides & {
13
+ from?: string;
14
+ }): Promise<MultiTokenNtt & {
15
+ deploymentTransaction(): ContractTransactionResponse;
16
+ }>;
17
+ connect(runner: ContractRunner | null): MultiTokenNtt__factory;
18
+ static readonly bytecode = "0x6101606040523480156200001257600080fd5b50604051620060b6380380620060b6833981016040819052620000359162000211565b8484846001600160401b0382161580156200004e575080155b806200006b57506001600160401b038216158015906200006b5750805b156200008a5760405163e543ef0560e01b815260040160405180910390fd5b506001600160401b03166080526001600160a01b031660a052620000ad62000147565b3060c0523360e05260408051634d4502c960e11b815290516001600160a01b03871691639a8a05929160048083019260209291908290030181865afa158015620000fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001219190620002a0565b61ffff16610120526001600160a01b0391821661010052166101405250620002cd915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620001985760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001f85780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6001600160a01b0381168114620001f857600080fd5b600080600080600060a086880312156200022a57600080fd5b85516200023781620001fb565b60208701519095506001600160401b03811681146200025557600080fd5b604087015190945080151581146200026c57600080fd5b60608701519093506200027f81620001fb565b60808701519092506200029281620001fb565b809150509295509295909350565b600060208284031215620002b357600080fd5b815161ffff81168114620002c657600080fd5b9392505050565b60805160a05160c05160e051610100516101205161014051615cae62000408600039600081816105b60152818161150201528181612593015281816133f7015261343a0152600081816110fb015281816116f901528181611afb015261321601526000818161038e0152613073015260008181613152015261318e015260006128240152600081816104e00152818161164501528181612ec60152818161373e0152613e8901526000818161049401528181610ae801528181610d680152818161130c015281816115ea01528181611c1f01528181611dd501528181612f68015281816141610152818161419e0152818161434001528181614379015281816143aa015281816143e401528181614587015281816145c4015281816146aa015281816146e40152818161472901526147620152615cae6000f3fe6080604052600436106102135760003560e01c80638456cb5911610118578063c033e0db116100a0578063e7fa3a5a1161006f578063e7fa3a5a14610680578063f1537686146106a0578063f2fde38b146106ce578063f7514fbc146106ee578063fd96063c1461070e57600080fd5b8063c033e0db146105ed578063c0b07bde14610600578063c128d17014610631578063e2069e1e1461066057600080fd5b806397c35146116100e757806397c35146146105695780639fd0506d1461057c578063a461758414610591578063ad5c4648146105a4578063b187bd26146105d857600080fd5b80638456cb591461050a5780638da5cb5b1461051f5780638fd3ab801461053457806394c913651461054957600080fd5b806332cf4cd51161019b57806359fc09561161016a57806359fc09561461043d578063689f90c31461045d57806374aa7bfc146104825780637c9e8a10146104ce5780638129fc1c1461050257600080fd5b806332cf4cd5146103c85780633434a266146103e85780633f4ba83a146104085780634222f40b1461041d57600080fd5b80630ebfdc8a116101e25780630ebfdc8a146102df5780631bacc92b146102ff5780631f97c9a8146103215780632cc7fc821461034e5780632f3a3d5d1461037c57600080fd5b8063036de8af1461021f578063045169ad1461024157806307150aef146102615780630900f010146102bf57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004614dba565b610756565b005b34801561024d57600080fd5b5061023f61025c366004614e0a565b6107c2565b34801561026d57600080fd5b5061028161027c366004614f5b565b61080e565b6040805182516001600160481b03908116825260208085015190911690820152918101516001600160401b0316908201526060015b60405180910390f35b3480156102cb57600080fd5b5061023f6102da366004614dba565b61088d565b3480156102eb57600080fd5b5061023f6102fa366004614f93565b6108a1565b34801561030b57600080fd5b506103146108e6565b6040516102b6919061500e565b34801561032d57600080fd5b5061034161033c366004615036565b61095e565b6040516102b69190615053565b34801561035a57600080fd5b5061036e6103693660046150e9565b610ad2565b6040519081526020016102b6565b34801561038857600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102b6565b3480156103d457600080fd5b5061023f6103e3366004615105565b610b37565b3480156103f457600080fd5b506102816104033660046150e9565b610b4d565b34801561041457600080fd5b5061023f610bb3565b34801561042957600080fd5b5061023f610438366004615131565b610bc5565b34801561044957600080fd5b5061023f610458366004615278565b610cd9565b34801561046957600080fd5b50610472610e8f565b60405190151581526020016102b6565b34801561048e57600080fd5b506104b67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b0390911681526020016102b6565b3480156104da57600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000000081565b61023f610ea2565b34801561051657600080fd5b5061023f610fa3565b34801561052b57600080fd5b506103b0610fb6565b34801561054057600080fd5b5061023f610fe4565b34801561055557600080fd5b506103b06105643660046150e9565b6110f7565b6104b6610577366004615036565b611173565b34801561058857600080fd5b506103b0611440565b6104b661059f366004615344565b611459565b3480156105b057600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000000081565b3480156105e457600080fd5b506104726114ad565b6104b66105fb366004615426565b6114c2565b34801561060c57600080fd5b50610314604051806040016040528060058152602001640312e312e360dc1b81525081565b34801561063d57600080fd5b5061065161064c3660046154f6565b611586565b604051905181526020016102b6565b34801561066c57600080fd5b5061036e61067b366004614f5b565b6115c2565b34801561068c57600080fd5b5061023f61069b366004615513565b61163a565b3480156106ac57600080fd5b506106c06106bb366004614dba565b61168f565b6040516102b69291906155b1565b3480156106da57600080fd5b5061023f6106e9366004614dba565b611737565b3480156106fa57600080fd5b5061023f610709366004615036565b611772565b34801561071a57600080fd5b5061072e6107293660046155f2565b6119fa565b6040805182516001600160401b0316815260209283015161ffff1692810192909252016102b6565b610766610761610fb6565b611a4e565b6000610770611a97565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef690600090a3505050565b6107ca611ac5565b60006107e36107de368690038601866150e9565b611af7565b90506108086107f7368690038601866150e9565b610802858480611bc0565b84611c19565b50505050565b604080516060810182526000808252602082018190529181019190915261083483611c62565b61ffff831660009081526020918252604090819020815160608101835290546001600160481b038082168352600160481b82041693820193909352600160901b9092046001600160401b03169082015290505b92915050565b610895611ac5565b61089e81611cc1565b50565b6108a9611ac5565b60006108bd6107de368590038501856150e9565b90506108e16108d1368590038501856150e9565b6108dc848480611bc0565b611dcf565b505050565b606073__$3a5f69cefc093539f925e73bc45cac585e$__63c55259906040518163ffffffff1660e01b8152600401600060405180830381865af4158015610931573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610959919081019061563b565b905090565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082019290925260e08101919091526109a9611e04565b6001600160401b03838116600090815260209283526040908190208151610100810183528154815260018201549481019490945260028101546001600160a01b0380821693860193909352600160a01b81046001600160481b03166060860152600160e81b900461ffff166080850152600381015492831660a0850152600160401b9092041660c083015260048101805460e084019190610a4990615683565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7590615683565b8015610ac25780601f10610a9757610100808354040283529160200191610ac2565b820191906000526020600020905b815481529060010190602001808311610aa557829003601f168201915b5050505050815250509050919050565b600080610ade83611e32565b90506000610b0c827f0000000000000000000000000000000000000000000000000000000000000000611e89565b90506000610b1985611af7565b9050610b2e6001600160481b03831682611f4f565b95945050505050565b610b3f611ac5565b610b498282611f6f565b5050565b6040805160608101825260008082526020820181905291810191909152610b7382611e32565b6040805160608101825291546001600160481b038082168452600160481b8204166020840152600160901b90046001600160401b03169082015292915050565b610bbb611ac5565b610bc3612046565b565b610bcd611ac5565b610bda60208301836154f6565b61ffff1615801590610bef5750602082013515155b610bf857600080fd5b6000610c03826120ac565b90506040518060400160405280836001600160a01b0316815260200182815250610c2b6121c4565b6000610c3a60208701876154f6565b61ffff168152602080820192909252604090810160009081208784013582528352819020835181546001600160a01b0319166001600160a01b03909116178155928201518051600185015591820151600284015501516003909101805460ff191660ff90921691909117905582610caf6121f2565b6001600160a01b038416600090815260209190915260409020610cd282826156b7565b5050505050565b610ce1612220565b610ce96114ad565b15610d07576040516309e3d0f360e11b815260040160405180910390fd5b6000610d1282612258565b8051906020012090506000610d26826119fa565b80519091506001600160401b0316600003610d5c57604051630301bcaf60e61b8152600481018390526024015b60405180910390fd5b80516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000811691610d959116426156f6565b1015610dc95780516040516301cb739d60e71b8152600481018490526001600160401b039091166024820152604401610d53565b610dd161236b565b6000838152602091825260408120805469ffffffffffffffffffff1916905590840151610dfd90612399565b90506000610e0e856060015161249c565b90506000610e23866020015160200151611af7565b90506000610e538283610e4c858b600001516001600160481b0316611f4f90919063ffffffff16565b9190611bc0565b9050610e728685858460008c608001518b602001518e604001516124c8565b50505050505061089e6001600080516020615c3983398151915255565b6000610e996127ec565b5460ff16919050565b610eaa61281a565b600080516020615c598339815191528054600160401b810460ff1615906001600160401b0316600081158015610edd5750825b90506000826001600160401b03166001148015610ef95750303b155b905081158015610f07575080155b15610f255760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610f4f57845460ff60401b1916600160401b1785555b610f57612863565b8315610cd257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b610fae610761610fb6565b610bc361286b565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b610fec61281a565b600080516020615c59833981519152546001600160401b0316611010906001615709565b600080516020615c598339815191528054600160401b900460ff1680611043575080546001600160401b03808416911610155b156110615760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561108a6128cc565b5460ff166110ab57604051632866815360e11b815260040160405180910390fd5b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050565b60007f000000000000000000000000000000000000000000000000000000000000000061ffff16826000015161ffff160361113957610887826020015161249c565b6111416121c4565b825161ffff166000908152602091825260408082209483015182529390915291909120546001600160a01b0316919050565b600061117d612220565b6111856114ad565b156111a3576040516309e3d0f360e11b815260040160405180910390fd5b60006111ad611e04565b6001600160401b03848116600090815260209283526040908190208151610100810183528154815260018201549481019490945260028101546001600160a01b0380821693860193909352600160a01b81046001600160481b03166060860152600160e81b900461ffff166080850152600381015492831660a0850152600160401b9092041660c083015260048101805460e08401919061124d90615683565b80601f016020809104026020016040519081016040528092919081815260200182805461127990615683565b80156112c65780601f1061129b576101008083540402835291602001916112c6565b820191906000526020600020905b8154815290600101906020018083116112a957829003601f168201915b50505050508152505090508060a001516001600160401b031660000361130a57604051635feafa3160e11b81526001600160401b0384166004820152602401610d53565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03168160a001516001600160401b03164261134d91906156f6565b10156113855760a081015160405163c06cf05f60e01b81526001600160401b0380861660048301529091166024820152604401610d53565b61138d611e04565b6001600160401b038416600090815260209190915260408120818155600181018290556002810180546001600160f81b03191690556003810180546001600160e01b0319169055906113e26004830182614cd5565b505061142134848360c00151846060015185608001518660000151876020015188604001518960e00151604051806020016040528060008152506128fa565b91505061143b6001600080516020615c3983398151915255565b919050565b600061144a611a97565b546001600160a01b0316919050565b6000611463612220565b61146b6114ad565b15611489576040516309e3d0f360e11b815260040160405180910390fd5b611494826001612a41565b905061143b6001600080516020615c3983398151915255565b6000806114b8612ae0565b5460021492915050565b60006114cc612220565b6114d46114ad565b156114f2576040516309e3d0f360e11b815260040160405180910390fd5b60006040518061010001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815260200184600001518152602001846020015161ffff16815260200184604001518152602001846060015181526020018460800151151581526020018460a0015181526020018460c001518152509050611421816000612a41565b60408051602081019091526000815261159d612b0e565b61ffff9092166000908152602092835260409081902081519384019091525482525090565b6000806115ce84611c62565b61ffff8416600090815260209190915260408120915061160e827f0000000000000000000000000000000000000000000000000000000000000000611e89565b9050600061161b86611af7565b90506116306001600160481b03831682611f4f565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611683576040516331ca071b60e21b815260040160405180910390fd5b61080884848484612b3c565b60408051808201909152600080825260208201526000806116ae6121f2565b6001600160a01b038516600090815260209182526040908190208151808301909252805461ffff16808352600190910154928201929092529150156116f7579360019350915050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff1681526001600160a01b03841660208201529360009350915050565b61173f611ac5565b6001600160a01b03811661176957604051631e4fbdf760e01b815260006004820152602401610d53565b61089e81612b93565b61177a612220565b6117826114ad565b156117a0576040516309e3d0f360e11b815260040160405180910390fd5b60006117aa611e04565b6001600160401b03838116600090815260209283526040908190208151610100810183528154815260018201549481019490945260028101546001600160a01b0380821693860193909352600160a01b81046001600160481b03166060860152600160e81b900461ffff166080850152600381015492831660a0850152600160401b9092041660c083015260048101805460e08401919061184a90615683565b80601f016020809104026020016040519081016040528092919081815260200182805461187690615683565b80156118c35780601f10611898576101008083540402835291602001916118c3565b820191906000526020600020905b8154815290600101906020018083116118a657829003601f168201915b50505050508152505090508060a001516001600160401b031660000361190757604051635feafa3160e11b81526001600160401b0383166004820152602401610d53565b60408101516001600160a01b0316331461194b57604080820151905163ceb40a8560e01b81523360048201526001600160a01b039091166024820152604401610d53565b611953611e04565b6001600160401b038316600090815260209190915260408120818155600181018290556002810180546001600160f81b03191690556003810180546001600160e01b0319169055906119a86004830182614cd5565b50506119e2826001600160401b031660001b8260c0015133846060015160016040518060200160405280600081525060008060001b6124c8565b5061089e6001600080516020615c3983398151915255565b6040805180820190915260008082526020820152611a1661236b565b600092835260209081526040928390208351808501909452546001600160401b0381168452600160401b900461ffff16908301525090565b33611a57611440565b6001600160a01b031614158015611a7757506001600160a01b0381163314155b1561089e5760405163e2a08e5d60e01b8152336004820152602401610d53565b60008061088760017fbfa91572ce1e5fe8776a160d3b1f862e83f5ee2c080a7423b4761602a3ad124a6156f6565b33611ace610fb6565b6001600160a01b031614610bc35760405163118cdaa760e01b8152336004820152602401610d53565b60007f000000000000000000000000000000000000000000000000000000000000000061ffff16826000015161ffff1603611b89576000611b3b836020015161249c565b90506000611b6b826040518060400160405280600a815260200169646563696d616c73282960b01b815250612c04565b905080806020019051810190611b819190615730565b949350505050565b611b916121c4565b825161ffff1660009081526020918252604080822094830151825293909152919091206003015460ff16919050565b600080611bd7611bd1600886612ccd565b84612ccd565b90506000611be6868684612ce9565b9050611c0d611bf482612d52565b8360ff1660089190911b68ffffffffffffffff00161790565b925050505b9392505050565b6108e1827f0000000000000000000000000000000000000000000000000000000000000000611c4786611c62565b61ffff85166000908152602091909152604090209190612dba565b60008082604051602001611c76919061574d565b60408051601f198184030181529190528051602090910120611cb960017f6473f680a37cfb54f66445ef18036c9f891a682c70bb8e4674f5d36e211ba8936156f6565b189392505050565b611cc961281a565b611cd281612e84565b6000611cdc6128cc565b805490915060ff1615611cf157611cf1615768565b805460ff191660011781556040805163011fa75760e71b815290513091638fd3ab8091600480830192600092919082900301818387803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b50505050306001600160a01b031663689f90c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dae919061577e565b611dba57611dba612ec4565b611dc46000613008565b805460ff1916905550565b610b49817f0000000000000000000000000000000000000000000000000000000000000000611dfd85611e32565b9190612dba565b60008061088760017f88e530814ab5625345088d8b6ae477a7b1cc43d112909d0c9b66cab1ab9ed6c46156f6565b60008082604051602001611e46919061574d565b60408051601f198184030181529190528051602090910120611cb960017f2a12c4997b0cb4fe51033104ae9bc2615917156119cfe2b3cbe348041d8d94ba6156f6565b6000816001600160401b0316600003611eba578254600160481b900460ff1668ffffffffffffffff00179050610887565b82546001600160401b03600160901b820481164203916000918581169160081c16830281611eea57611eea61579b565b86546001600160401b03600160481b8204600890811c821694909304939093019350600092611f1d928592901c16613023565b9050611630611f2b82612d52565b8754600160481b900460ff1660ff1660089190911b68ffffffffffffffff00161790565b60006001600160401b03600884901c1660ff841682611630838387612ce9565b8161ffff16600003611f945760405163100b0f2760e11b815260040160405180910390fd5b80611fb25760405163f839a0cb60e01b815260040160405180910390fd5b6000611fbc612b0e565b61ffff8416600090815260209182526040908190208151928301909152548152905081611fe7612b0e565b61ffff8516600081815260209283526040908190209390935583518351918252918101919091529081018390527f6b8e3e5d5cb35ca559551a3a468913b588421f8eeb87fabc088aa03638ce13699060600160405180910390a1505050565b61204e6114ad565b61206b57604051637e38d1d360e11b815260040160405180910390fd5b6120756001613032565b604051600081527fe11c2112add17fb763d3bd59f63b10429c3e11373da4fb8ef6725107a2fdc4b0906020015b60405180910390a1565b604080516060810182526000808252602082018190529181019190915260606120f5836040518060400160405280600881526020016773796d626f6c282960c01b815250612c04565b905060008180602001905181019061210d919061563b565b905060006020820151905061214085604051806040016040528060068152602001656e616d65282960d01b815250612c04565b9250600083806020019051810190612158919061563b565b905060006020820151905061218f876040518060400160405280600a815260200169646563696d616c73282960b01b815250612c04565b94506000858060200190518101906121a79190615730565b9187525060208601929092525060ff166040840152509092915050565b60008061088760017fb25908bf1d6944231b0893d0a6983df22fdaaae9d33fc474848a5fff468575fc6156f6565b60008061088760017fa81f8799e09b034e31f6dacb11cac1c94b38068dd2e76779232a66ee50bfce266156f6565b600080516020615c3983398151915280546001190161225257604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b80516080820151516060919061ffff101561228f5782608001515160405163a341969160e01b8152600401610d5391815260200190565b608083015151632653951560e21b60ff8316600884901c6001600160401b0316602087015160405163dcb9bd4f60e01b815273__$4033db715c90f2390978d4fb71beaa4caa$__9163dcb9bd4f916122ea91906004016157ef565b600060405180830381865af4158015612307573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261232f919081019061563b565b60408089015160608a015160808b01519251612353979695949389916020016157fd565b60405160208183030381529060405292505050919050565b60008061088760017f4bc3912cbaafdafac09ae32823daf95236e8f3c7440dda1c7298418edff173c56156f6565b6000806123a983602001516110f7565b90506001600160a01b038116610887576123c28361303f565b604080518082019091526001600160a01b0382168152845160208201529091506123ea6121c4565b602085810180515161ffff166000908152928252604080842082518401518552835292839020845181546001600160a01b0319166001600160a01b0390911617815593820151805160018601559182015160028501559101516003909201805460ff191660ff90931692909217909155516124636121f2565b6001600160a01b03831660009081526020918252604090208251815461ffff191661ffff90911617815591015160019091015592915050565b600060a082901c156124c45760405163033b960d60e41b815260048101839052602401610d53565b5090565b6000806124d48961168f565b9150915060006124f66124e684611af7565b6001600160481b038a1690611f4f565b9050861561254c57604080518c81526001600160a01b038b1660208201529081018290527ff80e572ae1b63e2449629b6c7d783add85c36473926f216077f17ee002bcfd079060600160405180910390a1612578565b6040518b907f504e6efe18ab9eed10dc6501a417f5b12a2f7f2b1593aed9b89f9bce3cf29a9190600090a25b600082600181111561258c5761258c61559b565b036126b7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168a6001600160a01b03160361269e57604051632e1a7d4d60e01b8152600481018290526001600160a01b038b1690632e1a7d4d90602401600060405180830381600087803b15801561260c57600080fd5b505af1158015612620573d6000803e3d6000fd5b505050506000896001600160a01b03168260405160006040518083038185875af1925050503d8060008114612671576040519150601f19603f3d011682016040523d82523d6000602084013e612676565b606091505b5050905080612698576040516312171d8360e31b815260040160405180910390fd5b50612733565b6126b26001600160a01b038b168a836130dc565b612733565b60018260018111156126cb576126cb61559b565b0361021a576040516340c10f1960e01b81526001600160a01b038a81166004830152602482018390528b16906340c10f1990604401600060405180830381600087803b15801561271a57600080fd5b505af115801561272e573d6000803e3d6000fd5b505050505b8551156127cb57886001600160a01b031663b0474b9c8b6127538761249c565b848a8a8a6040518763ffffffff1660e01b81526004016127789695949392919061588e565b600060405180830381600087803b15801561279257600080fd5b505af19250505080156127a3575060015b6127cb57604051630583627160e41b81526001600160a01b038a166004820152602401610d53565b5050505050505050505050565b6001600080516020615c3983398151915255565b60008061088760017f5443fea4dc453d96b81ce55b62e11a4094cc4cbb8a360956a7253cfdb42506cc6156f6565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610bc357604051633c64f99360e21b815260040160405180910390fd5b610bc361313f565b6128736114ad565b15612891576040516309e3d0f360e11b815260040160405180910390fd5b61289b6002613032565b604051600181527f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd2906020016120a2565b60008061088760017f7487ca88d037ca20519908b1ee7556206bef53bce0226a348750cb9d4f688e4f6156f6565b604080518082019091526000808252602082018190529060609061291d8b61168f565b508091505060006040518060400160405280612938846131f2565b815260200183815250905061298a6040518060a001604052808d6001600160481b031681526020018381526020016129768a6001600160a01b031690565b81526020018b815260200187815250612258565b92505061299b8d8a898f868a6132a9565b925060006129bb6129ab83611af7565b6001600160481b038d1690611f4f565b6020808401518451604080516001600160401b038a1681529384018e905283018c9052606083018490526001600160a01b038b16608084015292935061ffff808e169391929116907face4867fe6fb81aab943eba9cdd00e13f386affe1946ce84f2f46ad4620372f49060a00160405180910390a45050509a9950505050505050505050565b6080820151600090819015612a5a578360800151612a60565b83606001515b905060008460c0015151600014612a7b578460c00151612a98565b604080516001808252818301909252906020820181803683375050505b6080860183905260c08601819052604080516060810190915234815290915085906116309060208101876001811115612ad357612ad361559b565b8152602001839052613330565b60008061088760017f64bacf405c5d7f563d3ba5252584a52c37e4fee380fd825b10666c27b82580236156f6565b60008061088760017febcc9f646b0f459ff8f387587d536b0af3484cf442e1577400f322334e7d1ef16156f6565b612b46848461390b565b6000612b8783838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061396f92505050565b9050610cd28582613a72565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6040805160048152602481019182905260609160009182916001600160a01b0387169190612c339087906158da565b60408051918290039091206020830180516001600160e01b03166001600160e01b031990921691909117905251612c6a91906158da565b600060405180830381855afa9150503d8060008114612ca5576040519150601f19603f3d011682016040523d82523d6000602084013e612caa565b606091505b509150915081611b8157604051631222cd8360e01b815260040160405180910390fd5b60008160ff168360ff1610612ce25781611c12565b5090919050565b60008160ff168360ff1603612cff575082611c12565b8160ff168360ff161115612d3357612d1782846158f6565b612d2290600a6159f3565b612d2c9085615a02565b9050611c12565b612d3d83836158f6565b612d4890600a6159f3565b612d2c9085615a24565b60006001600160401b038211156124c45760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610d53565b82546001600160481b0316612dce81613be2565b15612dfc57835468ffffffffffffffffff60481b1916600160481b6001600160481b03851602178455612e3f565b6000612e088584611e89565b9050612e15848383613c02565b85546001600160481b0391909116600160481b0268ffffffffffffffffff60481b19909116178555505b505081546001600160481b039190911679ffffffffffffffff000000000000000000ffffffffffffffffff1990911617600160901b426001600160401b031602179055565b612e8d81613ca4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b0316637c9e8a106040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f509190615a3b565b6001600160a01b031614612f6657612f66615768565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316306001600160a01b03166374aa7bfc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff29190615a58565b6001600160401b031614610bc357610bc3615768565b806130116127ec565b805460ff191691151591909117905550565b6000818310612ce25781611c12565b8061303b612ae0565b5550565b604051631244d5fd60e31b815260009073__$3a5f69cefc093539f925e73bc45cac585e$__90639226afe89061309b9085907f000000000000000000000000000000000000000000000000000000000000000090600401615a75565b602060405180830381865af41580156130b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108879190615a3b565b6040516001600160a01b0383166024820152604481018290526108e190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613d52565b613147613e24565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146131c157604051636345072160e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152336024820152604401610d53565b34156131e05760405163bd28e88960e01b815260040160405180910390fd5b6131ea3333613e5b565b610bc3613e75565b6040805160608101825260008082526020820181905291810191909152815161ffff7f000000000000000000000000000000000000000000000000000000000000000081169116036132535761088761324e836020015161249c565b6120ac565b61325b6121c4565b825161ffff166000908152602091825260408082209483015182529382528390208351606081018552600182015481526002820154928101929092526003015460ff16928101929092525090565b6000806132b4612b0e565b61ffff8816600090815260209190915260409020549050806132e95760405163f839a0cb60e01b815260040160405180910390fd5b476132f98989848a8a8a8a613e85565b9250600061330747836156f6565b9050898110156133235761332361331e828c6156f6565b613f2d565b5050509695505050505050565b600080600061334684604001516000015161168f565b9150915083604001516020015160000361337357604051631f2a200560e01b815260040160405180910390fd5b60408401516060015161339957604051634e46966960e11b815260040160405180910390fd5b6040840151608001516133bf5760405163717f139360e11b815260040160405180910390fd5b60006133d385604001516000015130613f99565b90506000856020015160018111156133ed576133ed61559b565b14801561343357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168560400151600001516001600160a01b0316145b156134d6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db08660400151602001516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561349b57600080fd5b505af11580156134af573d6000803e3d6000fd5b5050505050846040015160200151856000018181516134ce91906156f6565b9052506134fb565b6040850151602081015190516134fb916001600160a01b03909116903390309061406a565b600061350f86604001516000015130613f99565b905061351b82826156f6565b60408701516020015260018360018111156135385761353861559b565b036136515760408681015180516020909101519151630852cd8d60e31b815260048101929092526001600160a01b0316906342966c6890602401600060405180830381600087803b15801561358c57600080fd5b505af192505050801561359d575060015b61360f5760408681015180516020909101519151632770a7eb60e21b815230600482015260248101929092526001600160a01b031690639dc29fac90604401600060405180830381600087803b1580156135f657600080fd5b505af115801561360a573d6000803e3d6000fd5b505050505b600061362387604001516000015130613f99565b905080831461364f576040516302156a8f60e01b81526004810184905260248101829052604401610d53565b505b5050600080600061366185611af7565b9050613675818860400151602001516140a2565b925061368a6001600160481b0384168261410e565b9150506136a861369985611e32565b546001600160481b0316613be2565b613875576136b6848261415d565b1561386b57856040015160a0015161371257836136d285610ad2565b6040808901516020908101519151631d78001560e11b8152845161ffff166004820152930151602484015260448301919091526064820152608401610d53565b604086015160e00151511561373a57604051637a20891760e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ff428f096040518163ffffffff1660e01b81526004016020604051808303816000875af115801561379c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137c09190615a58565b9050336001600160a01b03167ff33512b84e24a49905c26c6991942fc5a9652411769fc1e448f967cdb049f08a8289604001516020015161380089610ad2565b604080516001600160401b03909416845260208401929092529082015260600160405180910390a261386081886040015160000151858a60400151604001518b60400151606001518c6040015160800151338e6040015160c001516141cd565b865161163090613f2d565b613875848261433e565b6138aa61388185611c62565b60408089015181015161ffff1660009081526020929092529020546001600160481b0316613be2565b6138c1576138c184828860400151604001516143a8565b5060408086015160c081015160e08201518851835194840151606085015160809095015193959294613900949293600093909289929091338a8a6128fa565b979650505050505050565b61ffff82161580159061391d57508015155b61392657600080fd5b8061392f612b0e565b61ffff84166000908152602091909152604090205414610b4957604051635788c0fd60e11b815261ffff8316600482015260248101829052604401610d53565b613977614d0f565b6000806139848482614427565b925090506001600160e01b03198116632653951560e21b146139c5576040516356d2569d60e01b81526001600160e01b031982166004820152602401610d53565b818401600181015160099182015160ff8216600882901b68ffffffffffffffff00161786529190930192906139fa8685614452565b60208701919091529350613a0e86856144ba565b60408701919091529350613a2286856144ba565b606087019190915293506000613a418786600291810182015192910190565b955061ffff169050613a548786836144e0565b60808801919091529450613a688786614555565b5050505050919050565b613a7a6114ad565b15613a98576040516309e3d0f360e11b815260040160405180910390fd5b613aa0612220565b6000613aab82612258565b8051602091820120908301519091506000613ac582612399565b90506000613ad68360200151611af7565b90506000613aff8283610e4c858a600001516001600160481b0316611f4f90919063ffffffff16565b90506000613b10876060015161249c565b9050613b45613b228660200151611c62565b61ffff8a16600090815260209190915260409020546001600160481b0316613be2565b613b89576000613b5a8660200151848b614583565b90508015613b7857613b6c878a614607565b50505050505050613bcb565b613b878660200151848b6146a8565b505b613b996136998660200151611e32565b613bab57613bab856020015183614727565b613bc48685838560008c608001518e8e604001516124c8565b5050505050505b610b496001600080516020615c3983398151915255565b60006001600160401b03600883901c1615801561088757505060ff161590565b600080613c0f8486614791565b15613c4857613c1e84866147b6565b9050613c2a8382614791565b613c375760ff8316613c41565b613c4183826147b6565b9150613c61565b613c5285856147b6565b9050613c5e83826147fb565b91505b613c6b8286614791565b15613c9c57604051631e74e8fb60e31b81526001600160481b03808416600483015286166024820152604401610d53565b509392505050565b6001600160a01b0381163b613d115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610d53565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6000613da7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166148409092919063ffffffff16565b8051909150156108e15780806020019051810190613dc5919061577e565b6108e15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610d53565b600080516020615c5983398151915254600160401b900460ff16610bc357604051631afcd79f60e31b815260040160405180910390fd5b613e63613e24565b613e6c8261484f565b610b4981614860565b613e7d613e24565b610bc3614871565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ee0bdb1c898989898989896040518863ffffffff1660e01b8152600401613ede96959493929190615a9b565b60206040518083038185885af1158015613efc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613f219190615a58565b98975050505050505050565b604051600090339083908381818185875af1925050503d8060008114613f6f576040519150601f19603f3d011682016040523d82523d6000602084013e613f74565b606091505b5050905080610b4957604051630b288dc560e21b815260048101839052602401610d53565b604080516001600160a01b0383811660248084019190915283518084039091018152604490920183526020820180516001600160e01b03166370a0823160e01b17905291516000928392839291871691613ff391906158da565b600060405180830381855afa9150503d806000811461402e576040519150601f19603f3d011682016040523d82523d6000602084013e614033565b606091505b50915091508161405657604051631222cd8360e01b815260040160405180910390fd5b80806020019051810190610b2e9190615af2565b6040516001600160a01b03808516602483015283166044820152606481018290526108089085906323b872dd60e01b90608401613108565b60008260ff166000036140b457600080fd5b60006140c1838580611bc0565b905060006140d86001600160481b03831686611f4f565b9050808414613c9c57836140ec82826156f6565b6040516338f831a560e11b815260048101929092526024820152604401610d53565b60008061411c600884612ccd565b9050611b8161414461413f6001600160401b03600888901c1660ff881685612ce9565b612d52565b8260ff1660089190911b68ffffffffffffffff00161790565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660000361419857506000610887565b611c12827f00000000000000000000000000000000000000000000000000000000000000006141c686611e32565b9190614879565b604051806101000160405280858152602001848152602001836001600160a01b03168152602001876001600160481b031681526020018661ffff168152602001426001600160401b03168152602001886001600160a01b0316815260200182815250614237611e04565b6001600160401b03808b1660009081526020928352604090819020845181559284015160018401558301516002830180546060860151608087015161ffff16600160e81b0261ffff60e81b196001600160481b03909216600160a01b026001600160e81b03199093166001600160a01b0395861617929092171617905560a084015160038401805460c0870151909316600160401b026001600160e01b0319909316919093161717905560e082015160048201906142f59082615b59565b50506040516001600160401b038a1681527f69add1952a6a6b9cb86f04d05f0cb605cbb469a50ae916139d34495a9991481f915060200160405180910390a15050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600003614373575050565b610b49817f00000000000000000000000000000000000000000000000000000000000000006143a185611e32565b91906148ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166000036143de57505050565b6108e1827f000000000000000000000000000000000000000000000000000000000000000061440c86611c62565b61ffff8516600090815260209190915260409020919061492b565b6000806000806144408686600491810182015192910190565b60e09190911b97909650945050505050565b6040805160a081018252600081830181815260608301829052608083018290528252825180840190935280835260208084018290528201929092529061449884846149a5565b90835292506144a784846149ff565b6020840191909152919491935090915050565b6000806000806144d38686602091810182015192910190565b9097909650945050505050565b60606000826000036145035750506040805160008152602081019091528261454d565b5050604051828201601f831680614518575060205b80830184810186838901015b8183101561453c578051835260209283019201614524565b5050848452601f01601f1916604052505b935093915050565b80825114610b495781516040516355c5b3e360e11b8152600481019190915260248101829052604401610d53565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166000036145be57506000611c12565b611b81837f00000000000000000000000000000000000000000000000000000000000000006145ec87611c62565b61ffff86166000908152602091909152604090209190614879565b6040518060400160405280426001600160401b031681526020018261ffff1681525061463161236b565b6000848152602091825260409081902083518154949093015161ffff16600160401b0269ffffffffffffffffffff199094166001600160401b0390931692909217929092179055517f7f63c9251d82a933210c2b6d0b0f116252c3c116788120e64e8e8215df6f3162906110eb9084815260200190565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166000036146de57505050565b6108e1827f000000000000000000000000000000000000000000000000000000000000000061470c86611c62565b61ffff851660009081526020919091526040902091906148ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660000361475c575050565b610b49817f000000000000000000000000000000000000000000000000000000000000000061478a85611e32565b919061492b565b600061479d8383614a31565b506001600160401b03600891821c81169290911c161190565b60006147c28383614a31565b611c126147e26001600160401b03600885811c8216919087901c16615c18565b68ffffffffffffffff0060089190911b1660ff85161790565b60006148078383614a31565b611c126148276001600160401b03600885811c8216919087901c16615709565b68ffffffffffffffff0060089190911b1660ff84161790565b6060611b818484600085614a66565b614857613e24565b61089e81614b36565b614868613e24565b61089e81614b7b565b6127d8613e24565b6000816001600160401b031660000361489457506000611c12565b60006148a08584611e89565b9050610b2e8185614b83565b806001600160401b03166000036148c257505050565b60006148ce8483611e89565b845467ffffffffffffffff60901b1916600160901b426001600160401b03160217855590506148fd81846147b6565b84546001600160481b0391909116600160481b0268ffffffffffffffffff60481b1990911617909355505050565b806001600160401b031660000361494157505050565b600061494d8483611e89565b845467ffffffffffffffff60901b198116600160901b426001600160401b03160290811787559192506148fd916001600160481b03918216908216179061499690841686614ba8565b6001600160481b031690614c0b565b60408051606081018252600080825260208201819052918101829052906149cc84846144ba565b90835292506149db84846144ba565b6020840191909152600194810185015160ff16604084015291949390910192915050565b60408051808201909152600080825260208201819052600284840181015161ffff168352909201916144a784846144ba565b60ff82811690821680821461080857604051635ce6db6160e11b815260ff808416600483015282166024820152604401610d53565b606082471015614ac75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610d53565b600080866001600160a01b03168587604051614ae391906158da565b60006040518083038185875af1925050503d8060008114614b20576040519150601f19603f3d011682016040523d82523d6000602084013e614b25565b606091505b509150915061390087838387614c37565b614b3e613e24565b6000614b48612ae0565b6001815590506000614b58611a97565b80546001600160a01b0319166001600160a01b0394909416939093179092555050565b61173f613e24565b6000614b8f8383614a31565b506001600160401b03600891821c81169290911c161090565b6000614bb48383614a31565b600883811c6001600160401b039081169184901c811682810192918311614bdb5782614be4565b6001600160401b035b9250611630614bf284612d52565b68ffffffffffffffff0060089190911b1660ff88161790565b6000614c178383614a31565b600882811c6001600160401b039081169185901c1610612ce25781611c12565b60608315614ca6578251600003614c9f576001600160a01b0385163b614c9f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610d53565b5081611b81565b611b818383815115614cbb5781518083602001fd5b8060405162461bcd60e51b8152600401610d53919061500e565b508054614ce190615683565b6000825580601f10614cf1575050565b601f01602090049060005260206000209081019061089e9190614d85565b6040518060a0016040528060006001600160481b03168152602001614d6c6040805160a081018252600081830181815260608301829052608083018290528252825180840190935280835260208381019190915290919082015290565b8152600060208201819052604082015260609081015290565b5b808211156124c45760008155600101614d86565b6001600160a01b038116811461089e57600080fd5b803561143b81614d9a565b600060208284031215614dcc57600080fd5b8135611c1281614d9a565b600060408284031215614de957600080fd5b50919050565b61ffff8116811461089e57600080fd5b803561143b81614def565b600080600060808486031215614e1f57600080fd5b614e298585614dd7565b9250604084013591506060840135614e4081614def565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715614e8357614e83614e4b565b60405290565b60405160a081016001600160401b0381118282101715614e8357614e83614e4b565b60405161010081016001600160401b0381118282101715614e8357614e83614e4b565b60405160e081016001600160401b0381118282101715614e8357614e83614e4b565b604051601f8201601f191681016001600160401b0381118282101715614f1857614f18614e4b565b604052919050565b600060408284031215614f3257600080fd5b614f3a614e61565b90508135614f4781614def565b808252506020820135602082015292915050565b60008060608385031215614f6e57600080fd5b614f788484614f20565b91506040830135614f8881614def565b809150509250929050565b60008060608385031215614fa657600080fd5b614fb08484614dd7565b946040939093013593505050565b60005b83811015614fd9578181015183820152602001614fc1565b50506000910152565b60008151808452614ffa816020860160208601614fbe565b601f01601f19169290920160200192915050565b602081526000611c126020830184614fe2565b6001600160401b038116811461089e57600080fd5b60006020828403121561504857600080fd5b8135611c1281615021565b60208152815160208201526020820151604082015260018060a01b0360408301511660608201526001600160481b036060830151166080820152600060808301516150a460a084018261ffff169052565b5060a08301516001600160401b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810152611b81610120840182614fe2565b6000604082840312156150fb57600080fd5b611c128383614f20565b6000806040838503121561511857600080fd5b823561512381614def565b946020939093013593505050565b6000806060838503121561514457600080fd5b61514e8484614dd7565b91506040830135614f8881614d9a565b60ff8116811461089e57600080fd5b600081830360a081121561518057600080fd5b615188614e61565b9150606081121561519857600080fd5b50604051606081018181106001600160401b03821117156151bb576151bb614e4b565b8060405250823581526020830135602082015260408301356151dc8161515e565b604082015281526151f08360608401614f20565b602082015292915050565b60006001600160401b0382111561521457615214614e4b565b50601f01601f191660200190565b600082601f83011261523357600080fd5b8135615246615241826151fb565b614ef0565b81815284602083860101111561525b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561528a57600080fd5b81356001600160401b03808211156152a157600080fd5b9083019061012082860312156152b657600080fd5b6152be614e89565b82356001600160481b03811681146152d557600080fd5b81526152e4866020850161516d565b602082015260c0830135604082015260e083013560608201526101008301358281111561531057600080fd5b61531c87828601615222565b60808301525095945050505050565b801515811461089e57600080fd5b803561143b8161532b565b60006020828403121561535657600080fd5b81356001600160401b038082111561536d57600080fd5b90830190610100828603121561538257600080fd5b61538a614eab565b61539383614daf565b8152602083013560208201526153ab60408401614dff565b604082015260608301356060820152608083013560808201526153d060a08401615339565b60a082015260c0830135828111156153e757600080fd5b6153f387828601615222565b60c08301525060e08301358281111561540b57600080fd5b61541787828601615222565b60e08301525095945050505050565b60006020828403121561543857600080fd5b81356001600160401b038082111561544f57600080fd5b9083019060e0828603121561546357600080fd5b61546b614ece565b8235815261547b60208401614dff565b602082015260408301356040820152606083013560608201526154a060808401615339565b608082015260a0830135828111156154b757600080fd5b6154c387828601615222565b60a08301525060c0830135828111156154db57600080fd5b6154e787828601615222565b60c08301525095945050505050565b60006020828403121561550857600080fd5b8135611c1281614def565b6000806000806060858703121561552957600080fd5b843561553481614def565b93506020850135925060408501356001600160401b038082111561555757600080fd5b818701915087601f83011261556b57600080fd5b81358181111561557a57600080fd5b88602082850101111561558c57600080fd5b95989497505060200194505050565b634e487b7160e01b600052602160045260246000fd5b825161ffff1681526020808401519082015260608101600283106155e557634e487b7160e01b600052602160045260246000fd5b8260408301529392505050565b60006020828403121561560457600080fd5b5035919050565b6000615619615241846151fb565b905082815283838301111561562d57600080fd5b611c12836020830184614fbe565b60006020828403121561564d57600080fd5b81516001600160401b0381111561566357600080fd5b8201601f8101841361567457600080fd5b611b818482516020840161560b565b600181811c9082168061569757607f821691505b602082108103614de957634e487b7160e01b600052602260045260246000fd5b81356156c281614def565b61ffff811661ffff1983541617825550602082013560018201555050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610887576108876156e0565b6001600160401b03818116838216019080821115615729576157296156e0565b5092915050565b60006020828403121561574257600080fd5b8151611c128161515e565b815161ffff1681526020808301519082015260408101610887565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561579057600080fd5b8151611c128161532b565b634e487b7160e01b600052601260045260246000fd5b8051805183526020810151602084015260ff60408201511660408401525060208101516108e16060840182805161ffff168252602090810151910152565b60a0810161088782846157b1565b6001600160e01b03198916815260f888901b6001600160f81b031916600482015260c087901b6001600160c01b0319166005820152855160009061584881600d850160208b01614fbe565b808301905086600d82015285602d82015261ffff60f01b8560f01b16604d820152835161587c81604f840160208801614fbe565b01604f019a9950505050505050505050565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906158c190830186614fe2565b61ffff9490941660808301525060a00152949350505050565b600082516158ec818460208701614fbe565b9190910192915050565b60ff8281168282160390811115610887576108876156e0565b600181815b8085111561594a578160001904821115615930576159306156e0565b8085161561593d57918102915b93841c9390800290615914565b509250929050565b60008261596157506001610887565b8161596e57506000610887565b8160018114615984576002811461598e576159aa565b6001915050610887565b60ff84111561599f5761599f6156e0565b50506001821b610887565b5060208310610133831016604e8410600b84101617156159cd575081810a610887565b6159d7838361590f565b80600019048211156159eb576159eb6156e0565b029392505050565b6000611c1260ff841683615952565b600082615a1f57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610887576108876156e0565b600060208284031215615a4d57600080fd5b8151611c1281614d9a565b600060208284031215615a6a57600080fd5b8151611c1281615021565b60c08101615a8382856157b1565b6001600160a01b039290921660a09190910152919050565b61ffff871681528560208201528460408201526001600160401b038416606082015260c060808201526000615ad360c0830185614fe2565b82810360a0840152615ae58185614fe2565b9998505050505050505050565b600060208284031215615b0457600080fd5b5051919050565b601f8211156108e157600081815260208120601f850160051c81016020861015615b325750805b601f850160051c820191505b81811015615b5157828155600101615b3e565b505050505050565b81516001600160401b03811115615b7257615b72614e4b565b615b8681615b808454615683565b84615b0b565b602080601f831160018114615bbb5760008415615ba35750858301515b600019600386901b1c1916600185901b178555615b51565b600085815260208120601f198616915b82811015615bea57888601518255948401946001909101908401615bcb565b5085821015615c085787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03828116828216039080821115615729576157296156e056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b4078dfa3bb5c4dd3e7965aa52afa67dd81837542b02de528a8fbdb539b676c164736f6c63430008130033";
19
+ static readonly abi: readonly [{
20
+ readonly type: "constructor";
21
+ readonly inputs: readonly [{
22
+ readonly name: "_gmpManager";
23
+ readonly type: "address";
24
+ readonly internalType: "contract IGmpManager";
25
+ }, {
26
+ readonly name: "_rateLimitDuration";
27
+ readonly type: "uint64";
28
+ readonly internalType: "uint64";
29
+ }, {
30
+ readonly name: "_skipRateLimiting";
31
+ readonly type: "bool";
32
+ readonly internalType: "bool";
33
+ }, {
34
+ readonly name: "_tokenImplementation";
35
+ readonly type: "address";
36
+ readonly internalType: "address";
37
+ }, {
38
+ readonly name: "_weth";
39
+ readonly type: "address";
40
+ readonly internalType: "address";
41
+ }];
42
+ readonly stateMutability: "nonpayable";
43
+ }, {
44
+ readonly type: "receive";
45
+ readonly stateMutability: "payable";
46
+ }, {
47
+ readonly type: "function";
48
+ readonly name: "NTT_MANAGER_VERSION";
49
+ readonly inputs: readonly [];
50
+ readonly outputs: readonly [{
51
+ readonly name: "";
52
+ readonly type: "string";
53
+ readonly internalType: "string";
54
+ }];
55
+ readonly stateMutability: "view";
56
+ }, {
57
+ readonly type: "function";
58
+ readonly name: "WETH";
59
+ readonly inputs: readonly [];
60
+ readonly outputs: readonly [{
61
+ readonly name: "";
62
+ readonly type: "address";
63
+ readonly internalType: "contract IWETH";
64
+ }];
65
+ readonly stateMutability: "view";
66
+ }, {
67
+ readonly type: "function";
68
+ readonly name: "cancelOutboundQueuedTransfer";
69
+ readonly inputs: readonly [{
70
+ readonly name: "messageSequence";
71
+ readonly type: "uint64";
72
+ readonly internalType: "uint64";
73
+ }];
74
+ readonly outputs: readonly [];
75
+ readonly stateMutability: "nonpayable";
76
+ }, {
77
+ readonly type: "function";
78
+ readonly name: "completeInboundQueuedTransfer";
79
+ readonly inputs: readonly [{
80
+ readonly name: "nativeTokenTransfer";
81
+ readonly type: "tuple";
82
+ readonly internalType: "struct NativeTokenTransferCodec.NativeTokenTransfer";
83
+ readonly components: readonly [{
84
+ readonly name: "amount";
85
+ readonly type: "uint72";
86
+ readonly internalType: "TrimmedAmount";
87
+ }, {
88
+ readonly name: "token";
89
+ readonly type: "tuple";
90
+ readonly internalType: "struct TokenInfo";
91
+ readonly components: readonly [{
92
+ readonly name: "meta";
93
+ readonly type: "tuple";
94
+ readonly internalType: "struct TokenMeta";
95
+ readonly components: readonly [{
96
+ readonly name: "name";
97
+ readonly type: "bytes32";
98
+ readonly internalType: "bytes32";
99
+ }, {
100
+ readonly name: "symbol";
101
+ readonly type: "bytes32";
102
+ readonly internalType: "bytes32";
103
+ }, {
104
+ readonly name: "decimals";
105
+ readonly type: "uint8";
106
+ readonly internalType: "uint8";
107
+ }];
108
+ }, {
109
+ readonly name: "token";
110
+ readonly type: "tuple";
111
+ readonly internalType: "struct TokenId";
112
+ readonly components: readonly [{
113
+ readonly name: "chainId";
114
+ readonly type: "uint16";
115
+ readonly internalType: "uint16";
116
+ }, {
117
+ readonly name: "tokenAddress";
118
+ readonly type: "bytes32";
119
+ readonly internalType: "bytes32";
120
+ }];
121
+ }];
122
+ }, {
123
+ readonly name: "sender";
124
+ readonly type: "bytes32";
125
+ readonly internalType: "bytes32";
126
+ }, {
127
+ readonly name: "to";
128
+ readonly type: "bytes32";
129
+ readonly internalType: "bytes32";
130
+ }, {
131
+ readonly name: "additionalPayload";
132
+ readonly type: "bytes";
133
+ readonly internalType: "bytes";
134
+ }];
135
+ }];
136
+ readonly outputs: readonly [];
137
+ readonly stateMutability: "nonpayable";
138
+ }, {
139
+ readonly type: "function";
140
+ readonly name: "completeOutboundQueuedTransfer";
141
+ readonly inputs: readonly [{
142
+ readonly name: "messageSequence";
143
+ readonly type: "uint64";
144
+ readonly internalType: "uint64";
145
+ }];
146
+ readonly outputs: readonly [{
147
+ readonly name: "";
148
+ readonly type: "uint64";
149
+ readonly internalType: "uint64";
150
+ }];
151
+ readonly stateMutability: "payable";
152
+ }, {
153
+ readonly type: "function";
154
+ readonly name: "getCurrentInboundCapacity";
155
+ readonly inputs: readonly [{
156
+ readonly name: "tokenId";
157
+ readonly type: "tuple";
158
+ readonly internalType: "struct TokenId";
159
+ readonly components: readonly [{
160
+ readonly name: "chainId";
161
+ readonly type: "uint16";
162
+ readonly internalType: "uint16";
163
+ }, {
164
+ readonly name: "tokenAddress";
165
+ readonly type: "bytes32";
166
+ readonly internalType: "bytes32";
167
+ }];
168
+ }, {
169
+ readonly name: "chainId_";
170
+ readonly type: "uint16";
171
+ readonly internalType: "uint16";
172
+ }];
173
+ readonly outputs: readonly [{
174
+ readonly name: "";
175
+ readonly type: "uint256";
176
+ readonly internalType: "uint256";
177
+ }];
178
+ readonly stateMutability: "view";
179
+ }, {
180
+ readonly type: "function";
181
+ readonly name: "getCurrentOutboundCapacity";
182
+ readonly inputs: readonly [{
183
+ readonly name: "tokenId";
184
+ readonly type: "tuple";
185
+ readonly internalType: "struct TokenId";
186
+ readonly components: readonly [{
187
+ readonly name: "chainId";
188
+ readonly type: "uint16";
189
+ readonly internalType: "uint16";
190
+ }, {
191
+ readonly name: "tokenAddress";
192
+ readonly type: "bytes32";
193
+ readonly internalType: "bytes32";
194
+ }];
195
+ }];
196
+ readonly outputs: readonly [{
197
+ readonly name: "";
198
+ readonly type: "uint256";
199
+ readonly internalType: "uint256";
200
+ }];
201
+ readonly stateMutability: "view";
202
+ }, {
203
+ readonly type: "function";
204
+ readonly name: "getInboundLimitParams";
205
+ readonly inputs: readonly [{
206
+ readonly name: "tokenId";
207
+ readonly type: "tuple";
208
+ readonly internalType: "struct TokenId";
209
+ readonly components: readonly [{
210
+ readonly name: "chainId";
211
+ readonly type: "uint16";
212
+ readonly internalType: "uint16";
213
+ }, {
214
+ readonly name: "tokenAddress";
215
+ readonly type: "bytes32";
216
+ readonly internalType: "bytes32";
217
+ }];
218
+ }, {
219
+ readonly name: "chainId_";
220
+ readonly type: "uint16";
221
+ readonly internalType: "uint16";
222
+ }];
223
+ readonly outputs: readonly [{
224
+ readonly name: "";
225
+ readonly type: "tuple";
226
+ readonly internalType: "struct RateLimitLib.RateLimitParams";
227
+ readonly components: readonly [{
228
+ readonly name: "limit";
229
+ readonly type: "uint72";
230
+ readonly internalType: "TrimmedAmount";
231
+ }, {
232
+ readonly name: "currentCapacity";
233
+ readonly type: "uint72";
234
+ readonly internalType: "TrimmedAmount";
235
+ }, {
236
+ readonly name: "lastTxTimestamp";
237
+ readonly type: "uint64";
238
+ readonly internalType: "uint64";
239
+ }];
240
+ }];
241
+ readonly stateMutability: "view";
242
+ }, {
243
+ readonly type: "function";
244
+ readonly name: "getInboundQueuedTransfer";
245
+ readonly inputs: readonly [{
246
+ readonly name: "digest";
247
+ readonly type: "bytes32";
248
+ readonly internalType: "bytes32";
249
+ }];
250
+ readonly outputs: readonly [{
251
+ readonly name: "";
252
+ readonly type: "tuple";
253
+ readonly internalType: "struct IMultiTokenRateLimiter.InboundQueuedTransfer";
254
+ readonly components: readonly [{
255
+ readonly name: "txTimestamp";
256
+ readonly type: "uint64";
257
+ readonly internalType: "uint64";
258
+ }, {
259
+ readonly name: "sourceChainId";
260
+ readonly type: "uint16";
261
+ readonly internalType: "uint16";
262
+ }];
263
+ }];
264
+ readonly stateMutability: "view";
265
+ }, {
266
+ readonly type: "function";
267
+ readonly name: "getMigratesImmutables";
268
+ readonly inputs: readonly [];
269
+ readonly outputs: readonly [{
270
+ readonly name: "";
271
+ readonly type: "bool";
272
+ readonly internalType: "bool";
273
+ }];
274
+ readonly stateMutability: "view";
275
+ }, {
276
+ readonly type: "function";
277
+ readonly name: "getOutboundLimitParams";
278
+ readonly inputs: readonly [{
279
+ readonly name: "tokenId";
280
+ readonly type: "tuple";
281
+ readonly internalType: "struct TokenId";
282
+ readonly components: readonly [{
283
+ readonly name: "chainId";
284
+ readonly type: "uint16";
285
+ readonly internalType: "uint16";
286
+ }, {
287
+ readonly name: "tokenAddress";
288
+ readonly type: "bytes32";
289
+ readonly internalType: "bytes32";
290
+ }];
291
+ }];
292
+ readonly outputs: readonly [{
293
+ readonly name: "";
294
+ readonly type: "tuple";
295
+ readonly internalType: "struct RateLimitLib.RateLimitParams";
296
+ readonly components: readonly [{
297
+ readonly name: "limit";
298
+ readonly type: "uint72";
299
+ readonly internalType: "TrimmedAmount";
300
+ }, {
301
+ readonly name: "currentCapacity";
302
+ readonly type: "uint72";
303
+ readonly internalType: "TrimmedAmount";
304
+ }, {
305
+ readonly name: "lastTxTimestamp";
306
+ readonly type: "uint64";
307
+ readonly internalType: "uint64";
308
+ }];
309
+ }];
310
+ readonly stateMutability: "pure";
311
+ }, {
312
+ readonly type: "function";
313
+ readonly name: "getOutboundQueuedTransfer";
314
+ readonly inputs: readonly [{
315
+ readonly name: "queueSequence";
316
+ readonly type: "uint64";
317
+ readonly internalType: "uint64";
318
+ }];
319
+ readonly outputs: readonly [{
320
+ readonly name: "";
321
+ readonly type: "tuple";
322
+ readonly internalType: "struct IMultiTokenRateLimiter.OutboundQueuedTransfer";
323
+ readonly components: readonly [{
324
+ readonly name: "recipient";
325
+ readonly type: "bytes32";
326
+ readonly internalType: "bytes32";
327
+ }, {
328
+ readonly name: "refundAddress";
329
+ readonly type: "bytes32";
330
+ readonly internalType: "bytes32";
331
+ }, {
332
+ readonly name: "sender";
333
+ readonly type: "address";
334
+ readonly internalType: "address";
335
+ }, {
336
+ readonly name: "amount";
337
+ readonly type: "uint72";
338
+ readonly internalType: "TrimmedAmount";
339
+ }, {
340
+ readonly name: "recipientChain";
341
+ readonly type: "uint16";
342
+ readonly internalType: "uint16";
343
+ }, {
344
+ readonly name: "txTimestamp";
345
+ readonly type: "uint64";
346
+ readonly internalType: "uint64";
347
+ }, {
348
+ readonly name: "token";
349
+ readonly type: "address";
350
+ readonly internalType: "address";
351
+ }, {
352
+ readonly name: "transceiverInstructions";
353
+ readonly type: "bytes";
354
+ readonly internalType: "bytes";
355
+ }];
356
+ }];
357
+ readonly stateMutability: "view";
358
+ }, {
359
+ readonly type: "function";
360
+ readonly name: "getPeer";
361
+ readonly inputs: readonly [{
362
+ readonly name: "chainId_";
363
+ readonly type: "uint16";
364
+ readonly internalType: "uint16";
365
+ }];
366
+ readonly outputs: readonly [{
367
+ readonly name: "";
368
+ readonly type: "tuple";
369
+ readonly internalType: "struct Peers.Peer";
370
+ readonly components: readonly [{
371
+ readonly name: "peerAddress";
372
+ readonly type: "bytes32";
373
+ readonly internalType: "bytes32";
374
+ }];
375
+ }];
376
+ readonly stateMutability: "view";
377
+ }, {
378
+ readonly type: "function";
379
+ readonly name: "getToken";
380
+ readonly inputs: readonly [{
381
+ readonly name: "tokenId";
382
+ readonly type: "tuple";
383
+ readonly internalType: "struct TokenId";
384
+ readonly components: readonly [{
385
+ readonly name: "chainId";
386
+ readonly type: "uint16";
387
+ readonly internalType: "uint16";
388
+ }, {
389
+ readonly name: "tokenAddress";
390
+ readonly type: "bytes32";
391
+ readonly internalType: "bytes32";
392
+ }];
393
+ }];
394
+ readonly outputs: readonly [{
395
+ readonly name: "";
396
+ readonly type: "address";
397
+ readonly internalType: "address";
398
+ }];
399
+ readonly stateMutability: "view";
400
+ }, {
401
+ readonly type: "function";
402
+ readonly name: "getTokenId";
403
+ readonly inputs: readonly [{
404
+ readonly name: "token";
405
+ readonly type: "address";
406
+ readonly internalType: "address";
407
+ }];
408
+ readonly outputs: readonly [{
409
+ readonly name: "";
410
+ readonly type: "tuple";
411
+ readonly internalType: "struct TokenId";
412
+ readonly components: readonly [{
413
+ readonly name: "chainId";
414
+ readonly type: "uint16";
415
+ readonly internalType: "uint16";
416
+ }, {
417
+ readonly name: "tokenAddress";
418
+ readonly type: "bytes32";
419
+ readonly internalType: "bytes32";
420
+ }];
421
+ }, {
422
+ readonly name: "";
423
+ readonly type: "uint8";
424
+ readonly internalType: "enum MultiTokenNtt.Mode";
425
+ }];
426
+ readonly stateMutability: "view";
427
+ }, {
428
+ readonly type: "function";
429
+ readonly name: "gmpManager";
430
+ readonly inputs: readonly [];
431
+ readonly outputs: readonly [{
432
+ readonly name: "";
433
+ readonly type: "address";
434
+ readonly internalType: "contract IGmpManager";
435
+ }];
436
+ readonly stateMutability: "view";
437
+ }, {
438
+ readonly type: "function";
439
+ readonly name: "initialize";
440
+ readonly inputs: readonly [];
441
+ readonly outputs: readonly [];
442
+ readonly stateMutability: "payable";
443
+ }, {
444
+ readonly type: "function";
445
+ readonly name: "isPaused";
446
+ readonly inputs: readonly [];
447
+ readonly outputs: readonly [{
448
+ readonly name: "";
449
+ readonly type: "bool";
450
+ readonly internalType: "bool";
451
+ }];
452
+ readonly stateMutability: "view";
453
+ }, {
454
+ readonly type: "function";
455
+ readonly name: "migrate";
456
+ readonly inputs: readonly [];
457
+ readonly outputs: readonly [];
458
+ readonly stateMutability: "nonpayable";
459
+ }, {
460
+ readonly type: "function";
461
+ readonly name: "overrideLocalAsset";
462
+ readonly inputs: readonly [{
463
+ readonly name: "token";
464
+ readonly type: "tuple";
465
+ readonly internalType: "struct TokenId";
466
+ readonly components: readonly [{
467
+ readonly name: "chainId";
468
+ readonly type: "uint16";
469
+ readonly internalType: "uint16";
470
+ }, {
471
+ readonly name: "tokenAddress";
472
+ readonly type: "bytes32";
473
+ readonly internalType: "bytes32";
474
+ }];
475
+ }, {
476
+ readonly name: "localToken";
477
+ readonly type: "address";
478
+ readonly internalType: "address";
479
+ }];
480
+ readonly outputs: readonly [];
481
+ readonly stateMutability: "nonpayable";
482
+ }, {
483
+ readonly type: "function";
484
+ readonly name: "owner";
485
+ readonly inputs: readonly [];
486
+ readonly outputs: readonly [{
487
+ readonly name: "";
488
+ readonly type: "address";
489
+ readonly internalType: "address";
490
+ }];
491
+ readonly stateMutability: "view";
492
+ }, {
493
+ readonly type: "function";
494
+ readonly name: "pause";
495
+ readonly inputs: readonly [];
496
+ readonly outputs: readonly [];
497
+ readonly stateMutability: "nonpayable";
498
+ }, {
499
+ readonly type: "function";
500
+ readonly name: "pauser";
501
+ readonly inputs: readonly [];
502
+ readonly outputs: readonly [{
503
+ readonly name: "";
504
+ readonly type: "address";
505
+ readonly internalType: "address";
506
+ }];
507
+ readonly stateMutability: "view";
508
+ }, {
509
+ readonly type: "function";
510
+ readonly name: "rateLimitDuration";
511
+ readonly inputs: readonly [];
512
+ readonly outputs: readonly [{
513
+ readonly name: "";
514
+ readonly type: "uint64";
515
+ readonly internalType: "uint64";
516
+ }];
517
+ readonly stateMutability: "view";
518
+ }, {
519
+ readonly type: "function";
520
+ readonly name: "receiveMessage";
521
+ readonly inputs: readonly [{
522
+ readonly name: "sourceChainId";
523
+ readonly type: "uint16";
524
+ readonly internalType: "uint16";
525
+ }, {
526
+ readonly name: "sender";
527
+ readonly type: "bytes32";
528
+ readonly internalType: "bytes32";
529
+ }, {
530
+ readonly name: "data";
531
+ readonly type: "bytes";
532
+ readonly internalType: "bytes";
533
+ }];
534
+ readonly outputs: readonly [];
535
+ readonly stateMutability: "nonpayable";
536
+ }, {
537
+ readonly type: "function";
538
+ readonly name: "setInboundLimit";
539
+ readonly inputs: readonly [{
540
+ readonly name: "token";
541
+ readonly type: "tuple";
542
+ readonly internalType: "struct TokenId";
543
+ readonly components: readonly [{
544
+ readonly name: "chainId";
545
+ readonly type: "uint16";
546
+ readonly internalType: "uint16";
547
+ }, {
548
+ readonly name: "tokenAddress";
549
+ readonly type: "bytes32";
550
+ readonly internalType: "bytes32";
551
+ }];
552
+ }, {
553
+ readonly name: "limit";
554
+ readonly type: "uint256";
555
+ readonly internalType: "uint256";
556
+ }, {
557
+ readonly name: "chainId_";
558
+ readonly type: "uint16";
559
+ readonly internalType: "uint16";
560
+ }];
561
+ readonly outputs: readonly [];
562
+ readonly stateMutability: "nonpayable";
563
+ }, {
564
+ readonly type: "function";
565
+ readonly name: "setOutboundLimit";
566
+ readonly inputs: readonly [{
567
+ readonly name: "token";
568
+ readonly type: "tuple";
569
+ readonly internalType: "struct TokenId";
570
+ readonly components: readonly [{
571
+ readonly name: "chainId";
572
+ readonly type: "uint16";
573
+ readonly internalType: "uint16";
574
+ }, {
575
+ readonly name: "tokenAddress";
576
+ readonly type: "bytes32";
577
+ readonly internalType: "bytes32";
578
+ }];
579
+ }, {
580
+ readonly name: "limit";
581
+ readonly type: "uint256";
582
+ readonly internalType: "uint256";
583
+ }];
584
+ readonly outputs: readonly [];
585
+ readonly stateMutability: "nonpayable";
586
+ }, {
587
+ readonly type: "function";
588
+ readonly name: "setPeer";
589
+ readonly inputs: readonly [{
590
+ readonly name: "_chainId";
591
+ readonly type: "uint16";
592
+ readonly internalType: "uint16";
593
+ }, {
594
+ readonly name: "peerAddress";
595
+ readonly type: "bytes32";
596
+ readonly internalType: "bytes32";
597
+ }];
598
+ readonly outputs: readonly [];
599
+ readonly stateMutability: "nonpayable";
600
+ }, {
601
+ readonly type: "function";
602
+ readonly name: "tokenImplementation";
603
+ readonly inputs: readonly [];
604
+ readonly outputs: readonly [{
605
+ readonly name: "";
606
+ readonly type: "address";
607
+ readonly internalType: "address";
608
+ }];
609
+ readonly stateMutability: "view";
610
+ }, {
611
+ readonly type: "function";
612
+ readonly name: "tokenProxyCreationCode";
613
+ readonly inputs: readonly [];
614
+ readonly outputs: readonly [{
615
+ readonly name: "";
616
+ readonly type: "bytes";
617
+ readonly internalType: "bytes";
618
+ }];
619
+ readonly stateMutability: "pure";
620
+ }, {
621
+ readonly type: "function";
622
+ readonly name: "transfer";
623
+ readonly inputs: readonly [{
624
+ readonly name: "args";
625
+ readonly type: "tuple";
626
+ readonly internalType: "struct MultiTokenNtt.TransferArgs";
627
+ readonly components: readonly [{
628
+ readonly name: "token";
629
+ readonly type: "address";
630
+ readonly internalType: "address";
631
+ }, {
632
+ readonly name: "amount";
633
+ readonly type: "uint256";
634
+ readonly internalType: "uint256";
635
+ }, {
636
+ readonly name: "recipientChain";
637
+ readonly type: "uint16";
638
+ readonly internalType: "uint16";
639
+ }, {
640
+ readonly name: "recipient";
641
+ readonly type: "bytes32";
642
+ readonly internalType: "bytes32";
643
+ }, {
644
+ readonly name: "refundAddress";
645
+ readonly type: "bytes32";
646
+ readonly internalType: "bytes32";
647
+ }, {
648
+ readonly name: "shouldQueue";
649
+ readonly type: "bool";
650
+ readonly internalType: "bool";
651
+ }, {
652
+ readonly name: "transceiverInstructions";
653
+ readonly type: "bytes";
654
+ readonly internalType: "bytes";
655
+ }, {
656
+ readonly name: "additionalPayload";
657
+ readonly type: "bytes";
658
+ readonly internalType: "bytes";
659
+ }];
660
+ }];
661
+ readonly outputs: readonly [{
662
+ readonly name: "";
663
+ readonly type: "uint64";
664
+ readonly internalType: "uint64";
665
+ }];
666
+ readonly stateMutability: "payable";
667
+ }, {
668
+ readonly type: "function";
669
+ readonly name: "transferOwnership";
670
+ readonly inputs: readonly [{
671
+ readonly name: "newOwner";
672
+ readonly type: "address";
673
+ readonly internalType: "address";
674
+ }];
675
+ readonly outputs: readonly [];
676
+ readonly stateMutability: "nonpayable";
677
+ }, {
678
+ readonly type: "function";
679
+ readonly name: "transferPauserCapability";
680
+ readonly inputs: readonly [{
681
+ readonly name: "newPauser";
682
+ readonly type: "address";
683
+ readonly internalType: "address";
684
+ }];
685
+ readonly outputs: readonly [];
686
+ readonly stateMutability: "nonpayable";
687
+ }, {
688
+ readonly type: "function";
689
+ readonly name: "unpause";
690
+ readonly inputs: readonly [];
691
+ readonly outputs: readonly [];
692
+ readonly stateMutability: "nonpayable";
693
+ }, {
694
+ readonly type: "function";
695
+ readonly name: "upgrade";
696
+ readonly inputs: readonly [{
697
+ readonly name: "newImplementation";
698
+ readonly type: "address";
699
+ readonly internalType: "address";
700
+ }];
701
+ readonly outputs: readonly [];
702
+ readonly stateMutability: "nonpayable";
703
+ }, {
704
+ readonly type: "function";
705
+ readonly name: "wrapAndTransferGasToken";
706
+ readonly inputs: readonly [{
707
+ readonly name: "args";
708
+ readonly type: "tuple";
709
+ readonly internalType: "struct MultiTokenNtt.GasTokenTransferArgs";
710
+ readonly components: readonly [{
711
+ readonly name: "amount";
712
+ readonly type: "uint256";
713
+ readonly internalType: "uint256";
714
+ }, {
715
+ readonly name: "recipientChain";
716
+ readonly type: "uint16";
717
+ readonly internalType: "uint16";
718
+ }, {
719
+ readonly name: "recipient";
720
+ readonly type: "bytes32";
721
+ readonly internalType: "bytes32";
722
+ }, {
723
+ readonly name: "refundAddress";
724
+ readonly type: "bytes32";
725
+ readonly internalType: "bytes32";
726
+ }, {
727
+ readonly name: "shouldQueue";
728
+ readonly type: "bool";
729
+ readonly internalType: "bool";
730
+ }, {
731
+ readonly name: "transceiverInstructions";
732
+ readonly type: "bytes";
733
+ readonly internalType: "bytes";
734
+ }, {
735
+ readonly name: "additionalPayload";
736
+ readonly type: "bytes";
737
+ readonly internalType: "bytes";
738
+ }];
739
+ }];
740
+ readonly outputs: readonly [{
741
+ readonly name: "";
742
+ readonly type: "uint64";
743
+ readonly internalType: "uint64";
744
+ }];
745
+ readonly stateMutability: "payable";
746
+ }, {
747
+ readonly type: "event";
748
+ readonly name: "AdminChanged";
749
+ readonly inputs: readonly [{
750
+ readonly name: "previousAdmin";
751
+ readonly type: "address";
752
+ readonly indexed: false;
753
+ readonly internalType: "address";
754
+ }, {
755
+ readonly name: "newAdmin";
756
+ readonly type: "address";
757
+ readonly indexed: false;
758
+ readonly internalType: "address";
759
+ }];
760
+ readonly anonymous: false;
761
+ }, {
762
+ readonly type: "event";
763
+ readonly name: "BeaconUpgraded";
764
+ readonly inputs: readonly [{
765
+ readonly name: "beacon";
766
+ readonly type: "address";
767
+ readonly indexed: true;
768
+ readonly internalType: "address";
769
+ }];
770
+ readonly anonymous: false;
771
+ }, {
772
+ readonly type: "event";
773
+ readonly name: "InboundTransferLimitUpdated";
774
+ readonly inputs: readonly [{
775
+ readonly name: "chainId";
776
+ readonly type: "uint16";
777
+ readonly indexed: true;
778
+ readonly internalType: "uint16";
779
+ }, {
780
+ readonly name: "oldLimit";
781
+ readonly type: "uint256";
782
+ readonly indexed: false;
783
+ readonly internalType: "uint256";
784
+ }, {
785
+ readonly name: "newLimit";
786
+ readonly type: "uint256";
787
+ readonly indexed: false;
788
+ readonly internalType: "uint256";
789
+ }];
790
+ readonly anonymous: false;
791
+ }, {
792
+ readonly type: "event";
793
+ readonly name: "InboundTransferQueued";
794
+ readonly inputs: readonly [{
795
+ readonly name: "digest";
796
+ readonly type: "bytes32";
797
+ readonly indexed: false;
798
+ readonly internalType: "bytes32";
799
+ }];
800
+ readonly anonymous: false;
801
+ }, {
802
+ readonly type: "event";
803
+ readonly name: "Initialized";
804
+ readonly inputs: readonly [{
805
+ readonly name: "version";
806
+ readonly type: "uint64";
807
+ readonly indexed: false;
808
+ readonly internalType: "uint64";
809
+ }];
810
+ readonly anonymous: false;
811
+ }, {
812
+ readonly type: "event";
813
+ readonly name: "NotPaused";
814
+ readonly inputs: readonly [{
815
+ readonly name: "notPaused";
816
+ readonly type: "bool";
817
+ readonly indexed: false;
818
+ readonly internalType: "bool";
819
+ }];
820
+ readonly anonymous: false;
821
+ }, {
822
+ readonly type: "event";
823
+ readonly name: "OutboundTransferCancelled";
824
+ readonly inputs: readonly [{
825
+ readonly name: "sequence";
826
+ readonly type: "uint256";
827
+ readonly indexed: false;
828
+ readonly internalType: "uint256";
829
+ }, {
830
+ readonly name: "recipient";
831
+ readonly type: "address";
832
+ readonly indexed: false;
833
+ readonly internalType: "address";
834
+ }, {
835
+ readonly name: "amount";
836
+ readonly type: "uint256";
837
+ readonly indexed: false;
838
+ readonly internalType: "uint256";
839
+ }];
840
+ readonly anonymous: false;
841
+ }, {
842
+ readonly type: "event";
843
+ readonly name: "OutboundTransferLimitUpdated";
844
+ readonly inputs: readonly [{
845
+ readonly name: "oldLimit";
846
+ readonly type: "uint256";
847
+ readonly indexed: false;
848
+ readonly internalType: "uint256";
849
+ }, {
850
+ readonly name: "newLimit";
851
+ readonly type: "uint256";
852
+ readonly indexed: false;
853
+ readonly internalType: "uint256";
854
+ }];
855
+ readonly anonymous: false;
856
+ }, {
857
+ readonly type: "event";
858
+ readonly name: "OutboundTransferQueued";
859
+ readonly inputs: readonly [{
860
+ readonly name: "queueSequence";
861
+ readonly type: "uint64";
862
+ readonly indexed: false;
863
+ readonly internalType: "uint64";
864
+ }];
865
+ readonly anonymous: false;
866
+ }, {
867
+ readonly type: "event";
868
+ readonly name: "OutboundTransferRateLimited";
869
+ readonly inputs: readonly [{
870
+ readonly name: "sender";
871
+ readonly type: "address";
872
+ readonly indexed: true;
873
+ readonly internalType: "address";
874
+ }, {
875
+ readonly name: "sequence";
876
+ readonly type: "uint64";
877
+ readonly indexed: false;
878
+ readonly internalType: "uint64";
879
+ }, {
880
+ readonly name: "amount";
881
+ readonly type: "uint256";
882
+ readonly indexed: false;
883
+ readonly internalType: "uint256";
884
+ }, {
885
+ readonly name: "currentCapacity";
886
+ readonly type: "uint256";
887
+ readonly indexed: false;
888
+ readonly internalType: "uint256";
889
+ }];
890
+ readonly anonymous: false;
891
+ }, {
892
+ readonly type: "event";
893
+ readonly name: "OwnershipTransferred";
894
+ readonly inputs: readonly [{
895
+ readonly name: "previousOwner";
896
+ readonly type: "address";
897
+ readonly indexed: true;
898
+ readonly internalType: "address";
899
+ }, {
900
+ readonly name: "newOwner";
901
+ readonly type: "address";
902
+ readonly indexed: true;
903
+ readonly internalType: "address";
904
+ }];
905
+ readonly anonymous: false;
906
+ }, {
907
+ readonly type: "event";
908
+ readonly name: "Paused";
909
+ readonly inputs: readonly [{
910
+ readonly name: "paused";
911
+ readonly type: "bool";
912
+ readonly indexed: false;
913
+ readonly internalType: "bool";
914
+ }];
915
+ readonly anonymous: false;
916
+ }, {
917
+ readonly type: "event";
918
+ readonly name: "PauserTransferred";
919
+ readonly inputs: readonly [{
920
+ readonly name: "oldPauser";
921
+ readonly type: "address";
922
+ readonly indexed: true;
923
+ readonly internalType: "address";
924
+ }, {
925
+ readonly name: "newPauser";
926
+ readonly type: "address";
927
+ readonly indexed: true;
928
+ readonly internalType: "address";
929
+ }];
930
+ readonly anonymous: false;
931
+ }, {
932
+ readonly type: "event";
933
+ readonly name: "PeerUpdated";
934
+ readonly inputs: readonly [{
935
+ readonly name: "chainId";
936
+ readonly type: "uint16";
937
+ readonly indexed: false;
938
+ readonly internalType: "uint16";
939
+ }, {
940
+ readonly name: "oldPeerAddress";
941
+ readonly type: "bytes32";
942
+ readonly indexed: false;
943
+ readonly internalType: "bytes32";
944
+ }, {
945
+ readonly name: "newPeerAddress";
946
+ readonly type: "bytes32";
947
+ readonly indexed: false;
948
+ readonly internalType: "bytes32";
949
+ }];
950
+ readonly anonymous: false;
951
+ }, {
952
+ readonly type: "event";
953
+ readonly name: "TransferRedeemed";
954
+ readonly inputs: readonly [{
955
+ readonly name: "digest";
956
+ readonly type: "bytes32";
957
+ readonly indexed: true;
958
+ readonly internalType: "bytes32";
959
+ }];
960
+ readonly anonymous: false;
961
+ }, {
962
+ readonly type: "event";
963
+ readonly name: "TransferSent";
964
+ readonly inputs: readonly [{
965
+ readonly name: "sequence";
966
+ readonly type: "uint64";
967
+ readonly indexed: false;
968
+ readonly internalType: "uint64";
969
+ }, {
970
+ readonly name: "tokenChain";
971
+ readonly type: "uint16";
972
+ readonly indexed: true;
973
+ readonly internalType: "uint16";
974
+ }, {
975
+ readonly name: "token";
976
+ readonly type: "bytes32";
977
+ readonly indexed: true;
978
+ readonly internalType: "bytes32";
979
+ }, {
980
+ readonly name: "recipient";
981
+ readonly type: "bytes32";
982
+ readonly indexed: false;
983
+ readonly internalType: "bytes32";
984
+ }, {
985
+ readonly name: "refundAddress";
986
+ readonly type: "bytes32";
987
+ readonly indexed: false;
988
+ readonly internalType: "bytes32";
989
+ }, {
990
+ readonly name: "amount";
991
+ readonly type: "uint256";
992
+ readonly indexed: false;
993
+ readonly internalType: "uint256";
994
+ }, {
995
+ readonly name: "toChain";
996
+ readonly type: "uint16";
997
+ readonly indexed: true;
998
+ readonly internalType: "uint16";
999
+ }, {
1000
+ readonly name: "sender";
1001
+ readonly type: "address";
1002
+ readonly indexed: false;
1003
+ readonly internalType: "address";
1004
+ }];
1005
+ readonly anonymous: false;
1006
+ }, {
1007
+ readonly type: "event";
1008
+ readonly name: "Upgraded";
1009
+ readonly inputs: readonly [{
1010
+ readonly name: "implementation";
1011
+ readonly type: "address";
1012
+ readonly indexed: true;
1013
+ readonly internalType: "address";
1014
+ }];
1015
+ readonly anonymous: false;
1016
+ }, {
1017
+ readonly type: "error";
1018
+ readonly name: "BurnAmountDifferentThanBalanceDiff";
1019
+ readonly inputs: readonly [{
1020
+ readonly name: "balanceBefore";
1021
+ readonly type: "uint256";
1022
+ readonly internalType: "uint256";
1023
+ }, {
1024
+ readonly name: "balanceAfter";
1025
+ readonly type: "uint256";
1026
+ readonly internalType: "uint256";
1027
+ }];
1028
+ }, {
1029
+ readonly type: "error";
1030
+ readonly name: "CancellerNotSender";
1031
+ readonly inputs: readonly [{
1032
+ readonly name: "sender";
1033
+ readonly type: "address";
1034
+ readonly internalType: "address";
1035
+ }, {
1036
+ readonly name: "canceller";
1037
+ readonly type: "address";
1038
+ readonly internalType: "address";
1039
+ }];
1040
+ }, {
1041
+ readonly type: "error";
1042
+ readonly name: "CapacityCannotExceedLimit";
1043
+ readonly inputs: readonly [{
1044
+ readonly name: "newCurrentCapacity";
1045
+ readonly type: "uint72";
1046
+ readonly internalType: "TrimmedAmount";
1047
+ }, {
1048
+ readonly name: "newLimit";
1049
+ readonly type: "uint72";
1050
+ readonly internalType: "TrimmedAmount";
1051
+ }];
1052
+ }, {
1053
+ readonly type: "error";
1054
+ readonly name: "FailedToDeployToken";
1055
+ readonly inputs: readonly [];
1056
+ }, {
1057
+ readonly type: "error";
1058
+ readonly name: "InboundQueuedTransferNotFound";
1059
+ readonly inputs: readonly [{
1060
+ readonly name: "digest";
1061
+ readonly type: "bytes32";
1062
+ readonly internalType: "bytes32";
1063
+ }];
1064
+ }, {
1065
+ readonly type: "error";
1066
+ readonly name: "InboundQueuedTransferStillQueued";
1067
+ readonly inputs: readonly [{
1068
+ readonly name: "digest";
1069
+ readonly type: "bytes32";
1070
+ readonly internalType: "bytes32";
1071
+ }, {
1072
+ readonly name: "transferTimestamp";
1073
+ readonly type: "uint256";
1074
+ readonly internalType: "uint256";
1075
+ }];
1076
+ }, {
1077
+ readonly type: "error";
1078
+ readonly name: "IncorrectPrefix";
1079
+ readonly inputs: readonly [{
1080
+ readonly name: "prefix";
1081
+ readonly type: "bytes4";
1082
+ readonly internalType: "bytes4";
1083
+ }];
1084
+ }, {
1085
+ readonly type: "error";
1086
+ readonly name: "InvalidInitialization";
1087
+ readonly inputs: readonly [];
1088
+ }, {
1089
+ readonly type: "error";
1090
+ readonly name: "InvalidPauser";
1091
+ readonly inputs: readonly [{
1092
+ readonly name: "account";
1093
+ readonly type: "address";
1094
+ readonly internalType: "address";
1095
+ }];
1096
+ }, {
1097
+ readonly type: "error";
1098
+ readonly name: "InvalidPeer";
1099
+ readonly inputs: readonly [{
1100
+ readonly name: "chainId";
1101
+ readonly type: "uint16";
1102
+ readonly internalType: "uint16";
1103
+ }, {
1104
+ readonly name: "peerAddress";
1105
+ readonly type: "bytes32";
1106
+ readonly internalType: "bytes32";
1107
+ }];
1108
+ }, {
1109
+ readonly type: "error";
1110
+ readonly name: "InvalidPeerChainIdZero";
1111
+ readonly inputs: readonly [];
1112
+ }, {
1113
+ readonly type: "error";
1114
+ readonly name: "InvalidPeerZeroAddress";
1115
+ readonly inputs: readonly [];
1116
+ }, {
1117
+ readonly type: "error";
1118
+ readonly name: "InvalidRecipient";
1119
+ readonly inputs: readonly [];
1120
+ }, {
1121
+ readonly type: "error";
1122
+ readonly name: "InvalidRefundAddress";
1123
+ readonly inputs: readonly [];
1124
+ }, {
1125
+ readonly type: "error";
1126
+ readonly name: "InvalidSender";
1127
+ readonly inputs: readonly [];
1128
+ }, {
1129
+ readonly type: "error";
1130
+ readonly name: "InvalidTargetChain";
1131
+ readonly inputs: readonly [{
1132
+ readonly name: "targetChain";
1133
+ readonly type: "uint16";
1134
+ readonly internalType: "uint16";
1135
+ }, {
1136
+ readonly name: "chainId";
1137
+ readonly type: "uint16";
1138
+ readonly internalType: "uint16";
1139
+ }];
1140
+ }, {
1141
+ readonly type: "error";
1142
+ readonly name: "LengthMismatch";
1143
+ readonly inputs: readonly [{
1144
+ readonly name: "encodedLength";
1145
+ readonly type: "uint256";
1146
+ readonly internalType: "uint256";
1147
+ }, {
1148
+ readonly name: "expectedLength";
1149
+ readonly type: "uint256";
1150
+ readonly internalType: "uint256";
1151
+ }];
1152
+ }, {
1153
+ readonly type: "error";
1154
+ readonly name: "NotAnEvmAddress";
1155
+ readonly inputs: readonly [{
1156
+ readonly name: "";
1157
+ readonly type: "bytes32";
1158
+ readonly internalType: "bytes32";
1159
+ }];
1160
+ }, {
1161
+ readonly type: "error";
1162
+ readonly name: "NotEnoughCapacity";
1163
+ readonly inputs: readonly [{
1164
+ readonly name: "token";
1165
+ readonly type: "tuple";
1166
+ readonly internalType: "struct TokenId";
1167
+ readonly components: readonly [{
1168
+ readonly name: "chainId";
1169
+ readonly type: "uint16";
1170
+ readonly internalType: "uint16";
1171
+ }, {
1172
+ readonly name: "tokenAddress";
1173
+ readonly type: "bytes32";
1174
+ readonly internalType: "bytes32";
1175
+ }];
1176
+ }, {
1177
+ readonly name: "currentCapacity";
1178
+ readonly type: "uint256";
1179
+ readonly internalType: "uint256";
1180
+ }, {
1181
+ readonly name: "amount";
1182
+ readonly type: "uint256";
1183
+ readonly internalType: "uint256";
1184
+ }];
1185
+ }, {
1186
+ readonly type: "error";
1187
+ readonly name: "NotInitializing";
1188
+ readonly inputs: readonly [];
1189
+ }, {
1190
+ readonly type: "error";
1191
+ readonly name: "NotMigrating";
1192
+ readonly inputs: readonly [];
1193
+ }, {
1194
+ readonly type: "error";
1195
+ readonly name: "NttTokenReceiverCallFailed";
1196
+ readonly inputs: readonly [{
1197
+ readonly name: "recipient";
1198
+ readonly type: "address";
1199
+ readonly internalType: "address";
1200
+ }];
1201
+ }, {
1202
+ readonly type: "error";
1203
+ readonly name: "NumberOfDecimalsNotEqual";
1204
+ readonly inputs: readonly [{
1205
+ readonly name: "decimals";
1206
+ readonly type: "uint8";
1207
+ readonly internalType: "uint8";
1208
+ }, {
1209
+ readonly name: "decimalsOther";
1210
+ readonly type: "uint8";
1211
+ readonly internalType: "uint8";
1212
+ }];
1213
+ }, {
1214
+ readonly type: "error";
1215
+ readonly name: "OnlyDelegateCall";
1216
+ readonly inputs: readonly [];
1217
+ }, {
1218
+ readonly type: "error";
1219
+ readonly name: "OnlyGmpManagerAllowed";
1220
+ readonly inputs: readonly [];
1221
+ }, {
1222
+ readonly type: "error";
1223
+ readonly name: "OutboundQueuedTransferNotFound";
1224
+ readonly inputs: readonly [{
1225
+ readonly name: "queueSequence";
1226
+ readonly type: "uint64";
1227
+ readonly internalType: "uint64";
1228
+ }];
1229
+ }, {
1230
+ readonly type: "error";
1231
+ readonly name: "OutboundQueuedTransferStillQueued";
1232
+ readonly inputs: readonly [{
1233
+ readonly name: "queueSequence";
1234
+ readonly type: "uint64";
1235
+ readonly internalType: "uint64";
1236
+ }, {
1237
+ readonly name: "transferTimestamp";
1238
+ readonly type: "uint256";
1239
+ readonly internalType: "uint256";
1240
+ }];
1241
+ }, {
1242
+ readonly type: "error";
1243
+ readonly name: "OwnableInvalidOwner";
1244
+ readonly inputs: readonly [{
1245
+ readonly name: "owner";
1246
+ readonly type: "address";
1247
+ readonly internalType: "address";
1248
+ }];
1249
+ }, {
1250
+ readonly type: "error";
1251
+ readonly name: "OwnableUnauthorizedAccount";
1252
+ readonly inputs: readonly [{
1253
+ readonly name: "account";
1254
+ readonly type: "address";
1255
+ readonly internalType: "address";
1256
+ }];
1257
+ }, {
1258
+ readonly type: "error";
1259
+ readonly name: "PayloadTooLong";
1260
+ readonly inputs: readonly [{
1261
+ readonly name: "length";
1262
+ readonly type: "uint256";
1263
+ readonly internalType: "uint256";
1264
+ }];
1265
+ }, {
1266
+ readonly type: "error";
1267
+ readonly name: "PayloadTooLong";
1268
+ readonly inputs: readonly [{
1269
+ readonly name: "length";
1270
+ readonly type: "uint256";
1271
+ readonly internalType: "uint256";
1272
+ }];
1273
+ }, {
1274
+ readonly type: "error";
1275
+ readonly name: "QueuedTransferWithPayload";
1276
+ readonly inputs: readonly [];
1277
+ }, {
1278
+ readonly type: "error";
1279
+ readonly name: "ReentrancyGuardReentrantCall";
1280
+ readonly inputs: readonly [];
1281
+ }, {
1282
+ readonly type: "error";
1283
+ readonly name: "RefundFailed";
1284
+ readonly inputs: readonly [{
1285
+ readonly name: "refundAmount";
1286
+ readonly type: "uint256";
1287
+ readonly internalType: "uint256";
1288
+ }];
1289
+ }, {
1290
+ readonly type: "error";
1291
+ readonly name: "RequireContractIsNotPaused";
1292
+ readonly inputs: readonly [];
1293
+ }, {
1294
+ readonly type: "error";
1295
+ readonly name: "RequireContractIsPaused";
1296
+ readonly inputs: readonly [];
1297
+ }, {
1298
+ readonly type: "error";
1299
+ readonly name: "StaticcallFailed";
1300
+ readonly inputs: readonly [];
1301
+ }, {
1302
+ readonly type: "error";
1303
+ readonly name: "TransferAmountHasDust";
1304
+ readonly inputs: readonly [{
1305
+ readonly name: "amount";
1306
+ readonly type: "uint256";
1307
+ readonly internalType: "uint256";
1308
+ }, {
1309
+ readonly name: "dust";
1310
+ readonly type: "uint256";
1311
+ readonly internalType: "uint256";
1312
+ }];
1313
+ }, {
1314
+ readonly type: "error";
1315
+ readonly name: "TransferFailed";
1316
+ readonly inputs: readonly [];
1317
+ }, {
1318
+ readonly type: "error";
1319
+ readonly name: "UndefinedRateLimiting";
1320
+ readonly inputs: readonly [];
1321
+ }, {
1322
+ readonly type: "error";
1323
+ readonly name: "UnexpectedDeployer";
1324
+ readonly inputs: readonly [{
1325
+ readonly name: "expectedOwner";
1326
+ readonly type: "address";
1327
+ readonly internalType: "address";
1328
+ }, {
1329
+ readonly name: "owner";
1330
+ readonly type: "address";
1331
+ readonly internalType: "address";
1332
+ }];
1333
+ }, {
1334
+ readonly type: "error";
1335
+ readonly name: "UnexpectedMsgValue";
1336
+ readonly inputs: readonly [];
1337
+ }, {
1338
+ readonly type: "error";
1339
+ readonly name: "ZeroAmount";
1340
+ readonly inputs: readonly [];
1341
+ }];
1342
+ static createInterface(): MultiTokenNttInterface;
1343
+ static connect(address: string, runner?: ContractRunner | null): MultiTokenNtt;
1344
+ }
1345
+ export interface MultiTokenNttLibraryAddresses {
1346
+ ["src/libraries/TokenDeployment.sol:TokenDeployment"]: string;
1347
+ ["src/libraries/TokenInfo.sol:TokenInfoLib"]: string;
1348
+ }
1349
+ export {};
1350
+ //# sourceMappingURL=MultiTokenNtt__factory.d.ts.map