@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,1777 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiTokenNtt__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ type: "constructor",
11
+ inputs: [
12
+ {
13
+ name: "_gmpManager",
14
+ type: "address",
15
+ internalType: "contract IGmpManager",
16
+ },
17
+ {
18
+ name: "_rateLimitDuration",
19
+ type: "uint64",
20
+ internalType: "uint64",
21
+ },
22
+ {
23
+ name: "_skipRateLimiting",
24
+ type: "bool",
25
+ internalType: "bool",
26
+ },
27
+ {
28
+ name: "_tokenImplementation",
29
+ type: "address",
30
+ internalType: "address",
31
+ },
32
+ {
33
+ name: "_weth",
34
+ type: "address",
35
+ internalType: "address",
36
+ },
37
+ ],
38
+ stateMutability: "nonpayable",
39
+ },
40
+ {
41
+ type: "receive",
42
+ stateMutability: "payable",
43
+ },
44
+ {
45
+ type: "function",
46
+ name: "NTT_MANAGER_VERSION",
47
+ inputs: [],
48
+ outputs: [
49
+ {
50
+ name: "",
51
+ type: "string",
52
+ internalType: "string",
53
+ },
54
+ ],
55
+ stateMutability: "view",
56
+ },
57
+ {
58
+ type: "function",
59
+ name: "WETH",
60
+ inputs: [],
61
+ outputs: [
62
+ {
63
+ name: "",
64
+ type: "address",
65
+ internalType: "contract IWETH",
66
+ },
67
+ ],
68
+ stateMutability: "view",
69
+ },
70
+ {
71
+ type: "function",
72
+ name: "cancelOutboundQueuedTransfer",
73
+ inputs: [
74
+ {
75
+ name: "messageSequence",
76
+ type: "uint64",
77
+ internalType: "uint64",
78
+ },
79
+ ],
80
+ outputs: [],
81
+ stateMutability: "nonpayable",
82
+ },
83
+ {
84
+ type: "function",
85
+ name: "completeInboundQueuedTransfer",
86
+ inputs: [
87
+ {
88
+ name: "nativeTokenTransfer",
89
+ type: "tuple",
90
+ internalType: "struct NativeTokenTransferCodec.NativeTokenTransfer",
91
+ components: [
92
+ {
93
+ name: "amount",
94
+ type: "uint72",
95
+ internalType: "TrimmedAmount",
96
+ },
97
+ {
98
+ name: "token",
99
+ type: "tuple",
100
+ internalType: "struct TokenInfo",
101
+ components: [
102
+ {
103
+ name: "meta",
104
+ type: "tuple",
105
+ internalType: "struct TokenMeta",
106
+ components: [
107
+ {
108
+ name: "name",
109
+ type: "bytes32",
110
+ internalType: "bytes32",
111
+ },
112
+ {
113
+ name: "symbol",
114
+ type: "bytes32",
115
+ internalType: "bytes32",
116
+ },
117
+ {
118
+ name: "decimals",
119
+ type: "uint8",
120
+ internalType: "uint8",
121
+ },
122
+ ],
123
+ },
124
+ {
125
+ name: "token",
126
+ type: "tuple",
127
+ internalType: "struct TokenId",
128
+ components: [
129
+ {
130
+ name: "chainId",
131
+ type: "uint16",
132
+ internalType: "uint16",
133
+ },
134
+ {
135
+ name: "tokenAddress",
136
+ type: "bytes32",
137
+ internalType: "bytes32",
138
+ },
139
+ ],
140
+ },
141
+ ],
142
+ },
143
+ {
144
+ name: "sender",
145
+ type: "bytes32",
146
+ internalType: "bytes32",
147
+ },
148
+ {
149
+ name: "to",
150
+ type: "bytes32",
151
+ internalType: "bytes32",
152
+ },
153
+ {
154
+ name: "additionalPayload",
155
+ type: "bytes",
156
+ internalType: "bytes",
157
+ },
158
+ ],
159
+ },
160
+ ],
161
+ outputs: [],
162
+ stateMutability: "nonpayable",
163
+ },
164
+ {
165
+ type: "function",
166
+ name: "completeOutboundQueuedTransfer",
167
+ inputs: [
168
+ {
169
+ name: "messageSequence",
170
+ type: "uint64",
171
+ internalType: "uint64",
172
+ },
173
+ ],
174
+ outputs: [
175
+ {
176
+ name: "",
177
+ type: "uint64",
178
+ internalType: "uint64",
179
+ },
180
+ ],
181
+ stateMutability: "payable",
182
+ },
183
+ {
184
+ type: "function",
185
+ name: "getCurrentInboundCapacity",
186
+ inputs: [
187
+ {
188
+ name: "tokenId",
189
+ type: "tuple",
190
+ internalType: "struct TokenId",
191
+ components: [
192
+ {
193
+ name: "chainId",
194
+ type: "uint16",
195
+ internalType: "uint16",
196
+ },
197
+ {
198
+ name: "tokenAddress",
199
+ type: "bytes32",
200
+ internalType: "bytes32",
201
+ },
202
+ ],
203
+ },
204
+ {
205
+ name: "chainId_",
206
+ type: "uint16",
207
+ internalType: "uint16",
208
+ },
209
+ ],
210
+ outputs: [
211
+ {
212
+ name: "",
213
+ type: "uint256",
214
+ internalType: "uint256",
215
+ },
216
+ ],
217
+ stateMutability: "view",
218
+ },
219
+ {
220
+ type: "function",
221
+ name: "getCurrentOutboundCapacity",
222
+ inputs: [
223
+ {
224
+ name: "tokenId",
225
+ type: "tuple",
226
+ internalType: "struct TokenId",
227
+ components: [
228
+ {
229
+ name: "chainId",
230
+ type: "uint16",
231
+ internalType: "uint16",
232
+ },
233
+ {
234
+ name: "tokenAddress",
235
+ type: "bytes32",
236
+ internalType: "bytes32",
237
+ },
238
+ ],
239
+ },
240
+ ],
241
+ outputs: [
242
+ {
243
+ name: "",
244
+ type: "uint256",
245
+ internalType: "uint256",
246
+ },
247
+ ],
248
+ stateMutability: "view",
249
+ },
250
+ {
251
+ type: "function",
252
+ name: "getInboundLimitParams",
253
+ inputs: [
254
+ {
255
+ name: "tokenId",
256
+ type: "tuple",
257
+ internalType: "struct TokenId",
258
+ components: [
259
+ {
260
+ name: "chainId",
261
+ type: "uint16",
262
+ internalType: "uint16",
263
+ },
264
+ {
265
+ name: "tokenAddress",
266
+ type: "bytes32",
267
+ internalType: "bytes32",
268
+ },
269
+ ],
270
+ },
271
+ {
272
+ name: "chainId_",
273
+ type: "uint16",
274
+ internalType: "uint16",
275
+ },
276
+ ],
277
+ outputs: [
278
+ {
279
+ name: "",
280
+ type: "tuple",
281
+ internalType: "struct RateLimitLib.RateLimitParams",
282
+ components: [
283
+ {
284
+ name: "limit",
285
+ type: "uint72",
286
+ internalType: "TrimmedAmount",
287
+ },
288
+ {
289
+ name: "currentCapacity",
290
+ type: "uint72",
291
+ internalType: "TrimmedAmount",
292
+ },
293
+ {
294
+ name: "lastTxTimestamp",
295
+ type: "uint64",
296
+ internalType: "uint64",
297
+ },
298
+ ],
299
+ },
300
+ ],
301
+ stateMutability: "view",
302
+ },
303
+ {
304
+ type: "function",
305
+ name: "getInboundQueuedTransfer",
306
+ inputs: [
307
+ {
308
+ name: "digest",
309
+ type: "bytes32",
310
+ internalType: "bytes32",
311
+ },
312
+ ],
313
+ outputs: [
314
+ {
315
+ name: "",
316
+ type: "tuple",
317
+ internalType: "struct IMultiTokenRateLimiter.InboundQueuedTransfer",
318
+ components: [
319
+ {
320
+ name: "txTimestamp",
321
+ type: "uint64",
322
+ internalType: "uint64",
323
+ },
324
+ {
325
+ name: "sourceChainId",
326
+ type: "uint16",
327
+ internalType: "uint16",
328
+ },
329
+ ],
330
+ },
331
+ ],
332
+ stateMutability: "view",
333
+ },
334
+ {
335
+ type: "function",
336
+ name: "getMigratesImmutables",
337
+ inputs: [],
338
+ outputs: [
339
+ {
340
+ name: "",
341
+ type: "bool",
342
+ internalType: "bool",
343
+ },
344
+ ],
345
+ stateMutability: "view",
346
+ },
347
+ {
348
+ type: "function",
349
+ name: "getOutboundLimitParams",
350
+ inputs: [
351
+ {
352
+ name: "tokenId",
353
+ type: "tuple",
354
+ internalType: "struct TokenId",
355
+ components: [
356
+ {
357
+ name: "chainId",
358
+ type: "uint16",
359
+ internalType: "uint16",
360
+ },
361
+ {
362
+ name: "tokenAddress",
363
+ type: "bytes32",
364
+ internalType: "bytes32",
365
+ },
366
+ ],
367
+ },
368
+ ],
369
+ outputs: [
370
+ {
371
+ name: "",
372
+ type: "tuple",
373
+ internalType: "struct RateLimitLib.RateLimitParams",
374
+ components: [
375
+ {
376
+ name: "limit",
377
+ type: "uint72",
378
+ internalType: "TrimmedAmount",
379
+ },
380
+ {
381
+ name: "currentCapacity",
382
+ type: "uint72",
383
+ internalType: "TrimmedAmount",
384
+ },
385
+ {
386
+ name: "lastTxTimestamp",
387
+ type: "uint64",
388
+ internalType: "uint64",
389
+ },
390
+ ],
391
+ },
392
+ ],
393
+ stateMutability: "pure",
394
+ },
395
+ {
396
+ type: "function",
397
+ name: "getOutboundQueuedTransfer",
398
+ inputs: [
399
+ {
400
+ name: "queueSequence",
401
+ type: "uint64",
402
+ internalType: "uint64",
403
+ },
404
+ ],
405
+ outputs: [
406
+ {
407
+ name: "",
408
+ type: "tuple",
409
+ internalType: "struct IMultiTokenRateLimiter.OutboundQueuedTransfer",
410
+ components: [
411
+ {
412
+ name: "recipient",
413
+ type: "bytes32",
414
+ internalType: "bytes32",
415
+ },
416
+ {
417
+ name: "refundAddress",
418
+ type: "bytes32",
419
+ internalType: "bytes32",
420
+ },
421
+ {
422
+ name: "sender",
423
+ type: "address",
424
+ internalType: "address",
425
+ },
426
+ {
427
+ name: "amount",
428
+ type: "uint72",
429
+ internalType: "TrimmedAmount",
430
+ },
431
+ {
432
+ name: "recipientChain",
433
+ type: "uint16",
434
+ internalType: "uint16",
435
+ },
436
+ {
437
+ name: "txTimestamp",
438
+ type: "uint64",
439
+ internalType: "uint64",
440
+ },
441
+ {
442
+ name: "token",
443
+ type: "address",
444
+ internalType: "address",
445
+ },
446
+ {
447
+ name: "transceiverInstructions",
448
+ type: "bytes",
449
+ internalType: "bytes",
450
+ },
451
+ ],
452
+ },
453
+ ],
454
+ stateMutability: "view",
455
+ },
456
+ {
457
+ type: "function",
458
+ name: "getPeer",
459
+ inputs: [
460
+ {
461
+ name: "chainId_",
462
+ type: "uint16",
463
+ internalType: "uint16",
464
+ },
465
+ ],
466
+ outputs: [
467
+ {
468
+ name: "",
469
+ type: "tuple",
470
+ internalType: "struct Peers.Peer",
471
+ components: [
472
+ {
473
+ name: "peerAddress",
474
+ type: "bytes32",
475
+ internalType: "bytes32",
476
+ },
477
+ ],
478
+ },
479
+ ],
480
+ stateMutability: "view",
481
+ },
482
+ {
483
+ type: "function",
484
+ name: "getToken",
485
+ inputs: [
486
+ {
487
+ name: "tokenId",
488
+ type: "tuple",
489
+ internalType: "struct TokenId",
490
+ components: [
491
+ {
492
+ name: "chainId",
493
+ type: "uint16",
494
+ internalType: "uint16",
495
+ },
496
+ {
497
+ name: "tokenAddress",
498
+ type: "bytes32",
499
+ internalType: "bytes32",
500
+ },
501
+ ],
502
+ },
503
+ ],
504
+ outputs: [
505
+ {
506
+ name: "",
507
+ type: "address",
508
+ internalType: "address",
509
+ },
510
+ ],
511
+ stateMutability: "view",
512
+ },
513
+ {
514
+ type: "function",
515
+ name: "getTokenId",
516
+ inputs: [
517
+ {
518
+ name: "token",
519
+ type: "address",
520
+ internalType: "address",
521
+ },
522
+ ],
523
+ outputs: [
524
+ {
525
+ name: "",
526
+ type: "tuple",
527
+ internalType: "struct TokenId",
528
+ components: [
529
+ {
530
+ name: "chainId",
531
+ type: "uint16",
532
+ internalType: "uint16",
533
+ },
534
+ {
535
+ name: "tokenAddress",
536
+ type: "bytes32",
537
+ internalType: "bytes32",
538
+ },
539
+ ],
540
+ },
541
+ {
542
+ name: "",
543
+ type: "uint8",
544
+ internalType: "enum MultiTokenNtt.Mode",
545
+ },
546
+ ],
547
+ stateMutability: "view",
548
+ },
549
+ {
550
+ type: "function",
551
+ name: "gmpManager",
552
+ inputs: [],
553
+ outputs: [
554
+ {
555
+ name: "",
556
+ type: "address",
557
+ internalType: "contract IGmpManager",
558
+ },
559
+ ],
560
+ stateMutability: "view",
561
+ },
562
+ {
563
+ type: "function",
564
+ name: "initialize",
565
+ inputs: [],
566
+ outputs: [],
567
+ stateMutability: "payable",
568
+ },
569
+ {
570
+ type: "function",
571
+ name: "isPaused",
572
+ inputs: [],
573
+ outputs: [
574
+ {
575
+ name: "",
576
+ type: "bool",
577
+ internalType: "bool",
578
+ },
579
+ ],
580
+ stateMutability: "view",
581
+ },
582
+ {
583
+ type: "function",
584
+ name: "migrate",
585
+ inputs: [],
586
+ outputs: [],
587
+ stateMutability: "nonpayable",
588
+ },
589
+ {
590
+ type: "function",
591
+ name: "overrideLocalAsset",
592
+ inputs: [
593
+ {
594
+ name: "token",
595
+ type: "tuple",
596
+ internalType: "struct TokenId",
597
+ components: [
598
+ {
599
+ name: "chainId",
600
+ type: "uint16",
601
+ internalType: "uint16",
602
+ },
603
+ {
604
+ name: "tokenAddress",
605
+ type: "bytes32",
606
+ internalType: "bytes32",
607
+ },
608
+ ],
609
+ },
610
+ {
611
+ name: "localToken",
612
+ type: "address",
613
+ internalType: "address",
614
+ },
615
+ ],
616
+ outputs: [],
617
+ stateMutability: "nonpayable",
618
+ },
619
+ {
620
+ type: "function",
621
+ name: "owner",
622
+ inputs: [],
623
+ outputs: [
624
+ {
625
+ name: "",
626
+ type: "address",
627
+ internalType: "address",
628
+ },
629
+ ],
630
+ stateMutability: "view",
631
+ },
632
+ {
633
+ type: "function",
634
+ name: "pause",
635
+ inputs: [],
636
+ outputs: [],
637
+ stateMutability: "nonpayable",
638
+ },
639
+ {
640
+ type: "function",
641
+ name: "pauser",
642
+ inputs: [],
643
+ outputs: [
644
+ {
645
+ name: "",
646
+ type: "address",
647
+ internalType: "address",
648
+ },
649
+ ],
650
+ stateMutability: "view",
651
+ },
652
+ {
653
+ type: "function",
654
+ name: "rateLimitDuration",
655
+ inputs: [],
656
+ outputs: [
657
+ {
658
+ name: "",
659
+ type: "uint64",
660
+ internalType: "uint64",
661
+ },
662
+ ],
663
+ stateMutability: "view",
664
+ },
665
+ {
666
+ type: "function",
667
+ name: "receiveMessage",
668
+ inputs: [
669
+ {
670
+ name: "sourceChainId",
671
+ type: "uint16",
672
+ internalType: "uint16",
673
+ },
674
+ {
675
+ name: "sender",
676
+ type: "bytes32",
677
+ internalType: "bytes32",
678
+ },
679
+ {
680
+ name: "data",
681
+ type: "bytes",
682
+ internalType: "bytes",
683
+ },
684
+ ],
685
+ outputs: [],
686
+ stateMutability: "nonpayable",
687
+ },
688
+ {
689
+ type: "function",
690
+ name: "setInboundLimit",
691
+ inputs: [
692
+ {
693
+ name: "token",
694
+ type: "tuple",
695
+ internalType: "struct TokenId",
696
+ components: [
697
+ {
698
+ name: "chainId",
699
+ type: "uint16",
700
+ internalType: "uint16",
701
+ },
702
+ {
703
+ name: "tokenAddress",
704
+ type: "bytes32",
705
+ internalType: "bytes32",
706
+ },
707
+ ],
708
+ },
709
+ {
710
+ name: "limit",
711
+ type: "uint256",
712
+ internalType: "uint256",
713
+ },
714
+ {
715
+ name: "chainId_",
716
+ type: "uint16",
717
+ internalType: "uint16",
718
+ },
719
+ ],
720
+ outputs: [],
721
+ stateMutability: "nonpayable",
722
+ },
723
+ {
724
+ type: "function",
725
+ name: "setOutboundLimit",
726
+ inputs: [
727
+ {
728
+ name: "token",
729
+ type: "tuple",
730
+ internalType: "struct TokenId",
731
+ components: [
732
+ {
733
+ name: "chainId",
734
+ type: "uint16",
735
+ internalType: "uint16",
736
+ },
737
+ {
738
+ name: "tokenAddress",
739
+ type: "bytes32",
740
+ internalType: "bytes32",
741
+ },
742
+ ],
743
+ },
744
+ {
745
+ name: "limit",
746
+ type: "uint256",
747
+ internalType: "uint256",
748
+ },
749
+ ],
750
+ outputs: [],
751
+ stateMutability: "nonpayable",
752
+ },
753
+ {
754
+ type: "function",
755
+ name: "setPeer",
756
+ inputs: [
757
+ {
758
+ name: "_chainId",
759
+ type: "uint16",
760
+ internalType: "uint16",
761
+ },
762
+ {
763
+ name: "peerAddress",
764
+ type: "bytes32",
765
+ internalType: "bytes32",
766
+ },
767
+ ],
768
+ outputs: [],
769
+ stateMutability: "nonpayable",
770
+ },
771
+ {
772
+ type: "function",
773
+ name: "tokenImplementation",
774
+ inputs: [],
775
+ outputs: [
776
+ {
777
+ name: "",
778
+ type: "address",
779
+ internalType: "address",
780
+ },
781
+ ],
782
+ stateMutability: "view",
783
+ },
784
+ {
785
+ type: "function",
786
+ name: "tokenProxyCreationCode",
787
+ inputs: [],
788
+ outputs: [
789
+ {
790
+ name: "",
791
+ type: "bytes",
792
+ internalType: "bytes",
793
+ },
794
+ ],
795
+ stateMutability: "pure",
796
+ },
797
+ {
798
+ type: "function",
799
+ name: "transfer",
800
+ inputs: [
801
+ {
802
+ name: "args",
803
+ type: "tuple",
804
+ internalType: "struct MultiTokenNtt.TransferArgs",
805
+ components: [
806
+ {
807
+ name: "token",
808
+ type: "address",
809
+ internalType: "address",
810
+ },
811
+ {
812
+ name: "amount",
813
+ type: "uint256",
814
+ internalType: "uint256",
815
+ },
816
+ {
817
+ name: "recipientChain",
818
+ type: "uint16",
819
+ internalType: "uint16",
820
+ },
821
+ {
822
+ name: "recipient",
823
+ type: "bytes32",
824
+ internalType: "bytes32",
825
+ },
826
+ {
827
+ name: "refundAddress",
828
+ type: "bytes32",
829
+ internalType: "bytes32",
830
+ },
831
+ {
832
+ name: "shouldQueue",
833
+ type: "bool",
834
+ internalType: "bool",
835
+ },
836
+ {
837
+ name: "transceiverInstructions",
838
+ type: "bytes",
839
+ internalType: "bytes",
840
+ },
841
+ {
842
+ name: "additionalPayload",
843
+ type: "bytes",
844
+ internalType: "bytes",
845
+ },
846
+ ],
847
+ },
848
+ ],
849
+ outputs: [
850
+ {
851
+ name: "",
852
+ type: "uint64",
853
+ internalType: "uint64",
854
+ },
855
+ ],
856
+ stateMutability: "payable",
857
+ },
858
+ {
859
+ type: "function",
860
+ name: "transferOwnership",
861
+ inputs: [
862
+ {
863
+ name: "newOwner",
864
+ type: "address",
865
+ internalType: "address",
866
+ },
867
+ ],
868
+ outputs: [],
869
+ stateMutability: "nonpayable",
870
+ },
871
+ {
872
+ type: "function",
873
+ name: "transferPauserCapability",
874
+ inputs: [
875
+ {
876
+ name: "newPauser",
877
+ type: "address",
878
+ internalType: "address",
879
+ },
880
+ ],
881
+ outputs: [],
882
+ stateMutability: "nonpayable",
883
+ },
884
+ {
885
+ type: "function",
886
+ name: "unpause",
887
+ inputs: [],
888
+ outputs: [],
889
+ stateMutability: "nonpayable",
890
+ },
891
+ {
892
+ type: "function",
893
+ name: "upgrade",
894
+ inputs: [
895
+ {
896
+ name: "newImplementation",
897
+ type: "address",
898
+ internalType: "address",
899
+ },
900
+ ],
901
+ outputs: [],
902
+ stateMutability: "nonpayable",
903
+ },
904
+ {
905
+ type: "function",
906
+ name: "wrapAndTransferGasToken",
907
+ inputs: [
908
+ {
909
+ name: "args",
910
+ type: "tuple",
911
+ internalType: "struct MultiTokenNtt.GasTokenTransferArgs",
912
+ components: [
913
+ {
914
+ name: "amount",
915
+ type: "uint256",
916
+ internalType: "uint256",
917
+ },
918
+ {
919
+ name: "recipientChain",
920
+ type: "uint16",
921
+ internalType: "uint16",
922
+ },
923
+ {
924
+ name: "recipient",
925
+ type: "bytes32",
926
+ internalType: "bytes32",
927
+ },
928
+ {
929
+ name: "refundAddress",
930
+ type: "bytes32",
931
+ internalType: "bytes32",
932
+ },
933
+ {
934
+ name: "shouldQueue",
935
+ type: "bool",
936
+ internalType: "bool",
937
+ },
938
+ {
939
+ name: "transceiverInstructions",
940
+ type: "bytes",
941
+ internalType: "bytes",
942
+ },
943
+ {
944
+ name: "additionalPayload",
945
+ type: "bytes",
946
+ internalType: "bytes",
947
+ },
948
+ ],
949
+ },
950
+ ],
951
+ outputs: [
952
+ {
953
+ name: "",
954
+ type: "uint64",
955
+ internalType: "uint64",
956
+ },
957
+ ],
958
+ stateMutability: "payable",
959
+ },
960
+ {
961
+ type: "event",
962
+ name: "AdminChanged",
963
+ inputs: [
964
+ {
965
+ name: "previousAdmin",
966
+ type: "address",
967
+ indexed: false,
968
+ internalType: "address",
969
+ },
970
+ {
971
+ name: "newAdmin",
972
+ type: "address",
973
+ indexed: false,
974
+ internalType: "address",
975
+ },
976
+ ],
977
+ anonymous: false,
978
+ },
979
+ {
980
+ type: "event",
981
+ name: "BeaconUpgraded",
982
+ inputs: [
983
+ {
984
+ name: "beacon",
985
+ type: "address",
986
+ indexed: true,
987
+ internalType: "address",
988
+ },
989
+ ],
990
+ anonymous: false,
991
+ },
992
+ {
993
+ type: "event",
994
+ name: "InboundTransferLimitUpdated",
995
+ inputs: [
996
+ {
997
+ name: "chainId",
998
+ type: "uint16",
999
+ indexed: true,
1000
+ internalType: "uint16",
1001
+ },
1002
+ {
1003
+ name: "oldLimit",
1004
+ type: "uint256",
1005
+ indexed: false,
1006
+ internalType: "uint256",
1007
+ },
1008
+ {
1009
+ name: "newLimit",
1010
+ type: "uint256",
1011
+ indexed: false,
1012
+ internalType: "uint256",
1013
+ },
1014
+ ],
1015
+ anonymous: false,
1016
+ },
1017
+ {
1018
+ type: "event",
1019
+ name: "InboundTransferQueued",
1020
+ inputs: [
1021
+ {
1022
+ name: "digest",
1023
+ type: "bytes32",
1024
+ indexed: false,
1025
+ internalType: "bytes32",
1026
+ },
1027
+ ],
1028
+ anonymous: false,
1029
+ },
1030
+ {
1031
+ type: "event",
1032
+ name: "Initialized",
1033
+ inputs: [
1034
+ {
1035
+ name: "version",
1036
+ type: "uint64",
1037
+ indexed: false,
1038
+ internalType: "uint64",
1039
+ },
1040
+ ],
1041
+ anonymous: false,
1042
+ },
1043
+ {
1044
+ type: "event",
1045
+ name: "NotPaused",
1046
+ inputs: [
1047
+ {
1048
+ name: "notPaused",
1049
+ type: "bool",
1050
+ indexed: false,
1051
+ internalType: "bool",
1052
+ },
1053
+ ],
1054
+ anonymous: false,
1055
+ },
1056
+ {
1057
+ type: "event",
1058
+ name: "OutboundTransferCancelled",
1059
+ inputs: [
1060
+ {
1061
+ name: "sequence",
1062
+ type: "uint256",
1063
+ indexed: false,
1064
+ internalType: "uint256",
1065
+ },
1066
+ {
1067
+ name: "recipient",
1068
+ type: "address",
1069
+ indexed: false,
1070
+ internalType: "address",
1071
+ },
1072
+ {
1073
+ name: "amount",
1074
+ type: "uint256",
1075
+ indexed: false,
1076
+ internalType: "uint256",
1077
+ },
1078
+ ],
1079
+ anonymous: false,
1080
+ },
1081
+ {
1082
+ type: "event",
1083
+ name: "OutboundTransferLimitUpdated",
1084
+ inputs: [
1085
+ {
1086
+ name: "oldLimit",
1087
+ type: "uint256",
1088
+ indexed: false,
1089
+ internalType: "uint256",
1090
+ },
1091
+ {
1092
+ name: "newLimit",
1093
+ type: "uint256",
1094
+ indexed: false,
1095
+ internalType: "uint256",
1096
+ },
1097
+ ],
1098
+ anonymous: false,
1099
+ },
1100
+ {
1101
+ type: "event",
1102
+ name: "OutboundTransferQueued",
1103
+ inputs: [
1104
+ {
1105
+ name: "queueSequence",
1106
+ type: "uint64",
1107
+ indexed: false,
1108
+ internalType: "uint64",
1109
+ },
1110
+ ],
1111
+ anonymous: false,
1112
+ },
1113
+ {
1114
+ type: "event",
1115
+ name: "OutboundTransferRateLimited",
1116
+ inputs: [
1117
+ {
1118
+ name: "sender",
1119
+ type: "address",
1120
+ indexed: true,
1121
+ internalType: "address",
1122
+ },
1123
+ {
1124
+ name: "sequence",
1125
+ type: "uint64",
1126
+ indexed: false,
1127
+ internalType: "uint64",
1128
+ },
1129
+ {
1130
+ name: "amount",
1131
+ type: "uint256",
1132
+ indexed: false,
1133
+ internalType: "uint256",
1134
+ },
1135
+ {
1136
+ name: "currentCapacity",
1137
+ type: "uint256",
1138
+ indexed: false,
1139
+ internalType: "uint256",
1140
+ },
1141
+ ],
1142
+ anonymous: false,
1143
+ },
1144
+ {
1145
+ type: "event",
1146
+ name: "OwnershipTransferred",
1147
+ inputs: [
1148
+ {
1149
+ name: "previousOwner",
1150
+ type: "address",
1151
+ indexed: true,
1152
+ internalType: "address",
1153
+ },
1154
+ {
1155
+ name: "newOwner",
1156
+ type: "address",
1157
+ indexed: true,
1158
+ internalType: "address",
1159
+ },
1160
+ ],
1161
+ anonymous: false,
1162
+ },
1163
+ {
1164
+ type: "event",
1165
+ name: "Paused",
1166
+ inputs: [
1167
+ {
1168
+ name: "paused",
1169
+ type: "bool",
1170
+ indexed: false,
1171
+ internalType: "bool",
1172
+ },
1173
+ ],
1174
+ anonymous: false,
1175
+ },
1176
+ {
1177
+ type: "event",
1178
+ name: "PauserTransferred",
1179
+ inputs: [
1180
+ {
1181
+ name: "oldPauser",
1182
+ type: "address",
1183
+ indexed: true,
1184
+ internalType: "address",
1185
+ },
1186
+ {
1187
+ name: "newPauser",
1188
+ type: "address",
1189
+ indexed: true,
1190
+ internalType: "address",
1191
+ },
1192
+ ],
1193
+ anonymous: false,
1194
+ },
1195
+ {
1196
+ type: "event",
1197
+ name: "PeerUpdated",
1198
+ inputs: [
1199
+ {
1200
+ name: "chainId",
1201
+ type: "uint16",
1202
+ indexed: false,
1203
+ internalType: "uint16",
1204
+ },
1205
+ {
1206
+ name: "oldPeerAddress",
1207
+ type: "bytes32",
1208
+ indexed: false,
1209
+ internalType: "bytes32",
1210
+ },
1211
+ {
1212
+ name: "newPeerAddress",
1213
+ type: "bytes32",
1214
+ indexed: false,
1215
+ internalType: "bytes32",
1216
+ },
1217
+ ],
1218
+ anonymous: false,
1219
+ },
1220
+ {
1221
+ type: "event",
1222
+ name: "TransferRedeemed",
1223
+ inputs: [
1224
+ {
1225
+ name: "digest",
1226
+ type: "bytes32",
1227
+ indexed: true,
1228
+ internalType: "bytes32",
1229
+ },
1230
+ ],
1231
+ anonymous: false,
1232
+ },
1233
+ {
1234
+ type: "event",
1235
+ name: "TransferSent",
1236
+ inputs: [
1237
+ {
1238
+ name: "sequence",
1239
+ type: "uint64",
1240
+ indexed: false,
1241
+ internalType: "uint64",
1242
+ },
1243
+ {
1244
+ name: "tokenChain",
1245
+ type: "uint16",
1246
+ indexed: true,
1247
+ internalType: "uint16",
1248
+ },
1249
+ {
1250
+ name: "token",
1251
+ type: "bytes32",
1252
+ indexed: true,
1253
+ internalType: "bytes32",
1254
+ },
1255
+ {
1256
+ name: "recipient",
1257
+ type: "bytes32",
1258
+ indexed: false,
1259
+ internalType: "bytes32",
1260
+ },
1261
+ {
1262
+ name: "refundAddress",
1263
+ type: "bytes32",
1264
+ indexed: false,
1265
+ internalType: "bytes32",
1266
+ },
1267
+ {
1268
+ name: "amount",
1269
+ type: "uint256",
1270
+ indexed: false,
1271
+ internalType: "uint256",
1272
+ },
1273
+ {
1274
+ name: "toChain",
1275
+ type: "uint16",
1276
+ indexed: true,
1277
+ internalType: "uint16",
1278
+ },
1279
+ {
1280
+ name: "sender",
1281
+ type: "address",
1282
+ indexed: false,
1283
+ internalType: "address",
1284
+ },
1285
+ ],
1286
+ anonymous: false,
1287
+ },
1288
+ {
1289
+ type: "event",
1290
+ name: "Upgraded",
1291
+ inputs: [
1292
+ {
1293
+ name: "implementation",
1294
+ type: "address",
1295
+ indexed: true,
1296
+ internalType: "address",
1297
+ },
1298
+ ],
1299
+ anonymous: false,
1300
+ },
1301
+ {
1302
+ type: "error",
1303
+ name: "BurnAmountDifferentThanBalanceDiff",
1304
+ inputs: [
1305
+ {
1306
+ name: "balanceBefore",
1307
+ type: "uint256",
1308
+ internalType: "uint256",
1309
+ },
1310
+ {
1311
+ name: "balanceAfter",
1312
+ type: "uint256",
1313
+ internalType: "uint256",
1314
+ },
1315
+ ],
1316
+ },
1317
+ {
1318
+ type: "error",
1319
+ name: "CancellerNotSender",
1320
+ inputs: [
1321
+ {
1322
+ name: "sender",
1323
+ type: "address",
1324
+ internalType: "address",
1325
+ },
1326
+ {
1327
+ name: "canceller",
1328
+ type: "address",
1329
+ internalType: "address",
1330
+ },
1331
+ ],
1332
+ },
1333
+ {
1334
+ type: "error",
1335
+ name: "CapacityCannotExceedLimit",
1336
+ inputs: [
1337
+ {
1338
+ name: "newCurrentCapacity",
1339
+ type: "uint72",
1340
+ internalType: "TrimmedAmount",
1341
+ },
1342
+ {
1343
+ name: "newLimit",
1344
+ type: "uint72",
1345
+ internalType: "TrimmedAmount",
1346
+ },
1347
+ ],
1348
+ },
1349
+ {
1350
+ type: "error",
1351
+ name: "FailedToDeployToken",
1352
+ inputs: [],
1353
+ },
1354
+ {
1355
+ type: "error",
1356
+ name: "InboundQueuedTransferNotFound",
1357
+ inputs: [
1358
+ {
1359
+ name: "digest",
1360
+ type: "bytes32",
1361
+ internalType: "bytes32",
1362
+ },
1363
+ ],
1364
+ },
1365
+ {
1366
+ type: "error",
1367
+ name: "InboundQueuedTransferStillQueued",
1368
+ inputs: [
1369
+ {
1370
+ name: "digest",
1371
+ type: "bytes32",
1372
+ internalType: "bytes32",
1373
+ },
1374
+ {
1375
+ name: "transferTimestamp",
1376
+ type: "uint256",
1377
+ internalType: "uint256",
1378
+ },
1379
+ ],
1380
+ },
1381
+ {
1382
+ type: "error",
1383
+ name: "IncorrectPrefix",
1384
+ inputs: [
1385
+ {
1386
+ name: "prefix",
1387
+ type: "bytes4",
1388
+ internalType: "bytes4",
1389
+ },
1390
+ ],
1391
+ },
1392
+ {
1393
+ type: "error",
1394
+ name: "InvalidInitialization",
1395
+ inputs: [],
1396
+ },
1397
+ {
1398
+ type: "error",
1399
+ name: "InvalidPauser",
1400
+ inputs: [
1401
+ {
1402
+ name: "account",
1403
+ type: "address",
1404
+ internalType: "address",
1405
+ },
1406
+ ],
1407
+ },
1408
+ {
1409
+ type: "error",
1410
+ name: "InvalidPeer",
1411
+ inputs: [
1412
+ {
1413
+ name: "chainId",
1414
+ type: "uint16",
1415
+ internalType: "uint16",
1416
+ },
1417
+ {
1418
+ name: "peerAddress",
1419
+ type: "bytes32",
1420
+ internalType: "bytes32",
1421
+ },
1422
+ ],
1423
+ },
1424
+ {
1425
+ type: "error",
1426
+ name: "InvalidPeerChainIdZero",
1427
+ inputs: [],
1428
+ },
1429
+ {
1430
+ type: "error",
1431
+ name: "InvalidPeerZeroAddress",
1432
+ inputs: [],
1433
+ },
1434
+ {
1435
+ type: "error",
1436
+ name: "InvalidRecipient",
1437
+ inputs: [],
1438
+ },
1439
+ {
1440
+ type: "error",
1441
+ name: "InvalidRefundAddress",
1442
+ inputs: [],
1443
+ },
1444
+ {
1445
+ type: "error",
1446
+ name: "InvalidSender",
1447
+ inputs: [],
1448
+ },
1449
+ {
1450
+ type: "error",
1451
+ name: "InvalidTargetChain",
1452
+ inputs: [
1453
+ {
1454
+ name: "targetChain",
1455
+ type: "uint16",
1456
+ internalType: "uint16",
1457
+ },
1458
+ {
1459
+ name: "chainId",
1460
+ type: "uint16",
1461
+ internalType: "uint16",
1462
+ },
1463
+ ],
1464
+ },
1465
+ {
1466
+ type: "error",
1467
+ name: "LengthMismatch",
1468
+ inputs: [
1469
+ {
1470
+ name: "encodedLength",
1471
+ type: "uint256",
1472
+ internalType: "uint256",
1473
+ },
1474
+ {
1475
+ name: "expectedLength",
1476
+ type: "uint256",
1477
+ internalType: "uint256",
1478
+ },
1479
+ ],
1480
+ },
1481
+ {
1482
+ type: "error",
1483
+ name: "NotAnEvmAddress",
1484
+ inputs: [
1485
+ {
1486
+ name: "",
1487
+ type: "bytes32",
1488
+ internalType: "bytes32",
1489
+ },
1490
+ ],
1491
+ },
1492
+ {
1493
+ type: "error",
1494
+ name: "NotEnoughCapacity",
1495
+ inputs: [
1496
+ {
1497
+ name: "token",
1498
+ type: "tuple",
1499
+ internalType: "struct TokenId",
1500
+ components: [
1501
+ {
1502
+ name: "chainId",
1503
+ type: "uint16",
1504
+ internalType: "uint16",
1505
+ },
1506
+ {
1507
+ name: "tokenAddress",
1508
+ type: "bytes32",
1509
+ internalType: "bytes32",
1510
+ },
1511
+ ],
1512
+ },
1513
+ {
1514
+ name: "currentCapacity",
1515
+ type: "uint256",
1516
+ internalType: "uint256",
1517
+ },
1518
+ {
1519
+ name: "amount",
1520
+ type: "uint256",
1521
+ internalType: "uint256",
1522
+ },
1523
+ ],
1524
+ },
1525
+ {
1526
+ type: "error",
1527
+ name: "NotInitializing",
1528
+ inputs: [],
1529
+ },
1530
+ {
1531
+ type: "error",
1532
+ name: "NotMigrating",
1533
+ inputs: [],
1534
+ },
1535
+ {
1536
+ type: "error",
1537
+ name: "NttTokenReceiverCallFailed",
1538
+ inputs: [
1539
+ {
1540
+ name: "recipient",
1541
+ type: "address",
1542
+ internalType: "address",
1543
+ },
1544
+ ],
1545
+ },
1546
+ {
1547
+ type: "error",
1548
+ name: "NumberOfDecimalsNotEqual",
1549
+ inputs: [
1550
+ {
1551
+ name: "decimals",
1552
+ type: "uint8",
1553
+ internalType: "uint8",
1554
+ },
1555
+ {
1556
+ name: "decimalsOther",
1557
+ type: "uint8",
1558
+ internalType: "uint8",
1559
+ },
1560
+ ],
1561
+ },
1562
+ {
1563
+ type: "error",
1564
+ name: "OnlyDelegateCall",
1565
+ inputs: [],
1566
+ },
1567
+ {
1568
+ type: "error",
1569
+ name: "OnlyGmpManagerAllowed",
1570
+ inputs: [],
1571
+ },
1572
+ {
1573
+ type: "error",
1574
+ name: "OutboundQueuedTransferNotFound",
1575
+ inputs: [
1576
+ {
1577
+ name: "queueSequence",
1578
+ type: "uint64",
1579
+ internalType: "uint64",
1580
+ },
1581
+ ],
1582
+ },
1583
+ {
1584
+ type: "error",
1585
+ name: "OutboundQueuedTransferStillQueued",
1586
+ inputs: [
1587
+ {
1588
+ name: "queueSequence",
1589
+ type: "uint64",
1590
+ internalType: "uint64",
1591
+ },
1592
+ {
1593
+ name: "transferTimestamp",
1594
+ type: "uint256",
1595
+ internalType: "uint256",
1596
+ },
1597
+ ],
1598
+ },
1599
+ {
1600
+ type: "error",
1601
+ name: "OwnableInvalidOwner",
1602
+ inputs: [
1603
+ {
1604
+ name: "owner",
1605
+ type: "address",
1606
+ internalType: "address",
1607
+ },
1608
+ ],
1609
+ },
1610
+ {
1611
+ type: "error",
1612
+ name: "OwnableUnauthorizedAccount",
1613
+ inputs: [
1614
+ {
1615
+ name: "account",
1616
+ type: "address",
1617
+ internalType: "address",
1618
+ },
1619
+ ],
1620
+ },
1621
+ {
1622
+ type: "error",
1623
+ name: "PayloadTooLong",
1624
+ inputs: [
1625
+ {
1626
+ name: "length",
1627
+ type: "uint256",
1628
+ internalType: "uint256",
1629
+ },
1630
+ ],
1631
+ },
1632
+ {
1633
+ type: "error",
1634
+ name: "PayloadTooLong",
1635
+ inputs: [
1636
+ {
1637
+ name: "length",
1638
+ type: "uint256",
1639
+ internalType: "uint256",
1640
+ },
1641
+ ],
1642
+ },
1643
+ {
1644
+ type: "error",
1645
+ name: "QueuedTransferWithPayload",
1646
+ inputs: [],
1647
+ },
1648
+ {
1649
+ type: "error",
1650
+ name: "ReentrancyGuardReentrantCall",
1651
+ inputs: [],
1652
+ },
1653
+ {
1654
+ type: "error",
1655
+ name: "RefundFailed",
1656
+ inputs: [
1657
+ {
1658
+ name: "refundAmount",
1659
+ type: "uint256",
1660
+ internalType: "uint256",
1661
+ },
1662
+ ],
1663
+ },
1664
+ {
1665
+ type: "error",
1666
+ name: "RequireContractIsNotPaused",
1667
+ inputs: [],
1668
+ },
1669
+ {
1670
+ type: "error",
1671
+ name: "RequireContractIsPaused",
1672
+ inputs: [],
1673
+ },
1674
+ {
1675
+ type: "error",
1676
+ name: "StaticcallFailed",
1677
+ inputs: [],
1678
+ },
1679
+ {
1680
+ type: "error",
1681
+ name: "TransferAmountHasDust",
1682
+ inputs: [
1683
+ {
1684
+ name: "amount",
1685
+ type: "uint256",
1686
+ internalType: "uint256",
1687
+ },
1688
+ {
1689
+ name: "dust",
1690
+ type: "uint256",
1691
+ internalType: "uint256",
1692
+ },
1693
+ ],
1694
+ },
1695
+ {
1696
+ type: "error",
1697
+ name: "TransferFailed",
1698
+ inputs: [],
1699
+ },
1700
+ {
1701
+ type: "error",
1702
+ name: "UndefinedRateLimiting",
1703
+ inputs: [],
1704
+ },
1705
+ {
1706
+ type: "error",
1707
+ name: "UnexpectedDeployer",
1708
+ inputs: [
1709
+ {
1710
+ name: "expectedOwner",
1711
+ type: "address",
1712
+ internalType: "address",
1713
+ },
1714
+ {
1715
+ name: "owner",
1716
+ type: "address",
1717
+ internalType: "address",
1718
+ },
1719
+ ],
1720
+ },
1721
+ {
1722
+ type: "error",
1723
+ name: "UnexpectedMsgValue",
1724
+ inputs: [],
1725
+ },
1726
+ {
1727
+ type: "error",
1728
+ name: "ZeroAmount",
1729
+ inputs: [],
1730
+ },
1731
+ ];
1732
+ const _bytecode = "0x6101606040523480156200001257600080fd5b50604051620060b6380380620060b6833981016040819052620000359162000211565b8484846001600160401b0382161580156200004e575080155b806200006b57506001600160401b038216158015906200006b5750805b156200008a5760405163e543ef0560e01b815260040160405180910390fd5b506001600160401b03166080526001600160a01b031660a052620000ad62000147565b3060c0523360e05260408051634d4502c960e11b815290516001600160a01b03871691639a8a05929160048083019260209291908290030181865afa158015620000fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001219190620002a0565b61ffff16610120526001600160a01b0391821661010052166101405250620002cd915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620001985760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001f85780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6001600160a01b0381168114620001f857600080fd5b600080600080600060a086880312156200022a57600080fd5b85516200023781620001fb565b60208701519095506001600160401b03811681146200025557600080fd5b604087015190945080151581146200026c57600080fd5b60608701519093506200027f81620001fb565b60808701519092506200029281620001fb565b809150509295509295909350565b600060208284031215620002b357600080fd5b815161ffff81168114620002c657600080fd5b9392505050565b60805160a05160c05160e051610100516101205161014051615cae62000408600039600081816105b60152818161150201528181612593015281816133f7015261343a0152600081816110fb015281816116f901528181611afb015261321601526000818161038e0152613073015260008181613152015261318e015260006128240152600081816104e00152818161164501528181612ec60152818161373e0152613e8901526000818161049401528181610ae801528181610d680152818161130c015281816115ea01528181611c1f01528181611dd501528181612f68015281816141610152818161419e0152818161434001528181614379015281816143aa015281816143e401528181614587015281816145c4015281816146aa015281816146e40152818161472901526147620152615cae6000f3fe6080604052600436106102135760003560e01c80638456cb5911610118578063c033e0db116100a0578063e7fa3a5a1161006f578063e7fa3a5a14610680578063f1537686146106a0578063f2fde38b146106ce578063f7514fbc146106ee578063fd96063c1461070e57600080fd5b8063c033e0db146105ed578063c0b07bde14610600578063c128d17014610631578063e2069e1e1461066057600080fd5b806397c35146116100e757806397c35146146105695780639fd0506d1461057c578063a461758414610591578063ad5c4648146105a4578063b187bd26146105d857600080fd5b80638456cb591461050a5780638da5cb5b1461051f5780638fd3ab801461053457806394c913651461054957600080fd5b806332cf4cd51161019b57806359fc09561161016a57806359fc09561461043d578063689f90c31461045d57806374aa7bfc146104825780637c9e8a10146104ce5780638129fc1c1461050257600080fd5b806332cf4cd5146103c85780633434a266146103e85780633f4ba83a146104085780634222f40b1461041d57600080fd5b80630ebfdc8a116101e25780630ebfdc8a146102df5780631bacc92b146102ff5780631f97c9a8146103215780632cc7fc821461034e5780632f3a3d5d1461037c57600080fd5b8063036de8af1461021f578063045169ad1461024157806307150aef146102615780630900f010146102bf57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004614dba565b610756565b005b34801561024d57600080fd5b5061023f61025c366004614e0a565b6107c2565b34801561026d57600080fd5b5061028161027c366004614f5b565b61080e565b6040805182516001600160481b03908116825260208085015190911690820152918101516001600160401b0316908201526060015b60405180910390f35b3480156102cb57600080fd5b5061023f6102da366004614dba565b61088d565b3480156102eb57600080fd5b5061023f6102fa366004614f93565b6108a1565b34801561030b57600080fd5b506103146108e6565b6040516102b6919061500e565b34801561032d57600080fd5b5061034161033c366004615036565b61095e565b6040516102b69190615053565b34801561035a57600080fd5b5061036e6103693660046150e9565b610ad2565b6040519081526020016102b6565b34801561038857600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102b6565b3480156103d457600080fd5b5061023f6103e3366004615105565b610b37565b3480156103f457600080fd5b506102816104033660046150e9565b610b4d565b34801561041457600080fd5b5061023f610bb3565b34801561042957600080fd5b5061023f610438366004615131565b610bc5565b34801561044957600080fd5b5061023f610458366004615278565b610cd9565b34801561046957600080fd5b50610472610e8f565b60405190151581526020016102b6565b34801561048e57600080fd5b506104b67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b0390911681526020016102b6565b3480156104da57600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000000081565b61023f610ea2565b34801561051657600080fd5b5061023f610fa3565b34801561052b57600080fd5b506103b0610fb6565b34801561054057600080fd5b5061023f610fe4565b34801561055557600080fd5b506103b06105643660046150e9565b6110f7565b6104b6610577366004615036565b611173565b34801561058857600080fd5b506103b0611440565b6104b661059f366004615344565b611459565b3480156105b057600080fd5b506103b07f000000000000000000000000000000000000000000000000000000000000000081565b3480156105e457600080fd5b506104726114ad565b6104b66105fb366004615426565b6114c2565b34801561060c57600080fd5b50610314604051806040016040528060058152602001640312e312e360dc1b81525081565b34801561063d57600080fd5b5061065161064c3660046154f6565b611586565b604051905181526020016102b6565b34801561066c57600080fd5b5061036e61067b366004614f5b565b6115c2565b34801561068c57600080fd5b5061023f61069b366004615513565b61163a565b3480156106ac57600080fd5b506106c06106bb366004614dba565b61168f565b6040516102b69291906155b1565b3480156106da57600080fd5b5061023f6106e9366004614dba565b611737565b3480156106fa57600080fd5b5061023f610709366004615036565b611772565b34801561071a57600080fd5b5061072e6107293660046155f2565b6119fa565b6040805182516001600160401b0316815260209283015161ffff1692810192909252016102b6565b610766610761610fb6565b611a4e565b6000610770611a97565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef690600090a3505050565b6107ca611ac5565b60006107e36107de368690038601866150e9565b611af7565b90506108086107f7368690038601866150e9565b610802858480611bc0565b84611c19565b50505050565b604080516060810182526000808252602082018190529181019190915261083483611c62565b61ffff831660009081526020918252604090819020815160608101835290546001600160481b038082168352600160481b82041693820193909352600160901b9092046001600160401b03169082015290505b92915050565b610895611ac5565b61089e81611cc1565b50565b6108a9611ac5565b60006108bd6107de368590038501856150e9565b90506108e16108d1368590038501856150e9565b6108dc848480611bc0565b611dcf565b505050565b606073__$3a5f69cefc093539f925e73bc45cac585e$__63c55259906040518163ffffffff1660e01b8152600401600060405180830381865af4158015610931573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610959919081019061563b565b905090565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082019290925260e08101919091526109a9611e04565b6001600160401b03838116600090815260209283526040908190208151610100810183528154815260018201549481019490945260028101546001600160a01b0380821693860193909352600160a01b81046001600160481b03166060860152600160e81b900461ffff166080850152600381015492831660a0850152600160401b9092041660c083015260048101805460e084019190610a4990615683565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7590615683565b8015610ac25780601f10610a9757610100808354040283529160200191610ac2565b820191906000526020600020905b815481529060010190602001808311610aa557829003601f168201915b5050505050815250509050919050565b600080610ade83611e32565b90506000610b0c827f0000000000000000000000000000000000000000000000000000000000000000611e89565b90506000610b1985611af7565b9050610b2e6001600160481b03831682611f4f565b95945050505050565b610b3f611ac5565b610b498282611f6f565b5050565b6040805160608101825260008082526020820181905291810191909152610b7382611e32565b6040805160608101825291546001600160481b038082168452600160481b8204166020840152600160901b90046001600160401b03169082015292915050565b610bbb611ac5565b610bc3612046565b565b610bcd611ac5565b610bda60208301836154f6565b61ffff1615801590610bef5750602082013515155b610bf857600080fd5b6000610c03826120ac565b90506040518060400160405280836001600160a01b0316815260200182815250610c2b6121c4565b6000610c3a60208701876154f6565b61ffff168152602080820192909252604090810160009081208784013582528352819020835181546001600160a01b0319166001600160a01b03909116178155928201518051600185015591820151600284015501516003909101805460ff191660ff90921691909117905582610caf6121f2565b6001600160a01b038416600090815260209190915260409020610cd282826156b7565b5050505050565b610ce1612220565b610ce96114ad565b15610d07576040516309e3d0f360e11b815260040160405180910390fd5b6000610d1282612258565b8051906020012090506000610d26826119fa565b80519091506001600160401b0316600003610d5c57604051630301bcaf60e61b8152600481018390526024015b60405180910390fd5b80516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000811691610d959116426156f6565b1015610dc95780516040516301cb739d60e71b8152600481018490526001600160401b039091166024820152604401610d53565b610dd161236b565b6000838152602091825260408120805469ffffffffffffffffffff1916905590840151610dfd90612399565b90506000610e0e856060015161249c565b90506000610e23866020015160200151611af7565b90506000610e538283610e4c858b600001516001600160481b0316611f4f90919063ffffffff16565b9190611bc0565b9050610e728685858460008c608001518b602001518e604001516124c8565b50505050505061089e6001600080516020615c3983398151915255565b6000610e996127ec565b5460ff16919050565b610eaa61281a565b600080516020615c598339815191528054600160401b810460ff1615906001600160401b0316600081158015610edd5750825b90506000826001600160401b03166001148015610ef95750303b155b905081158015610f07575080155b15610f255760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610f4f57845460ff60401b1916600160401b1785555b610f57612863565b8315610cd257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b610fae610761610fb6565b610bc361286b565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b610fec61281a565b600080516020615c59833981519152546001600160401b0316611010906001615709565b600080516020615c598339815191528054600160401b900460ff1680611043575080546001600160401b03808416911610155b156110615760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b17815561108a6128cc565b5460ff166110ab57604051632866815360e11b815260040160405180910390fd5b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050565b60007f000000000000000000000000000000000000000000000000000000000000000061ffff16826000015161ffff160361113957610887826020015161249c565b6111416121c4565b825161ffff166000908152602091825260408082209483015182529390915291909120546001600160a01b0316919050565b600061117d612220565b6111856114ad565b156111a3576040516309e3d0f360e11b815260040160405180910390fd5b60006111ad611e04565b6001600160401b03848116600090815260209283526040908190208151610100810183528154815260018201549481019490945260028101546001600160a01b0380821693860193909352600160a01b81046001600160481b03166060860152600160e81b900461ffff166080850152600381015492831660a0850152600160401b9092041660c083015260048101805460e08401919061124d90615683565b80601f016020809104026020016040519081016040528092919081815260200182805461127990615683565b80156112c65780601f1061129b576101008083540402835291602001916112c6565b820191906000526020600020905b8154815290600101906020018083116112a957829003601f168201915b50505050508152505090508060a001516001600160401b031660000361130a57604051635feafa3160e11b81526001600160401b0384166004820152602401610d53565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03168160a001516001600160401b03164261134d91906156f6565b10156113855760a081015160405163c06cf05f60e01b81526001600160401b0380861660048301529091166024820152604401610d53565b61138d611e04565b6001600160401b038416600090815260209190915260408120818155600181018290556002810180546001600160f81b03191690556003810180546001600160e01b0319169055906113e26004830182614cd5565b505061142134848360c00151846060015185608001518660000151876020015188604001518960e00151604051806020016040528060008152506128fa565b91505061143b6001600080516020615c3983398151915255565b919050565b600061144a611a97565b546001600160a01b0316919050565b6000611463612220565b61146b6114ad565b15611489576040516309e3d0f360e11b815260040160405180910390fd5b611494826001612a41565b905061143b6001600080516020615c3983398151915255565b6000806114b8612ae0565b5460021492915050565b60006114cc612220565b6114d46114ad565b156114f2576040516309e3d0f360e11b815260040160405180910390fd5b60006040518061010001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815260200184600001518152602001846020015161ffff16815260200184604001518152602001846060015181526020018460800151151581526020018460a0015181526020018460c001518152509050611421816000612a41565b60408051602081019091526000815261159d612b0e565b61ffff9092166000908152602092835260409081902081519384019091525482525090565b6000806115ce84611c62565b61ffff8416600090815260209190915260408120915061160e827f0000000000000000000000000000000000000000000000000000000000000000611e89565b9050600061161b86611af7565b90506116306001600160481b03831682611f4f565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611683576040516331ca071b60e21b815260040160405180910390fd5b61080884848484612b3c565b60408051808201909152600080825260208201526000806116ae6121f2565b6001600160a01b038516600090815260209182526040908190208151808301909252805461ffff16808352600190910154928201929092529150156116f7579360019350915050565b7f000000000000000000000000000000000000000000000000000000000000000061ffff1681526001600160a01b03841660208201529360009350915050565b61173f611ac5565b6001600160a01b03811661176957604051631e4fbdf760e01b815260006004820152602401610d53565b61089e81612b93565b61177a612220565b6117826114ad565b156117a0576040516309e3d0f360e11b815260040160405180910390fd5b60006117aa611e04565b6001600160401b03838116600090815260209283526040908190208151610100810183528154815260018201549481019490945260028101546001600160a01b0380821693860193909352600160a01b81046001600160481b03166060860152600160e81b900461ffff166080850152600381015492831660a0850152600160401b9092041660c083015260048101805460e08401919061184a90615683565b80601f016020809104026020016040519081016040528092919081815260200182805461187690615683565b80156118c35780601f10611898576101008083540402835291602001916118c3565b820191906000526020600020905b8154815290600101906020018083116118a657829003601f168201915b50505050508152505090508060a001516001600160401b031660000361190757604051635feafa3160e11b81526001600160401b0383166004820152602401610d53565b60408101516001600160a01b0316331461194b57604080820151905163ceb40a8560e01b81523360048201526001600160a01b039091166024820152604401610d53565b611953611e04565b6001600160401b038316600090815260209190915260408120818155600181018290556002810180546001600160f81b03191690556003810180546001600160e01b0319169055906119a86004830182614cd5565b50506119e2826001600160401b031660001b8260c0015133846060015160016040518060200160405280600081525060008060001b6124c8565b5061089e6001600080516020615c3983398151915255565b6040805180820190915260008082526020820152611a1661236b565b600092835260209081526040928390208351808501909452546001600160401b0381168452600160401b900461ffff16908301525090565b33611a57611440565b6001600160a01b031614158015611a7757506001600160a01b0381163314155b1561089e5760405163e2a08e5d60e01b8152336004820152602401610d53565b60008061088760017fbfa91572ce1e5fe8776a160d3b1f862e83f5ee2c080a7423b4761602a3ad124a6156f6565b33611ace610fb6565b6001600160a01b031614610bc35760405163118cdaa760e01b8152336004820152602401610d53565b60007f000000000000000000000000000000000000000000000000000000000000000061ffff16826000015161ffff1603611b89576000611b3b836020015161249c565b90506000611b6b826040518060400160405280600a815260200169646563696d616c73282960b01b815250612c04565b905080806020019051810190611b819190615730565b949350505050565b611b916121c4565b825161ffff1660009081526020918252604080822094830151825293909152919091206003015460ff16919050565b600080611bd7611bd1600886612ccd565b84612ccd565b90506000611be6868684612ce9565b9050611c0d611bf482612d52565b8360ff1660089190911b68ffffffffffffffff00161790565b925050505b9392505050565b6108e1827f0000000000000000000000000000000000000000000000000000000000000000611c4786611c62565b61ffff85166000908152602091909152604090209190612dba565b60008082604051602001611c76919061574d565b60408051601f198184030181529190528051602090910120611cb960017f6473f680a37cfb54f66445ef18036c9f891a682c70bb8e4674f5d36e211ba8936156f6565b189392505050565b611cc961281a565b611cd281612e84565b6000611cdc6128cc565b805490915060ff1615611cf157611cf1615768565b805460ff191660011781556040805163011fa75760e71b815290513091638fd3ab8091600480830192600092919082900301818387803b158015611d3457600080fd5b505af1158015611d48573d6000803e3d6000fd5b50505050306001600160a01b031663689f90c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dae919061577e565b611dba57611dba612ec4565b611dc46000613008565b805460ff1916905550565b610b49817f0000000000000000000000000000000000000000000000000000000000000000611dfd85611e32565b9190612dba565b60008061088760017f88e530814ab5625345088d8b6ae477a7b1cc43d112909d0c9b66cab1ab9ed6c46156f6565b60008082604051602001611e46919061574d565b60408051601f198184030181529190528051602090910120611cb960017f2a12c4997b0cb4fe51033104ae9bc2615917156119cfe2b3cbe348041d8d94ba6156f6565b6000816001600160401b0316600003611eba578254600160481b900460ff1668ffffffffffffffff00179050610887565b82546001600160401b03600160901b820481164203916000918581169160081c16830281611eea57611eea61579b565b86546001600160401b03600160481b8204600890811c821694909304939093019350600092611f1d928592901c16613023565b9050611630611f2b82612d52565b8754600160481b900460ff1660ff1660089190911b68ffffffffffffffff00161790565b60006001600160401b03600884901c1660ff841682611630838387612ce9565b8161ffff16600003611f945760405163100b0f2760e11b815260040160405180910390fd5b80611fb25760405163f839a0cb60e01b815260040160405180910390fd5b6000611fbc612b0e565b61ffff8416600090815260209182526040908190208151928301909152548152905081611fe7612b0e565b61ffff8516600081815260209283526040908190209390935583518351918252918101919091529081018390527f6b8e3e5d5cb35ca559551a3a468913b588421f8eeb87fabc088aa03638ce13699060600160405180910390a1505050565b61204e6114ad565b61206b57604051637e38d1d360e11b815260040160405180910390fd5b6120756001613032565b604051600081527fe11c2112add17fb763d3bd59f63b10429c3e11373da4fb8ef6725107a2fdc4b0906020015b60405180910390a1565b604080516060810182526000808252602082018190529181019190915260606120f5836040518060400160405280600881526020016773796d626f6c282960c01b815250612c04565b905060008180602001905181019061210d919061563b565b905060006020820151905061214085604051806040016040528060068152602001656e616d65282960d01b815250612c04565b9250600083806020019051810190612158919061563b565b905060006020820151905061218f876040518060400160405280600a815260200169646563696d616c73282960b01b815250612c04565b94506000858060200190518101906121a79190615730565b9187525060208601929092525060ff166040840152509092915050565b60008061088760017fb25908bf1d6944231b0893d0a6983df22fdaaae9d33fc474848a5fff468575fc6156f6565b60008061088760017fa81f8799e09b034e31f6dacb11cac1c94b38068dd2e76779232a66ee50bfce266156f6565b600080516020615c3983398151915280546001190161225257604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b80516080820151516060919061ffff101561228f5782608001515160405163a341969160e01b8152600401610d5391815260200190565b608083015151632653951560e21b60ff8316600884901c6001600160401b0316602087015160405163dcb9bd4f60e01b815273__$4033db715c90f2390978d4fb71beaa4caa$__9163dcb9bd4f916122ea91906004016157ef565b600060405180830381865af4158015612307573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261232f919081019061563b565b60408089015160608a015160808b01519251612353979695949389916020016157fd565b60405160208183030381529060405292505050919050565b60008061088760017f4bc3912cbaafdafac09ae32823daf95236e8f3c7440dda1c7298418edff173c56156f6565b6000806123a983602001516110f7565b90506001600160a01b038116610887576123c28361303f565b604080518082019091526001600160a01b0382168152845160208201529091506123ea6121c4565b602085810180515161ffff166000908152928252604080842082518401518552835292839020845181546001600160a01b0319166001600160a01b0390911617815593820151805160018601559182015160028501559101516003909201805460ff191660ff90931692909217909155516124636121f2565b6001600160a01b03831660009081526020918252604090208251815461ffff191661ffff90911617815591015160019091015592915050565b600060a082901c156124c45760405163033b960d60e41b815260048101839052602401610d53565b5090565b6000806124d48961168f565b9150915060006124f66124e684611af7565b6001600160481b038a1690611f4f565b9050861561254c57604080518c81526001600160a01b038b1660208201529081018290527ff80e572ae1b63e2449629b6c7d783add85c36473926f216077f17ee002bcfd079060600160405180910390a1612578565b6040518b907f504e6efe18ab9eed10dc6501a417f5b12a2f7f2b1593aed9b89f9bce3cf29a9190600090a25b600082600181111561258c5761258c61559b565b036126b7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168a6001600160a01b03160361269e57604051632e1a7d4d60e01b8152600481018290526001600160a01b038b1690632e1a7d4d90602401600060405180830381600087803b15801561260c57600080fd5b505af1158015612620573d6000803e3d6000fd5b505050506000896001600160a01b03168260405160006040518083038185875af1925050503d8060008114612671576040519150601f19603f3d011682016040523d82523d6000602084013e612676565b606091505b5050905080612698576040516312171d8360e31b815260040160405180910390fd5b50612733565b6126b26001600160a01b038b168a836130dc565b612733565b60018260018111156126cb576126cb61559b565b0361021a576040516340c10f1960e01b81526001600160a01b038a81166004830152602482018390528b16906340c10f1990604401600060405180830381600087803b15801561271a57600080fd5b505af115801561272e573d6000803e3d6000fd5b505050505b8551156127cb57886001600160a01b031663b0474b9c8b6127538761249c565b848a8a8a6040518763ffffffff1660e01b81526004016127789695949392919061588e565b600060405180830381600087803b15801561279257600080fd5b505af19250505080156127a3575060015b6127cb57604051630583627160e41b81526001600160a01b038a166004820152602401610d53565b5050505050505050505050565b6001600080516020615c3983398151915255565b60008061088760017f5443fea4dc453d96b81ce55b62e11a4094cc4cbb8a360956a7253cfdb42506cc6156f6565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610bc357604051633c64f99360e21b815260040160405180910390fd5b610bc361313f565b6128736114ad565b15612891576040516309e3d0f360e11b815260040160405180910390fd5b61289b6002613032565b604051600181527f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd2906020016120a2565b60008061088760017f7487ca88d037ca20519908b1ee7556206bef53bce0226a348750cb9d4f688e4f6156f6565b604080518082019091526000808252602082018190529060609061291d8b61168f565b508091505060006040518060400160405280612938846131f2565b815260200183815250905061298a6040518060a001604052808d6001600160481b031681526020018381526020016129768a6001600160a01b031690565b81526020018b815260200187815250612258565b92505061299b8d8a898f868a6132a9565b925060006129bb6129ab83611af7565b6001600160481b038d1690611f4f565b6020808401518451604080516001600160401b038a1681529384018e905283018c9052606083018490526001600160a01b038b16608084015292935061ffff808e169391929116907face4867fe6fb81aab943eba9cdd00e13f386affe1946ce84f2f46ad4620372f49060a00160405180910390a45050509a9950505050505050505050565b6080820151600090819015612a5a578360800151612a60565b83606001515b905060008460c0015151600014612a7b578460c00151612a98565b604080516001808252818301909252906020820181803683375050505b6080860183905260c08601819052604080516060810190915234815290915085906116309060208101876001811115612ad357612ad361559b565b8152602001839052613330565b60008061088760017f64bacf405c5d7f563d3ba5252584a52c37e4fee380fd825b10666c27b82580236156f6565b60008061088760017febcc9f646b0f459ff8f387587d536b0af3484cf442e1577400f322334e7d1ef16156f6565b612b46848461390b565b6000612b8783838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061396f92505050565b9050610cd28582613a72565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6040805160048152602481019182905260609160009182916001600160a01b0387169190612c339087906158da565b60408051918290039091206020830180516001600160e01b03166001600160e01b031990921691909117905251612c6a91906158da565b600060405180830381855afa9150503d8060008114612ca5576040519150601f19603f3d011682016040523d82523d6000602084013e612caa565b606091505b509150915081611b8157604051631222cd8360e01b815260040160405180910390fd5b60008160ff168360ff1610612ce25781611c12565b5090919050565b60008160ff168360ff1603612cff575082611c12565b8160ff168360ff161115612d3357612d1782846158f6565b612d2290600a6159f3565b612d2c9085615a02565b9050611c12565b612d3d83836158f6565b612d4890600a6159f3565b612d2c9085615a24565b60006001600160401b038211156124c45760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610d53565b82546001600160481b0316612dce81613be2565b15612dfc57835468ffffffffffffffffff60481b1916600160481b6001600160481b03851602178455612e3f565b6000612e088584611e89565b9050612e15848383613c02565b85546001600160481b0391909116600160481b0268ffffffffffffffffff60481b19909116178555505b505081546001600160481b039190911679ffffffffffffffff000000000000000000ffffffffffffffffff1990911617600160901b426001600160401b031602179055565b612e8d81613ca4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b0316637c9e8a106040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f509190615a3b565b6001600160a01b031614612f6657612f66615768565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316306001600160a01b03166374aa7bfc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff29190615a58565b6001600160401b031614610bc357610bc3615768565b806130116127ec565b805460ff191691151591909117905550565b6000818310612ce25781611c12565b8061303b612ae0565b5550565b604051631244d5fd60e31b815260009073__$3a5f69cefc093539f925e73bc45cac585e$__90639226afe89061309b9085907f000000000000000000000000000000000000000000000000000000000000000090600401615a75565b602060405180830381865af41580156130b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108879190615a3b565b6040516001600160a01b0383166024820152604481018290526108e190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613d52565b613147613e24565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146131c157604051636345072160e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152336024820152604401610d53565b34156131e05760405163bd28e88960e01b815260040160405180910390fd5b6131ea3333613e5b565b610bc3613e75565b6040805160608101825260008082526020820181905291810191909152815161ffff7f000000000000000000000000000000000000000000000000000000000000000081169116036132535761088761324e836020015161249c565b6120ac565b61325b6121c4565b825161ffff166000908152602091825260408082209483015182529382528390208351606081018552600182015481526002820154928101929092526003015460ff16928101929092525090565b6000806132b4612b0e565b61ffff8816600090815260209190915260409020549050806132e95760405163f839a0cb60e01b815260040160405180910390fd5b476132f98989848a8a8a8a613e85565b9250600061330747836156f6565b9050898110156133235761332361331e828c6156f6565b613f2d565b5050509695505050505050565b600080600061334684604001516000015161168f565b9150915083604001516020015160000361337357604051631f2a200560e01b815260040160405180910390fd5b60408401516060015161339957604051634e46966960e11b815260040160405180910390fd5b6040840151608001516133bf5760405163717f139360e11b815260040160405180910390fd5b60006133d385604001516000015130613f99565b90506000856020015160018111156133ed576133ed61559b565b14801561343357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168560400151600001516001600160a01b0316145b156134d6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db08660400151602001516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561349b57600080fd5b505af11580156134af573d6000803e3d6000fd5b5050505050846040015160200151856000018181516134ce91906156f6565b9052506134fb565b6040850151602081015190516134fb916001600160a01b03909116903390309061406a565b600061350f86604001516000015130613f99565b905061351b82826156f6565b60408701516020015260018360018111156135385761353861559b565b036136515760408681015180516020909101519151630852cd8d60e31b815260048101929092526001600160a01b0316906342966c6890602401600060405180830381600087803b15801561358c57600080fd5b505af192505050801561359d575060015b61360f5760408681015180516020909101519151632770a7eb60e21b815230600482015260248101929092526001600160a01b031690639dc29fac90604401600060405180830381600087803b1580156135f657600080fd5b505af115801561360a573d6000803e3d6000fd5b505050505b600061362387604001516000015130613f99565b905080831461364f576040516302156a8f60e01b81526004810184905260248101829052604401610d53565b505b5050600080600061366185611af7565b9050613675818860400151602001516140a2565b925061368a6001600160481b0384168261410e565b9150506136a861369985611e32565b546001600160481b0316613be2565b613875576136b6848261415d565b1561386b57856040015160a0015161371257836136d285610ad2565b6040808901516020908101519151631d78001560e11b8152845161ffff166004820152930151602484015260448301919091526064820152608401610d53565b604086015160e00151511561373a57604051637a20891760e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ff428f096040518163ffffffff1660e01b81526004016020604051808303816000875af115801561379c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137c09190615a58565b9050336001600160a01b03167ff33512b84e24a49905c26c6991942fc5a9652411769fc1e448f967cdb049f08a8289604001516020015161380089610ad2565b604080516001600160401b03909416845260208401929092529082015260600160405180910390a261386081886040015160000151858a60400151604001518b60400151606001518c6040015160800151338e6040015160c001516141cd565b865161163090613f2d565b613875848261433e565b6138aa61388185611c62565b60408089015181015161ffff1660009081526020929092529020546001600160481b0316613be2565b6138c1576138c184828860400151604001516143a8565b5060408086015160c081015160e08201518851835194840151606085015160809095015193959294613900949293600093909289929091338a8a6128fa565b979650505050505050565b61ffff82161580159061391d57508015155b61392657600080fd5b8061392f612b0e565b61ffff84166000908152602091909152604090205414610b4957604051635788c0fd60e11b815261ffff8316600482015260248101829052604401610d53565b613977614d0f565b6000806139848482614427565b925090506001600160e01b03198116632653951560e21b146139c5576040516356d2569d60e01b81526001600160e01b031982166004820152602401610d53565b818401600181015160099182015160ff8216600882901b68ffffffffffffffff00161786529190930192906139fa8685614452565b60208701919091529350613a0e86856144ba565b60408701919091529350613a2286856144ba565b606087019190915293506000613a418786600291810182015192910190565b955061ffff169050613a548786836144e0565b60808801919091529450613a688786614555565b5050505050919050565b613a7a6114ad565b15613a98576040516309e3d0f360e11b815260040160405180910390fd5b613aa0612220565b6000613aab82612258565b8051602091820120908301519091506000613ac582612399565b90506000613ad68360200151611af7565b90506000613aff8283610e4c858a600001516001600160481b0316611f4f90919063ffffffff16565b90506000613b10876060015161249c565b9050613b45613b228660200151611c62565b61ffff8a16600090815260209190915260409020546001600160481b0316613be2565b613b89576000613b5a8660200151848b614583565b90508015613b7857613b6c878a614607565b50505050505050613bcb565b613b878660200151848b6146a8565b505b613b996136998660200151611e32565b613bab57613bab856020015183614727565b613bc48685838560008c608001518e8e604001516124c8565b5050505050505b610b496001600080516020615c3983398151915255565b60006001600160401b03600883901c1615801561088757505060ff161590565b600080613c0f8486614791565b15613c4857613c1e84866147b6565b9050613c2a8382614791565b613c375760ff8316613c41565b613c4183826147b6565b9150613c61565b613c5285856147b6565b9050613c5e83826147fb565b91505b613c6b8286614791565b15613c9c57604051631e74e8fb60e31b81526001600160481b03808416600483015286166024820152604401610d53565b509392505050565b6001600160a01b0381163b613d115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610d53565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6000613da7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166148409092919063ffffffff16565b8051909150156108e15780806020019051810190613dc5919061577e565b6108e15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610d53565b600080516020615c5983398151915254600160401b900460ff16610bc357604051631afcd79f60e31b815260040160405180910390fd5b613e63613e24565b613e6c8261484f565b610b4981614860565b613e7d613e24565b610bc3614871565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ee0bdb1c898989898989896040518863ffffffff1660e01b8152600401613ede96959493929190615a9b565b60206040518083038185885af1158015613efc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613f219190615a58565b98975050505050505050565b604051600090339083908381818185875af1925050503d8060008114613f6f576040519150601f19603f3d011682016040523d82523d6000602084013e613f74565b606091505b5050905080610b4957604051630b288dc560e21b815260048101839052602401610d53565b604080516001600160a01b0383811660248084019190915283518084039091018152604490920183526020820180516001600160e01b03166370a0823160e01b17905291516000928392839291871691613ff391906158da565b600060405180830381855afa9150503d806000811461402e576040519150601f19603f3d011682016040523d82523d6000602084013e614033565b606091505b50915091508161405657604051631222cd8360e01b815260040160405180910390fd5b80806020019051810190610b2e9190615af2565b6040516001600160a01b03808516602483015283166044820152606481018290526108089085906323b872dd60e01b90608401613108565b60008260ff166000036140b457600080fd5b60006140c1838580611bc0565b905060006140d86001600160481b03831686611f4f565b9050808414613c9c57836140ec82826156f6565b6040516338f831a560e11b815260048101929092526024820152604401610d53565b60008061411c600884612ccd565b9050611b8161414461413f6001600160401b03600888901c1660ff881685612ce9565b612d52565b8260ff1660089190911b68ffffffffffffffff00161790565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660000361419857506000610887565b611c12827f00000000000000000000000000000000000000000000000000000000000000006141c686611e32565b9190614879565b604051806101000160405280858152602001848152602001836001600160a01b03168152602001876001600160481b031681526020018661ffff168152602001426001600160401b03168152602001886001600160a01b0316815260200182815250614237611e04565b6001600160401b03808b1660009081526020928352604090819020845181559284015160018401558301516002830180546060860151608087015161ffff16600160e81b0261ffff60e81b196001600160481b03909216600160a01b026001600160e81b03199093166001600160a01b0395861617929092171617905560a084015160038401805460c0870151909316600160401b026001600160e01b0319909316919093161717905560e082015160048201906142f59082615b59565b50506040516001600160401b038a1681527f69add1952a6a6b9cb86f04d05f0cb605cbb469a50ae916139d34495a9991481f915060200160405180910390a15050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600003614373575050565b610b49817f00000000000000000000000000000000000000000000000000000000000000006143a185611e32565b91906148ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166000036143de57505050565b6108e1827f000000000000000000000000000000000000000000000000000000000000000061440c86611c62565b61ffff8516600090815260209190915260409020919061492b565b6000806000806144408686600491810182015192910190565b60e09190911b97909650945050505050565b6040805160a081018252600081830181815260608301829052608083018290528252825180840190935280835260208084018290528201929092529061449884846149a5565b90835292506144a784846149ff565b6020840191909152919491935090915050565b6000806000806144d38686602091810182015192910190565b9097909650945050505050565b60606000826000036145035750506040805160008152602081019091528261454d565b5050604051828201601f831680614518575060205b80830184810186838901015b8183101561453c578051835260209283019201614524565b5050848452601f01601f1916604052505b935093915050565b80825114610b495781516040516355c5b3e360e11b8152600481019190915260248101829052604401610d53565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166000036145be57506000611c12565b611b81837f00000000000000000000000000000000000000000000000000000000000000006145ec87611c62565b61ffff86166000908152602091909152604090209190614879565b6040518060400160405280426001600160401b031681526020018261ffff1681525061463161236b565b6000848152602091825260409081902083518154949093015161ffff16600160401b0269ffffffffffffffffffff199094166001600160401b0390931692909217929092179055517f7f63c9251d82a933210c2b6d0b0f116252c3c116788120e64e8e8215df6f3162906110eb9084815260200190565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166000036146de57505050565b6108e1827f000000000000000000000000000000000000000000000000000000000000000061470c86611c62565b61ffff851660009081526020919091526040902091906148ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660000361475c575050565b610b49817f000000000000000000000000000000000000000000000000000000000000000061478a85611e32565b919061492b565b600061479d8383614a31565b506001600160401b03600891821c81169290911c161190565b60006147c28383614a31565b611c126147e26001600160401b03600885811c8216919087901c16615c18565b68ffffffffffffffff0060089190911b1660ff85161790565b60006148078383614a31565b611c126148276001600160401b03600885811c8216919087901c16615709565b68ffffffffffffffff0060089190911b1660ff84161790565b6060611b818484600085614a66565b614857613e24565b61089e81614b36565b614868613e24565b61089e81614b7b565b6127d8613e24565b6000816001600160401b031660000361489457506000611c12565b60006148a08584611e89565b9050610b2e8185614b83565b806001600160401b03166000036148c257505050565b60006148ce8483611e89565b845467ffffffffffffffff60901b1916600160901b426001600160401b03160217855590506148fd81846147b6565b84546001600160481b0391909116600160481b0268ffffffffffffffffff60481b1990911617909355505050565b806001600160401b031660000361494157505050565b600061494d8483611e89565b845467ffffffffffffffff60901b198116600160901b426001600160401b03160290811787559192506148fd916001600160481b03918216908216179061499690841686614ba8565b6001600160481b031690614c0b565b60408051606081018252600080825260208201819052918101829052906149cc84846144ba565b90835292506149db84846144ba565b6020840191909152600194810185015160ff16604084015291949390910192915050565b60408051808201909152600080825260208201819052600284840181015161ffff168352909201916144a784846144ba565b60ff82811690821680821461080857604051635ce6db6160e11b815260ff808416600483015282166024820152604401610d53565b606082471015614ac75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610d53565b600080866001600160a01b03168587604051614ae391906158da565b60006040518083038185875af1925050503d8060008114614b20576040519150601f19603f3d011682016040523d82523d6000602084013e614b25565b606091505b509150915061390087838387614c37565b614b3e613e24565b6000614b48612ae0565b6001815590506000614b58611a97565b80546001600160a01b0319166001600160a01b0394909416939093179092555050565b61173f613e24565b6000614b8f8383614a31565b506001600160401b03600891821c81169290911c161090565b6000614bb48383614a31565b600883811c6001600160401b039081169184901c811682810192918311614bdb5782614be4565b6001600160401b035b9250611630614bf284612d52565b68ffffffffffffffff0060089190911b1660ff88161790565b6000614c178383614a31565b600882811c6001600160401b039081169185901c1610612ce25781611c12565b60608315614ca6578251600003614c9f576001600160a01b0385163b614c9f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610d53565b5081611b81565b611b818383815115614cbb5781518083602001fd5b8060405162461bcd60e51b8152600401610d53919061500e565b508054614ce190615683565b6000825580601f10614cf1575050565b601f01602090049060005260206000209081019061089e9190614d85565b6040518060a0016040528060006001600160481b03168152602001614d6c6040805160a081018252600081830181815260608301829052608083018290528252825180840190935280835260208381019190915290919082015290565b8152600060208201819052604082015260609081015290565b5b808211156124c45760008155600101614d86565b6001600160a01b038116811461089e57600080fd5b803561143b81614d9a565b600060208284031215614dcc57600080fd5b8135611c1281614d9a565b600060408284031215614de957600080fd5b50919050565b61ffff8116811461089e57600080fd5b803561143b81614def565b600080600060808486031215614e1f57600080fd5b614e298585614dd7565b9250604084013591506060840135614e4081614def565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715614e8357614e83614e4b565b60405290565b60405160a081016001600160401b0381118282101715614e8357614e83614e4b565b60405161010081016001600160401b0381118282101715614e8357614e83614e4b565b60405160e081016001600160401b0381118282101715614e8357614e83614e4b565b604051601f8201601f191681016001600160401b0381118282101715614f1857614f18614e4b565b604052919050565b600060408284031215614f3257600080fd5b614f3a614e61565b90508135614f4781614def565b808252506020820135602082015292915050565b60008060608385031215614f6e57600080fd5b614f788484614f20565b91506040830135614f8881614def565b809150509250929050565b60008060608385031215614fa657600080fd5b614fb08484614dd7565b946040939093013593505050565b60005b83811015614fd9578181015183820152602001614fc1565b50506000910152565b60008151808452614ffa816020860160208601614fbe565b601f01601f19169290920160200192915050565b602081526000611c126020830184614fe2565b6001600160401b038116811461089e57600080fd5b60006020828403121561504857600080fd5b8135611c1281615021565b60208152815160208201526020820151604082015260018060a01b0360408301511660608201526001600160481b036060830151166080820152600060808301516150a460a084018261ffff169052565b5060a08301516001600160401b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810152611b81610120840182614fe2565b6000604082840312156150fb57600080fd5b611c128383614f20565b6000806040838503121561511857600080fd5b823561512381614def565b946020939093013593505050565b6000806060838503121561514457600080fd5b61514e8484614dd7565b91506040830135614f8881614d9a565b60ff8116811461089e57600080fd5b600081830360a081121561518057600080fd5b615188614e61565b9150606081121561519857600080fd5b50604051606081018181106001600160401b03821117156151bb576151bb614e4b565b8060405250823581526020830135602082015260408301356151dc8161515e565b604082015281526151f08360608401614f20565b602082015292915050565b60006001600160401b0382111561521457615214614e4b565b50601f01601f191660200190565b600082601f83011261523357600080fd5b8135615246615241826151fb565b614ef0565b81815284602083860101111561525b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561528a57600080fd5b81356001600160401b03808211156152a157600080fd5b9083019061012082860312156152b657600080fd5b6152be614e89565b82356001600160481b03811681146152d557600080fd5b81526152e4866020850161516d565b602082015260c0830135604082015260e083013560608201526101008301358281111561531057600080fd5b61531c87828601615222565b60808301525095945050505050565b801515811461089e57600080fd5b803561143b8161532b565b60006020828403121561535657600080fd5b81356001600160401b038082111561536d57600080fd5b90830190610100828603121561538257600080fd5b61538a614eab565b61539383614daf565b8152602083013560208201526153ab60408401614dff565b604082015260608301356060820152608083013560808201526153d060a08401615339565b60a082015260c0830135828111156153e757600080fd5b6153f387828601615222565b60c08301525060e08301358281111561540b57600080fd5b61541787828601615222565b60e08301525095945050505050565b60006020828403121561543857600080fd5b81356001600160401b038082111561544f57600080fd5b9083019060e0828603121561546357600080fd5b61546b614ece565b8235815261547b60208401614dff565b602082015260408301356040820152606083013560608201526154a060808401615339565b608082015260a0830135828111156154b757600080fd5b6154c387828601615222565b60a08301525060c0830135828111156154db57600080fd5b6154e787828601615222565b60c08301525095945050505050565b60006020828403121561550857600080fd5b8135611c1281614def565b6000806000806060858703121561552957600080fd5b843561553481614def565b93506020850135925060408501356001600160401b038082111561555757600080fd5b818701915087601f83011261556b57600080fd5b81358181111561557a57600080fd5b88602082850101111561558c57600080fd5b95989497505060200194505050565b634e487b7160e01b600052602160045260246000fd5b825161ffff1681526020808401519082015260608101600283106155e557634e487b7160e01b600052602160045260246000fd5b8260408301529392505050565b60006020828403121561560457600080fd5b5035919050565b6000615619615241846151fb565b905082815283838301111561562d57600080fd5b611c12836020830184614fbe565b60006020828403121561564d57600080fd5b81516001600160401b0381111561566357600080fd5b8201601f8101841361567457600080fd5b611b818482516020840161560b565b600181811c9082168061569757607f821691505b602082108103614de957634e487b7160e01b600052602260045260246000fd5b81356156c281614def565b61ffff811661ffff1983541617825550602082013560018201555050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610887576108876156e0565b6001600160401b03818116838216019080821115615729576157296156e0565b5092915050565b60006020828403121561574257600080fd5b8151611c128161515e565b815161ffff1681526020808301519082015260408101610887565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561579057600080fd5b8151611c128161532b565b634e487b7160e01b600052601260045260246000fd5b8051805183526020810151602084015260ff60408201511660408401525060208101516108e16060840182805161ffff168252602090810151910152565b60a0810161088782846157b1565b6001600160e01b03198916815260f888901b6001600160f81b031916600482015260c087901b6001600160c01b0319166005820152855160009061584881600d850160208b01614fbe565b808301905086600d82015285602d82015261ffff60f01b8560f01b16604d820152835161587c81604f840160208801614fbe565b01604f019a9950505050505050505050565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906158c190830186614fe2565b61ffff9490941660808301525060a00152949350505050565b600082516158ec818460208701614fbe565b9190910192915050565b60ff8281168282160390811115610887576108876156e0565b600181815b8085111561594a578160001904821115615930576159306156e0565b8085161561593d57918102915b93841c9390800290615914565b509250929050565b60008261596157506001610887565b8161596e57506000610887565b8160018114615984576002811461598e576159aa565b6001915050610887565b60ff84111561599f5761599f6156e0565b50506001821b610887565b5060208310610133831016604e8410600b84101617156159cd575081810a610887565b6159d7838361590f565b80600019048211156159eb576159eb6156e0565b029392505050565b6000611c1260ff841683615952565b600082615a1f57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610887576108876156e0565b600060208284031215615a4d57600080fd5b8151611c1281614d9a565b600060208284031215615a6a57600080fd5b8151611c1281615021565b60c08101615a8382856157b1565b6001600160a01b039290921660a09190910152919050565b61ffff871681528560208201528460408201526001600160401b038416606082015260c060808201526000615ad360c0830185614fe2565b82810360a0840152615ae58185614fe2565b9998505050505050505050565b600060208284031215615b0457600080fd5b5051919050565b601f8211156108e157600081815260208120601f850160051c81016020861015615b325750805b601f850160051c820191505b81811015615b5157828155600101615b3e565b505050505050565b81516001600160401b03811115615b7257615b72614e4b565b615b8681615b808454615683565b84615b0b565b602080601f831160018114615bbb5760008415615ba35750858301515b600019600386901b1c1916600185901b178555615b51565b600085815260208120601f198616915b82811015615bea57888601518255948401946001909101908401615bcb565b5085821015615c085787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160401b03828116828216039080821115615729576157296156e056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b4078dfa3bb5c4dd3e7965aa52afa67dd81837542b02de528a8fbdb539b676c164736f6c63430008130033";
1733
+ const isSuperArgs = (xs) => {
1734
+ return (typeof xs[0] === "string" ||
1735
+ Array.isArray(xs[0]) ||
1736
+ "_isInterface" in xs[0]);
1737
+ };
1738
+ class MultiTokenNtt__factory extends ethers_1.ContractFactory {
1739
+ constructor(...args) {
1740
+ if (isSuperArgs(args)) {
1741
+ super(...args);
1742
+ }
1743
+ else {
1744
+ const [linkLibraryAddresses, signer] = args;
1745
+ super(_abi, MultiTokenNtt__factory.linkBytecode(linkLibraryAddresses), signer);
1746
+ }
1747
+ }
1748
+ static linkBytecode(linkLibraryAddresses) {
1749
+ let linkedBytecode = _bytecode;
1750
+ linkedBytecode = linkedBytecode.replace(new RegExp("__\\$3a5f69cefc093539f925e73bc45cac585e\\$__", "g"), linkLibraryAddresses["src/libraries/TokenDeployment.sol:TokenDeployment"]
1751
+ .replace(/^0x/, "")
1752
+ .toLowerCase());
1753
+ linkedBytecode = linkedBytecode.replace(new RegExp("__\\$4033db715c90f2390978d4fb71beaa4caa\\$__", "g"), linkLibraryAddresses["src/libraries/TokenInfo.sol:TokenInfoLib"]
1754
+ .replace(/^0x/, "")
1755
+ .toLowerCase());
1756
+ return linkedBytecode;
1757
+ }
1758
+ getDeployTransaction(_gmpManager, _rateLimitDuration, _skipRateLimiting, _tokenImplementation, _weth, overrides) {
1759
+ return super.getDeployTransaction(_gmpManager, _rateLimitDuration, _skipRateLimiting, _tokenImplementation, _weth, overrides || {});
1760
+ }
1761
+ deploy(_gmpManager, _rateLimitDuration, _skipRateLimiting, _tokenImplementation, _weth, overrides) {
1762
+ return super.deploy(_gmpManager, _rateLimitDuration, _skipRateLimiting, _tokenImplementation, _weth, overrides || {});
1763
+ }
1764
+ connect(runner) {
1765
+ return super.connect(runner);
1766
+ }
1767
+ static bytecode = _bytecode;
1768
+ static abi = _abi;
1769
+ static createInterface() {
1770
+ return new ethers_1.Interface(_abi);
1771
+ }
1772
+ static connect(address, runner) {
1773
+ return new ethers_1.Contract(address, _abi, runner);
1774
+ }
1775
+ }
1776
+ exports.MultiTokenNtt__factory = MultiTokenNtt__factory;
1777
+ //# sourceMappingURL=MultiTokenNtt__factory.js.map