@ensdomains/ensjs 3.0.0-alpha.10 → 3.0.0-alpha.13

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 (277) hide show
  1. package/dist/cjs/contracts/baseRegistrar.d.ts +1 -1
  2. package/dist/cjs/contracts/index.d.ts +3 -3
  3. package/dist/cjs/contracts/multicall.d.ts +1 -1
  4. package/dist/cjs/contracts/registry.d.ts +1 -1
  5. package/dist/cjs/functions/burnFuses.js +1 -1
  6. package/dist/cjs/functions/commitName.d.ts +26 -0
  7. package/dist/cjs/functions/commitName.js +24 -0
  8. package/dist/cjs/functions/createSubname.d.ts +3 -1
  9. package/dist/cjs/functions/createSubname.js +4 -2
  10. package/dist/cjs/functions/deleteSubname.d.ts +1 -1
  11. package/dist/cjs/functions/deleteSubname.js +3 -2
  12. package/dist/cjs/functions/getExpiry.d.ts +9 -2
  13. package/dist/cjs/functions/getExpiry.js +52 -7
  14. package/dist/cjs/functions/getFuses.d.ts +2 -3
  15. package/dist/cjs/functions/getFuses.js +4 -13
  16. package/dist/cjs/functions/getHistory.d.ts +0 -30
  17. package/dist/cjs/functions/getHistory.js +3 -99
  18. package/dist/cjs/functions/getName.d.ts +2 -2
  19. package/dist/cjs/functions/getName.js +1 -1
  20. package/dist/cjs/functions/getProfile.js +1 -1
  21. package/dist/cjs/functions/getSpecificRecord.js +8 -1
  22. package/dist/cjs/functions/getSubnames.d.ts +1 -1
  23. package/dist/cjs/functions/getSubnames.js +1 -1
  24. package/dist/cjs/functions/registerName.d.ts +11 -0
  25. package/dist/cjs/functions/registerName.js +19 -0
  26. package/dist/cjs/functions/renewName.d.ts +6 -0
  27. package/dist/cjs/functions/renewName.js +10 -0
  28. package/dist/cjs/functions/transferSubname.d.ts +12 -3
  29. package/dist/cjs/functions/transferSubname.js +5 -3
  30. package/dist/cjs/functions/wrapName.d.ts +3 -1
  31. package/dist/cjs/functions/wrapName.js +35 -29
  32. package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +222 -201
  33. package/dist/cjs/generated/DNSRegistrar.d.ts +68 -64
  34. package/dist/cjs/generated/DNSSECImpl.d.ts +111 -111
  35. package/dist/cjs/generated/DefaultReverseResolver.d.ts +17 -17
  36. package/dist/cjs/generated/ENSRegistry.d.ts +126 -111
  37. package/dist/cjs/generated/ETHRegistrarController.d.ts +111 -109
  38. package/dist/cjs/generated/Multicall.d.ts +60 -60
  39. package/dist/cjs/generated/NameWrapper.d.ts +493 -354
  40. package/dist/cjs/generated/P256SHA256Algorithm.d.ts +11 -7
  41. package/dist/cjs/generated/PublicResolver.d.ts +259 -235
  42. package/dist/cjs/generated/RSASHA1Algorithm.d.ts +11 -7
  43. package/dist/cjs/generated/RSASHA256Algorithm.d.ts +11 -7
  44. package/dist/cjs/generated/ReverseRegistrar.d.ts +112 -103
  45. package/dist/cjs/generated/Root.d.ts +77 -77
  46. package/dist/cjs/generated/SHA1Digest.d.ts +7 -7
  47. package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +11 -7
  48. package/dist/cjs/generated/SHA256Digest.d.ts +7 -7
  49. package/dist/cjs/generated/StaticMetadataService.d.ts +7 -7
  50. package/dist/cjs/generated/TLDPublicSuffixList.d.ts +7 -7
  51. package/dist/cjs/generated/UniversalResolver.d.ts +31 -31
  52. package/dist/cjs/generated/common.d.ts +1 -0
  53. package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +3 -15
  54. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +3 -26
  55. package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +3 -15
  56. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +3 -26
  57. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +14 -4
  58. package/dist/cjs/generated/factories/NameWrapper__factory.js +210 -79
  59. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
  60. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +3 -26
  61. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
  62. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +3 -26
  63. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
  64. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +3 -26
  65. package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +3 -15
  66. package/dist/cjs/generated/factories/SHA1Digest__factory.js +3 -26
  67. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
  68. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +3 -26
  69. package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +3 -15
  70. package/dist/cjs/generated/factories/SHA256Digest__factory.js +3 -26
  71. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
  72. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +3 -26
  73. package/dist/cjs/generated/factories/index.d.ts +14 -0
  74. package/dist/cjs/generated/factories/index.js +29 -1
  75. package/dist/cjs/generated/index.d.ts +29 -1
  76. package/dist/cjs/generated/index.js +31 -3
  77. package/dist/cjs/index.d.ts +24 -40
  78. package/dist/cjs/index.js +9 -5
  79. package/dist/cjs/utils/registerHelpers.d.ts +44 -16
  80. package/dist/cjs/utils/registerHelpers.js +43 -15
  81. package/dist/cjs/utils/wrapperExpiry.d.ts +5 -0
  82. package/dist/cjs/utils/wrapperExpiry.js +30 -0
  83. package/dist/cjs/utils/writeTx.d.ts +18 -1
  84. package/dist/cjs/utils/writeTx.js +4 -1
  85. package/dist/esm/contracts/baseRegistrar.d.ts +1 -1
  86. package/dist/esm/contracts/index.d.ts +3 -3
  87. package/dist/esm/contracts/multicall.d.ts +1 -1
  88. package/dist/esm/contracts/registry.d.ts +1 -1
  89. package/dist/esm/functions/burnFuses.js +1 -1
  90. package/dist/esm/functions/commitName.d.ts +26 -0
  91. package/dist/esm/functions/commitName.js +21 -0
  92. package/dist/esm/functions/createSubname.d.ts +3 -1
  93. package/dist/esm/functions/createSubname.js +4 -2
  94. package/dist/esm/functions/deleteSubname.d.ts +1 -1
  95. package/dist/esm/functions/deleteSubname.js +3 -2
  96. package/dist/esm/functions/getExpiry.d.ts +9 -2
  97. package/dist/esm/functions/getExpiry.js +52 -7
  98. package/dist/esm/functions/getFuses.d.ts +2 -3
  99. package/dist/esm/functions/getFuses.js +5 -14
  100. package/dist/esm/functions/getHistory.d.ts +0 -30
  101. package/dist/esm/functions/getHistory.js +2 -96
  102. package/dist/esm/functions/getName.d.ts +2 -2
  103. package/dist/esm/functions/getName.js +1 -1
  104. package/dist/esm/functions/getProfile.js +1 -1
  105. package/dist/esm/functions/getSpecificRecord.js +8 -1
  106. package/dist/esm/functions/getSubnames.d.ts +1 -1
  107. package/dist/esm/functions/getSubnames.js +1 -1
  108. package/dist/esm/functions/registerName.d.ts +11 -0
  109. package/dist/esm/functions/registerName.js +16 -0
  110. package/dist/esm/functions/renewName.d.ts +6 -0
  111. package/dist/esm/functions/renewName.js +7 -0
  112. package/dist/esm/functions/transferSubname.d.ts +12 -3
  113. package/dist/esm/functions/transferSubname.js +5 -3
  114. package/dist/esm/functions/wrapName.d.ts +3 -1
  115. package/dist/esm/functions/wrapName.js +35 -29
  116. package/dist/esm/generated/BaseRegistrarImplementation.d.ts +222 -201
  117. package/dist/esm/generated/DNSRegistrar.d.ts +68 -64
  118. package/dist/esm/generated/DNSSECImpl.d.ts +111 -111
  119. package/dist/esm/generated/DefaultReverseResolver.d.ts +17 -17
  120. package/dist/esm/generated/ENSRegistry.d.ts +126 -111
  121. package/dist/esm/generated/ETHRegistrarController.d.ts +111 -109
  122. package/dist/esm/generated/Multicall.d.ts +60 -60
  123. package/dist/esm/generated/NameWrapper.d.ts +493 -354
  124. package/dist/esm/generated/P256SHA256Algorithm.d.ts +11 -7
  125. package/dist/esm/generated/PublicResolver.d.ts +259 -235
  126. package/dist/esm/generated/RSASHA1Algorithm.d.ts +11 -7
  127. package/dist/esm/generated/RSASHA256Algorithm.d.ts +11 -7
  128. package/dist/esm/generated/ReverseRegistrar.d.ts +112 -103
  129. package/dist/esm/generated/Root.d.ts +77 -77
  130. package/dist/esm/generated/SHA1Digest.d.ts +7 -7
  131. package/dist/esm/generated/SHA1NSEC3Digest.d.ts +11 -7
  132. package/dist/esm/generated/SHA256Digest.d.ts +7 -7
  133. package/dist/esm/generated/StaticMetadataService.d.ts +7 -7
  134. package/dist/esm/generated/TLDPublicSuffixList.d.ts +7 -7
  135. package/dist/esm/generated/UniversalResolver.d.ts +31 -31
  136. package/dist/esm/generated/common.d.ts +1 -0
  137. package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +3 -15
  138. package/dist/esm/generated/factories/DNSRegistrar__factory.js +2 -25
  139. package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +3 -15
  140. package/dist/esm/generated/factories/DNSSECImpl__factory.js +2 -25
  141. package/dist/esm/generated/factories/ETHRegistrarController__factory.js +14 -4
  142. package/dist/esm/generated/factories/NameWrapper__factory.js +210 -79
  143. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
  144. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +2 -25
  145. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
  146. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +2 -25
  147. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
  148. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +2 -25
  149. package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +3 -15
  150. package/dist/esm/generated/factories/SHA1Digest__factory.js +2 -25
  151. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
  152. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +2 -25
  153. package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +3 -15
  154. package/dist/esm/generated/factories/SHA256Digest__factory.js +2 -25
  155. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
  156. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +2 -25
  157. package/dist/esm/generated/factories/index.d.ts +14 -0
  158. package/dist/esm/generated/factories/index.js +14 -0
  159. package/dist/esm/generated/index.d.ts +29 -1
  160. package/dist/esm/generated/index.js +15 -1
  161. package/dist/esm/index.d.ts +24 -40
  162. package/dist/esm/index.js +9 -5
  163. package/dist/esm/utils/registerHelpers.d.ts +44 -16
  164. package/dist/esm/utils/registerHelpers.js +40 -14
  165. package/dist/esm/utils/wrapperExpiry.d.ts +5 -0
  166. package/dist/esm/utils/wrapperExpiry.js +26 -0
  167. package/dist/esm/utils/writeTx.d.ts +18 -1
  168. package/dist/esm/utils/writeTx.js +4 -1
  169. package/package.json +27 -28
  170. package/src/ABIs/Multicall.json +452 -0
  171. package/src/contracts/index.ts +1 -1
  172. package/src/functions/batch.test.ts +6 -6
  173. package/src/functions/batchWrappers.test.ts +5 -5
  174. package/src/functions/burnFuses.test.ts +5 -10
  175. package/src/functions/burnFuses.ts +1 -1
  176. package/src/functions/commitName.test.ts +61 -0
  177. package/src/functions/commitName.ts +36 -0
  178. package/src/functions/createSubname.test.ts +6 -10
  179. package/src/functions/createSubname.ts +14 -2
  180. package/src/functions/deleteSubname.test.ts +9 -28
  181. package/src/functions/deleteSubname.ts +3 -2
  182. package/src/functions/getDNSOwner.test.ts +1 -5
  183. package/src/functions/getExpiry.test.ts +26 -4
  184. package/src/functions/getExpiry.ts +87 -9
  185. package/src/functions/getFuses.test.ts +10 -33
  186. package/src/functions/getFuses.ts +10 -16
  187. package/src/functions/getHistory.test.ts +7 -79
  188. package/src/functions/getHistory.ts +2 -127
  189. package/src/functions/getName.test.ts +5 -5
  190. package/src/functions/getName.ts +1 -1
  191. package/src/functions/getNames.test.ts +97 -68
  192. package/src/functions/getOwner.test.ts +10 -25
  193. package/src/functions/getProfile.test.ts +32 -24
  194. package/src/functions/getProfile.ts +1 -1
  195. package/src/functions/getResolver.test.ts +2 -6
  196. package/src/functions/getSpecificRecord.test.ts +16 -13
  197. package/src/functions/getSpecificRecord.ts +10 -4
  198. package/src/functions/getSubnames.test.ts +21 -17
  199. package/src/functions/getSubnames.ts +9 -2
  200. package/src/functions/makeCommitment.test.ts +2 -2
  201. package/src/functions/registerName.test.ts +59 -0
  202. package/src/functions/registerName.ts +38 -0
  203. package/src/functions/renewName.test.ts +44 -0
  204. package/src/functions/renewName.ts +22 -0
  205. package/src/functions/setName.test.ts +10 -11
  206. package/src/functions/setRecord.test.ts +12 -9
  207. package/src/functions/setRecords.test.ts +6 -5
  208. package/src/functions/setResolver.test.ts +6 -9
  209. package/src/functions/transferName.test.ts +13 -27
  210. package/src/functions/transferSubname.test.ts +11 -30
  211. package/src/functions/transferSubname.ts +28 -10
  212. package/src/functions/unwrapName.test.ts +13 -28
  213. package/src/functions/wrapName.test.ts +109 -34
  214. package/src/functions/wrapName.ts +45 -29
  215. package/src/generated/BaseRegistrarImplementation.ts +382 -296
  216. package/src/generated/DNSRegistrar.ts +103 -89
  217. package/src/generated/DNSSECImpl.ts +180 -149
  218. package/src/generated/DefaultReverseResolver.ts +37 -21
  219. package/src/generated/ENSRegistry.ts +257 -184
  220. package/src/generated/ETHRegistrarController.ts +252 -191
  221. package/src/generated/Multicall.ts +73 -57
  222. package/src/generated/NameWrapper.ts +979 -649
  223. package/src/generated/P256SHA256Algorithm.ts +21 -16
  224. package/src/generated/PublicResolver.ts +452 -362
  225. package/src/generated/RSASHA1Algorithm.ts +21 -16
  226. package/src/generated/RSASHA256Algorithm.ts +21 -16
  227. package/src/generated/ReverseRegistrar.ts +193 -141
  228. package/src/generated/Root.ts +146 -86
  229. package/src/generated/SHA1Digest.ts +12 -11
  230. package/src/generated/SHA1NSEC3Digest.ts +21 -16
  231. package/src/generated/SHA256Digest.ts +12 -11
  232. package/src/generated/StaticMetadataService.ts +22 -6
  233. package/src/generated/TLDPublicSuffixList.ts +10 -6
  234. package/src/generated/UniversalResolver.ts +44 -40
  235. package/src/generated/common.ts +2 -0
  236. package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
  237. package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
  238. package/src/generated/factories/ETHRegistrarController__factory.ts +14 -4
  239. package/src/generated/factories/NameWrapper__factory.ts +210 -79
  240. package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
  241. package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
  242. package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
  243. package/src/generated/factories/SHA1Digest__factory.ts +4 -40
  244. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
  245. package/src/generated/factories/SHA256Digest__factory.ts +4 -40
  246. package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
  247. package/src/generated/factories/index.ts +14 -0
  248. package/src/generated/index.ts +29 -1
  249. package/src/index.ts +28 -26
  250. package/src/utils/registerHelpers.ts +107 -49
  251. package/src/utils/wrapperExpiry.ts +31 -0
  252. package/src/utils/writeTx.ts +12 -2
  253. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  254. package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
  255. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  256. package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
  257. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  258. package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
  259. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
  260. package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
  261. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
  262. package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
  263. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
  264. package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
  265. package/src/ABIs/ETHRegistrarController.json +0 -494
  266. package/src/ABIs/NameWrapper.json +0 -1183
  267. package/src/ABIs/PublicResolver.json +0 -875
  268. package/src/ABIs/ReverseRegistrar.json +0 -323
  269. package/src/ABIs/StaticMetadataService.json +0 -32
  270. package/src/ABIs/UniversalResolver.json +0 -187
  271. package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
  272. package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
  273. package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
  274. package/src/tests/populateTransaction.test.ts +0 -40
  275. package/src/tests/setup.ts +0 -53
  276. package/src/tests/signerInjection.test.ts +0 -46
  277. package/src/tests/withProvider.test.ts +0 -28
@@ -0,0 +1,452 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "inputs": [
5
+ {
6
+ "components": [
7
+ {
8
+ "internalType": "address",
9
+ "name": "target",
10
+ "type": "address"
11
+ },
12
+ {
13
+ "internalType": "bytes",
14
+ "name": "callData",
15
+ "type": "bytes"
16
+ }
17
+ ],
18
+ "internalType": "struct Multicall3.Call[]",
19
+ "name": "calls",
20
+ "type": "tuple[]"
21
+ }
22
+ ],
23
+ "name": "aggregate",
24
+ "outputs": [
25
+ {
26
+ "internalType": "uint256",
27
+ "name": "blockNumber",
28
+ "type": "uint256"
29
+ },
30
+ {
31
+ "internalType": "bytes[]",
32
+ "name": "returnData",
33
+ "type": "bytes[]"
34
+ }
35
+ ],
36
+ "stateMutability": "payable",
37
+ "type": "function"
38
+ },
39
+ {
40
+ "inputs": [
41
+ {
42
+ "components": [
43
+ {
44
+ "internalType": "address",
45
+ "name": "target",
46
+ "type": "address"
47
+ },
48
+ {
49
+ "internalType": "bool",
50
+ "name": "allowFailure",
51
+ "type": "bool"
52
+ },
53
+ {
54
+ "internalType": "bytes",
55
+ "name": "callData",
56
+ "type": "bytes"
57
+ }
58
+ ],
59
+ "internalType": "struct Multicall3.Call3[]",
60
+ "name": "calls",
61
+ "type": "tuple[]"
62
+ }
63
+ ],
64
+ "name": "aggregate3",
65
+ "outputs": [
66
+ {
67
+ "components": [
68
+ {
69
+ "internalType": "bool",
70
+ "name": "success",
71
+ "type": "bool"
72
+ },
73
+ {
74
+ "internalType": "bytes",
75
+ "name": "returnData",
76
+ "type": "bytes"
77
+ }
78
+ ],
79
+ "internalType": "struct Multicall3.Result[]",
80
+ "name": "returnData",
81
+ "type": "tuple[]"
82
+ }
83
+ ],
84
+ "stateMutability": "payable",
85
+ "type": "function"
86
+ },
87
+ {
88
+ "inputs": [
89
+ {
90
+ "components": [
91
+ {
92
+ "internalType": "address",
93
+ "name": "target",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "internalType": "bool",
98
+ "name": "allowFailure",
99
+ "type": "bool"
100
+ },
101
+ {
102
+ "internalType": "uint256",
103
+ "name": "value",
104
+ "type": "uint256"
105
+ },
106
+ {
107
+ "internalType": "bytes",
108
+ "name": "callData",
109
+ "type": "bytes"
110
+ }
111
+ ],
112
+ "internalType": "struct Multicall3.Call3Value[]",
113
+ "name": "calls",
114
+ "type": "tuple[]"
115
+ }
116
+ ],
117
+ "name": "aggregate3Value",
118
+ "outputs": [
119
+ {
120
+ "components": [
121
+ {
122
+ "internalType": "bool",
123
+ "name": "success",
124
+ "type": "bool"
125
+ },
126
+ {
127
+ "internalType": "bytes",
128
+ "name": "returnData",
129
+ "type": "bytes"
130
+ }
131
+ ],
132
+ "internalType": "struct Multicall3.Result[]",
133
+ "name": "returnData",
134
+ "type": "tuple[]"
135
+ }
136
+ ],
137
+ "stateMutability": "payable",
138
+ "type": "function"
139
+ },
140
+ {
141
+ "inputs": [
142
+ {
143
+ "components": [
144
+ {
145
+ "internalType": "address",
146
+ "name": "target",
147
+ "type": "address"
148
+ },
149
+ {
150
+ "internalType": "bytes",
151
+ "name": "callData",
152
+ "type": "bytes"
153
+ }
154
+ ],
155
+ "internalType": "struct Multicall3.Call[]",
156
+ "name": "calls",
157
+ "type": "tuple[]"
158
+ }
159
+ ],
160
+ "name": "blockAndAggregate",
161
+ "outputs": [
162
+ {
163
+ "internalType": "uint256",
164
+ "name": "blockNumber",
165
+ "type": "uint256"
166
+ },
167
+ {
168
+ "internalType": "bytes32",
169
+ "name": "blockHash",
170
+ "type": "bytes32"
171
+ },
172
+ {
173
+ "components": [
174
+ {
175
+ "internalType": "bool",
176
+ "name": "success",
177
+ "type": "bool"
178
+ },
179
+ {
180
+ "internalType": "bytes",
181
+ "name": "returnData",
182
+ "type": "bytes"
183
+ }
184
+ ],
185
+ "internalType": "struct Multicall3.Result[]",
186
+ "name": "returnData",
187
+ "type": "tuple[]"
188
+ }
189
+ ],
190
+ "stateMutability": "payable",
191
+ "type": "function"
192
+ },
193
+ {
194
+ "inputs": [],
195
+ "name": "getBasefee",
196
+ "outputs": [
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "basefee",
200
+ "type": "uint256"
201
+ }
202
+ ],
203
+ "stateMutability": "view",
204
+ "type": "function"
205
+ },
206
+ {
207
+ "inputs": [
208
+ {
209
+ "internalType": "uint256",
210
+ "name": "blockNumber",
211
+ "type": "uint256"
212
+ }
213
+ ],
214
+ "name": "getBlockHash",
215
+ "outputs": [
216
+ {
217
+ "internalType": "bytes32",
218
+ "name": "blockHash",
219
+ "type": "bytes32"
220
+ }
221
+ ],
222
+ "stateMutability": "view",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "getBlockNumber",
228
+ "outputs": [
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "blockNumber",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "stateMutability": "view",
236
+ "type": "function"
237
+ },
238
+ {
239
+ "inputs": [],
240
+ "name": "getChainId",
241
+ "outputs": [
242
+ {
243
+ "internalType": "uint256",
244
+ "name": "chainid",
245
+ "type": "uint256"
246
+ }
247
+ ],
248
+ "stateMutability": "view",
249
+ "type": "function"
250
+ },
251
+ {
252
+ "inputs": [],
253
+ "name": "getCurrentBlockCoinbase",
254
+ "outputs": [
255
+ {
256
+ "internalType": "address",
257
+ "name": "coinbase",
258
+ "type": "address"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [],
266
+ "name": "getCurrentBlockDifficulty",
267
+ "outputs": [
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "difficulty",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "view",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "getCurrentBlockGasLimit",
280
+ "outputs": [
281
+ {
282
+ "internalType": "uint256",
283
+ "name": "gaslimit",
284
+ "type": "uint256"
285
+ }
286
+ ],
287
+ "stateMutability": "view",
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [],
292
+ "name": "getCurrentBlockTimestamp",
293
+ "outputs": [
294
+ {
295
+ "internalType": "uint256",
296
+ "name": "timestamp",
297
+ "type": "uint256"
298
+ }
299
+ ],
300
+ "stateMutability": "view",
301
+ "type": "function"
302
+ },
303
+ {
304
+ "inputs": [
305
+ {
306
+ "internalType": "address",
307
+ "name": "addr",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "name": "getEthBalance",
312
+ "outputs": [
313
+ {
314
+ "internalType": "uint256",
315
+ "name": "balance",
316
+ "type": "uint256"
317
+ }
318
+ ],
319
+ "stateMutability": "view",
320
+ "type": "function"
321
+ },
322
+ {
323
+ "inputs": [],
324
+ "name": "getLastBlockHash",
325
+ "outputs": [
326
+ {
327
+ "internalType": "bytes32",
328
+ "name": "blockHash",
329
+ "type": "bytes32"
330
+ }
331
+ ],
332
+ "stateMutability": "view",
333
+ "type": "function"
334
+ },
335
+ {
336
+ "inputs": [
337
+ {
338
+ "internalType": "bool",
339
+ "name": "requireSuccess",
340
+ "type": "bool"
341
+ },
342
+ {
343
+ "components": [
344
+ {
345
+ "internalType": "address",
346
+ "name": "target",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "internalType": "bytes",
351
+ "name": "callData",
352
+ "type": "bytes"
353
+ }
354
+ ],
355
+ "internalType": "struct Multicall3.Call[]",
356
+ "name": "calls",
357
+ "type": "tuple[]"
358
+ }
359
+ ],
360
+ "name": "tryAggregate",
361
+ "outputs": [
362
+ {
363
+ "components": [
364
+ {
365
+ "internalType": "bool",
366
+ "name": "success",
367
+ "type": "bool"
368
+ },
369
+ {
370
+ "internalType": "bytes",
371
+ "name": "returnData",
372
+ "type": "bytes"
373
+ }
374
+ ],
375
+ "internalType": "struct Multicall3.Result[]",
376
+ "name": "returnData",
377
+ "type": "tuple[]"
378
+ }
379
+ ],
380
+ "stateMutability": "payable",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [
385
+ {
386
+ "internalType": "bool",
387
+ "name": "requireSuccess",
388
+ "type": "bool"
389
+ },
390
+ {
391
+ "components": [
392
+ {
393
+ "internalType": "address",
394
+ "name": "target",
395
+ "type": "address"
396
+ },
397
+ {
398
+ "internalType": "bytes",
399
+ "name": "callData",
400
+ "type": "bytes"
401
+ }
402
+ ],
403
+ "internalType": "struct Multicall3.Call[]",
404
+ "name": "calls",
405
+ "type": "tuple[]"
406
+ }
407
+ ],
408
+ "name": "tryBlockAndAggregate",
409
+ "outputs": [
410
+ {
411
+ "internalType": "uint256",
412
+ "name": "blockNumber",
413
+ "type": "uint256"
414
+ },
415
+ {
416
+ "internalType": "bytes32",
417
+ "name": "blockHash",
418
+ "type": "bytes32"
419
+ },
420
+ {
421
+ "components": [
422
+ {
423
+ "internalType": "bool",
424
+ "name": "success",
425
+ "type": "bool"
426
+ },
427
+ {
428
+ "internalType": "bytes",
429
+ "name": "returnData",
430
+ "type": "bytes"
431
+ }
432
+ ],
433
+ "internalType": "struct Multicall3.Result[]",
434
+ "name": "returnData",
435
+ "type": "tuple[]"
436
+ }
437
+ ],
438
+ "stateMutability": "payable",
439
+ "type": "function"
440
+ }
441
+ ],
442
+ "bytecode": {
443
+ "object": "0x608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea264697066735822122032840c46a1df3756b0617d292f07888692735eef24ff69bf4fe353d639a3b9fa64736f6c634300080c0033",
444
+ "sourceMap": "502:9107:5:-:0;;;;;;;;;;;;;;;;;;;",
445
+ "linkReferences": {}
446
+ },
447
+ "deployedBytecode": {
448
+ "object": "0x6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea264697066735822122032840c46a1df3756b0617d292f07888692735eef24ff69bf4fe353d639a3b9fa64736f6c634300080c0033",
449
+ "sourceMap": "502:9107:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8696:120;;;;;;;;;;-1:-1:-1;8794:15:5;8696:120;;;160:25:12;;;148:2;133:18;8696:120:5;;;;;;;;5771:1961;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1166:534::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;9060:158::-;;;;;;;;;;-1:-1:-1;9184:12:5;:16;;9174:27;9060:158;;9507:100;;;;;;;;;;-1:-1:-1;9587:13:5;9507:100;;2932:312;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;9364:100::-;;;;;;;;;;-1:-1:-1;9444:13:5;9364:100;;8029:111;;;;;;;;;;-1:-1:-1;8121:12:5;8029:111;;8883:114;;;;;;;;;;-1:-1:-1;8883:114:5;;;;;:::i;:::-;8978:12;;;;8883:114;8356:124;;;;;;;;;;-1:-1:-1;8457:16:5;8356:124;;4039:1494;;;;;;:::i;:::-;;:::i;8530:116::-;;;;;;;;;;-1:-1:-1;8625:14:5;8530:116;;8189;;;;;;;;;;-1:-1:-1;8189:116:5;;8284:14;6463:74:12;;6451:2;6436:18;8189:116:5;6317:226:12;1985:565:5;;;;;;:::i;:::-;;:::i;3626:231::-;;;;;;:::i;:::-;;:::i;7848:134::-;;;;;;;;;;-1:-1:-1;7848:134:5;;;;;:::i;:::-;7953:22;;7848:134;5771:1961;5849:26;5887:22;5936:5;;5971:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5971:20:5;;;;;;;;;;;;;;;;5958:33;;6001:25;6041:9;6036:1545;6060:6;6056:1;:10;6036:1545;;;6083:20;6106:10;6117:1;6106:13;;;;;;;;:::i;:::-;;;;;;;6083:36;;6141:5;;6147:1;6141:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6177:11;;;;6389:21;;;;6133:16;;-1:-1:-1;6464:12:5;;;;6133:16;6464:12;:::i;:::-;:17;;6489:3;6494:14;;;;:5;:14;:::i;:::-;6464:45;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6443:17:5;;;;6426:83;;;;;;;;;;6746:16;;;6733:30;6730:49;6720:806;;6914:66;6908:4;6901:80;7054:66;7048:4;7041:80;7206:66;7200:4;7193:80;7402:66;7396:4;7389:80;7503:4;7497;7490:18;6720:806;-1:-1:-1;;7565:3:5;;6036:1545;;;;7680:14;7667:9;:27;7659:66;;;;;;;8565:2:12;7659:66:5;;;8547:21:12;8604:2;8584:18;;;8577:30;8643:28;8623:18;;;8616:56;8689:18;;7659:66:5;;;;;;;;;5877:1855;;;5771:1961;;;;:::o;1166:534::-;1304:12;1253:25;1343:5;;1378:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1365:32;;1407:18;1440:9;1435:259;1459:6;1455:1;:10;1435:259;;;1482:12;1515:5;;1521:1;1515:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1508:15;-1:-1:-1;1564:11:5;;;;1508:15;1564:11;:::i;:::-;:16;;1581:13;;;;:4;:13;:::i;:::-;1564:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1547:10;1558:1;1547:13;;;;;;;;:::i;:::-;;;;;;;;;;1537:58;;-1:-1:-1;1537:58:5;1609:43;;;;;;;9305:2:12;1609:43:5;;;9287:21:12;9344:2;9324:18;;;9317:30;9383:25;9363:18;;;9356:53;9426:18;;1609:43:5;9103:347:12;1609:43:5;-1:-1:-1;1678:3:5;;1435:259;;;;1280:420;;1166:534;;;;;:::o;2932:312::-;3122:12;3156:23;;3070:26;3202:35;3215:14;3231:5;;3202:12;:35::i;:::-;3189:48;;2932:312;;;;;;;:::o;4039:1494::-;4107:26;4162:5;;4197:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;4197:20:5;;;;;;;;;;;;;;;;4184:33;;4227:20;4262:9;4257:1270;4281:6;4277:1;:10;4257:1270;;;4304:20;4327:10;4338:1;4327:13;;;;;;;;:::i;:::-;;;;;;;4304:36;;4362:5;;4368:1;4362:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4354:16;-1:-1:-1;4422:12:5;;;;4354:16;4422:12;:::i;:::-;:17;;4440:14;;;;:5;:14;:::i;:::-;4422:33;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4401:17:5;;;;4384:71;;;;;;;;;;4692:16;;;4679:30;4676:49;4666:806;;4860:66;4854:4;4847:80;5000:66;4994:4;4987:80;5152:66;5146:4;5139:80;5348:66;5342:4;5335:80;5449:4;5443;5436:18;4666:806;-1:-1:-1;5511:3:5;;4257:1270;;1985:565;2075:26;2130:5;;2165:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2165:20:5;;;;;;;;;;;;;;;;2152:33;;2195:18;2228:9;2223:321;2247:6;2243:1;:10;2223:321;;;2270:20;2293:10;2304:1;2293:13;;;;;;;;:::i;:::-;;;;;;;2270:36;;2327:5;;2333:1;2327:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;2320:15;-1:-1:-1;2387:11:5;;;;2320:15;2387:11;:::i;:::-;:16;;2404:13;;;;:4;:13;:::i;:::-;2387:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2366:17:5;;;2349:69;;;;;2432:70;;;;2460:14;;2452:50;;;;;;;9305:2:12;2452:50:5;;;9287:21:12;9344:2;9324:18;;;9317:30;9383:25;9363:18;;;9356:53;9426:18;;2452:50:5;9103:347:12;2452:50:5;-1:-1:-1;2528:3:5;;2223:321;;;;2103:447;;1985:565;;;;;:::o;3626:231::-;3700:19;3721:17;3740:26;3817:33;3838:4;3844:5;;3817:20;:33::i;:::-;3778:72;;;;-1:-1:-1;3778:72:5;;-1:-1:-1;3626:231:5;-1:-1:-1;;;3626:231:5:o;196:386:12:-;278:8;288:6;342:3;335:4;327:6;323:17;319:27;309:55;;360:1;357;350:12;309:55;-1:-1:-1;383:20:12;;426:18;415:30;;412:50;;;458:1;455;448:12;412:50;495:4;487:6;483:17;471:29;;555:3;548:4;538:6;535:1;531:14;523:6;519:27;515:38;512:47;509:67;;;572:1;569;562:12;509:67;196:386;;;;;:::o;587:486::-;703:6;711;764:2;752:9;743:7;739:23;735:32;732:52;;;780:1;777;770:12;732:52;820:9;807:23;853:18;845:6;842:30;839:50;;;885:1;882;875:12;839:50;924:89;1005:7;996:6;985:9;981:22;924:89;:::i;:::-;1032:8;;898:115;;-1:-1:-1;587:486:12;-1:-1:-1;;;;587:486:12:o;1078:530::-;1119:3;1157:5;1151:12;1184:6;1179:3;1172:19;1209:1;1219:162;1233:6;1230:1;1227:13;1219:162;;;1295:4;1351:13;;;1347:22;;1341:29;1323:11;;;1319:20;;1312:59;1248:12;1219:162;;;1399:6;1396:1;1393:13;1390:87;;;1465:1;1458:4;1449:6;1444:3;1440:16;1436:27;1429:38;1390:87;-1:-1:-1;1522:2:12;1510:15;1527:66;1506:88;1497:98;;;;1597:4;1493:109;;1078:530;-1:-1:-1;;1078:530:12:o;1613:869::-;1672:3;1703;1735:5;1729:12;1762:6;1757:3;1750:19;1788:4;1817:2;1812:3;1808:12;1801:19;;1873:2;1863:6;1860:1;1856:14;1849:5;1845:26;1841:35;1910:2;1903:5;1899:14;1931:1;1941:515;1955:6;1952:1;1949:13;1941:515;;;2020:16;;;2038:66;2016:89;2004:102;;2129:13;;2209:9;;2202:17;2195:25;2182:39;;2260:11;;2254:18;2165:4;2292:13;;;2285:25;;;2331:45;2362:13;;;2254:18;2331:45;:::i;:::-;2434:12;;;;2323:53;-1:-1:-1;;;2399:15:12;;;;1977:1;1970:9;1941:515;;;-1:-1:-1;2472:4:12;;1613:869;-1:-1:-1;;;;;;;1613:869:12:o;2487:315::-;2714:2;2703:9;2696:21;2677:4;2734:62;2792:2;2781:9;2777:18;2769:6;2734:62;:::i;:::-;2726:70;2487:315;-1:-1:-1;;;2487:315:12:o;3292:930::-;3480:4;3528:2;3517:9;3513:18;3558:6;3547:9;3540:25;3584:2;3622;3617;3606:9;3602:18;3595:30;3645:6;3680;3674:13;3711:6;3703;3696:22;3749:2;3738:9;3734:18;3727:25;;3811:2;3801:6;3798:1;3794:14;3783:9;3779:30;3775:39;3761:53;;3849:2;3841:6;3837:15;3870:1;3880:313;3894:6;3891:1;3888:13;3880:313;;;3983:66;3971:9;3963:6;3959:22;3955:95;3950:3;3943:108;4074:39;4106:6;4097;4091:13;4074:39;:::i;:::-;4064:49;-1:-1:-1;4171:12:12;;;;4136:15;;;;3916:1;3909:9;3880:313;;;-1:-1:-1;4210:6:12;;3292:930;-1:-1:-1;;;;;;;;3292:930:12:o;4409:641::-;4525:6;4533;4541;4594:2;4582:9;4573:7;4569:23;4565:32;4562:52;;;4610:1;4607;4600:12;4562:52;4649:9;4636:23;4702:5;4695:13;4688:21;4681:5;4678:32;4668:60;;4724:1;4721;4714:12;4668:60;4747:5;-1:-1:-1;4803:2:12;4788:18;;4775:32;4830:18;4819:30;;4816:50;;;4862:1;4859;4852:12;4816:50;4901:89;4982:7;4973:6;4962:9;4958:22;4901:89;:::i;:::-;4409:641;;5009:8;;-1:-1:-1;4875:115:12;;-1:-1:-1;;;;4409:641:12:o;5055:457::-;5338:6;5327:9;5320:25;5381:6;5376:2;5365:9;5361:18;5354:34;5424:2;5419;5408:9;5404:18;5397:30;5301:4;5444:62;5502:2;5491:9;5487:18;5479:6;5444:62;:::i;:::-;5436:70;5055:457;-1:-1:-1;;;;;5055:457:12:o;5517:309::-;5576:6;5629:2;5617:9;5608:7;5604:23;5600:32;5597:52;;;5645:1;5642;5635:12;5597:52;5684:9;5671:23;5734:42;5727:5;5723:54;5716:5;5713:65;5703:93;;5792:1;5789;5782:12;6548:180;6607:6;6660:2;6648:9;6639:7;6635:23;6631:32;6628:52;;;6676:1;6673;6666:12;6628:52;-1:-1:-1;6699:23:12;;6548:180;-1:-1:-1;6548:180:12:o;6733:184::-;6785:77;6782:1;6775:88;6882:4;6879:1;6872:15;6906:4;6903:1;6896:15;6922:184;6974:77;6971:1;6964:88;7071:4;7068:1;7061:15;7095:4;7092:1;7085:15;7111:386;7207:4;7265:11;7252:25;7355:66;7344:8;7328:14;7324:29;7320:102;7300:18;7296:127;7286:155;;7437:1;7434;7427:12;7286:155;7458:33;;;;;7111:386;-1:-1:-1;;7111:386:12:o;7502:580::-;7579:4;7585:6;7645:11;7632:25;7735:66;7724:8;7708:14;7704:29;7700:102;7680:18;7676:127;7666:155;;7817:1;7814;7807:12;7666:155;7844:33;;7896:20;;;-1:-1:-1;7939:18:12;7928:30;;7925:50;;;7971:1;7968;7961:12;7925:50;8004:4;7992:17;;-1:-1:-1;8035:14:12;8031:27;;;8021:38;;8018:58;;;8072:1;8069;8062:12;8087:271;8270:6;8262;8257:3;8244:33;8226:3;8296:16;;8321:13;;;8296:16;8087:271;-1:-1:-1;8087:271:12:o;8718:380::-;8808:4;8866:11;8853:25;8956:66;8945:8;8929:14;8925:29;8921:102;8901:18;8897:127;8887:155;;9038:1;9035;9028:12;9455:381;9546:4;9604:11;9591:25;9694:66;9683:8;9667:14;9663:29;9659:102;9639:18;9635:127;9625:155;;9776:1;9773;9766:12",
450
+ "linkReferences": {}
451
+ }
452
+ }
@@ -25,7 +25,7 @@ export default class ContractManager {
25
25
  private generateContractGetter = <C extends (...args: any) => any>(
26
26
  name: ContractName,
27
27
  func: C,
28
- ) => {
28
+ ): ((passedProvider?: any, address?: string) => Promise<ReturnType<C>>) => {
29
29
  return async (
30
30
  passedProvider?: any,
31
31
  address?: string,
@@ -10,23 +10,23 @@ beforeAll(async () => {
10
10
  describe('batch', () => {
11
11
  it('should batch calls together', async () => {
12
12
  const result = await ENSInstance.batch(
13
- ENSInstance.getText.batch('jefflau.eth', 'description'),
14
- ENSInstance.getAddr.batch('jefflau.eth'),
15
- ENSInstance.getName.batch('0x866B3c4994e1416B7C738B9818b31dC246b95eEE'),
13
+ ENSInstance.getText.batch('with-profile.eth', 'description'),
14
+ ENSInstance.getAddr.batch('with-profile.eth'),
15
+ ENSInstance.getName.batch('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC'),
16
16
  )
17
17
  expect(result).toBeTruthy()
18
18
  if (result) {
19
19
  expect(result[0]).toBe('Hello2')
20
- expect(result[1]).toBe('0x866B3c4994e1416B7C738B9818b31dC246b95eEE')
20
+ expect(result[1]).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
21
21
  expect(result[2]).toMatchObject({
22
- name: 'jefflau.eth',
22
+ name: 'with-profile.eth',
23
23
  match: true,
24
24
  })
25
25
  }
26
26
  })
27
27
  it('should batch a single call', async () => {
28
28
  const result = await ENSInstance.batch(
29
- ENSInstance.getText.batch('jefflau.eth', 'description'),
29
+ ENSInstance.getText.batch('with-profile.eth', 'description'),
30
30
  )
31
31
  expect(result).toBeTruthy()
32
32
  if (result) {
@@ -10,12 +10,12 @@ beforeAll(async () => {
10
10
  describe('batchWrappers', () => {
11
11
  it('should batch calls together', async () => {
12
12
  const batch = await ENSInstance.resolverMulticallWrapper.raw([
13
- await ENSInstance._getText.raw('jefflau.eth', 'description'),
14
- await ENSInstance._getText.raw('jefflau.eth', 'url'),
15
- await ENSInstance._getAddr.raw('jefflau.eth'),
13
+ await ENSInstance._getText.raw('with-profile.eth', 'description'),
14
+ await ENSInstance._getText.raw('with-profile.eth', 'url'),
15
+ await ENSInstance._getAddr.raw('with-profile.eth'),
16
16
  ])
17
17
  const universalResponse = await ENSInstance.universalWrapper(
18
- 'jefflau.eth',
18
+ 'with-profile.eth',
19
19
  batch.data,
20
20
  )
21
21
  const [batchDecoded] = await ENSInstance.resolverMulticallWrapper.decode(
@@ -26,6 +26,6 @@ describe('batchWrappers', () => {
26
26
  const decoded3 = await ENSInstance._getAddr.decode(batchDecoded[2])
27
27
  expect(decoded1).toBe('Hello2')
28
28
  expect(decoded2).toBe('twitter.com')
29
- expect(decoded3).toBe('0x866B3c4994e1416B7C738B9818b31dC246b95eEE')
29
+ expect(decoded3).toBe('0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC')
30
30
  })
31
31
  })
@@ -1,4 +1,4 @@
1
- import { BigNumber, ethers } from 'ethers'
1
+ import { ethers } from 'ethers'
2
2
  import { ENS } from '..'
3
3
  import setup from '../tests/setup'
4
4
  import { namehash } from '../utils/normalise'
@@ -22,24 +22,19 @@ describe('burnFuses', () => {
22
22
  await revert()
23
23
  })
24
24
  it('should return a burnFuses transaction and succeed', async () => {
25
- const wrapNameTx = await ENSInstance.wrapName('parthtejpal.eth', {
26
- wrappedOwner: accounts[0],
27
- })
28
- await wrapNameTx.wait()
29
-
30
- const tx = await ENSInstance.burnFuses('parthtejpal.eth', {
25
+ const tx = await ENSInstance.burnFuses('wrapped.eth', {
31
26
  fusesToBurn: {
32
27
  cannotUnwrap: true,
33
28
  cannotCreateSubdomain: true,
34
29
  cannotSetTtl: true,
35
30
  },
31
+ addressOrIndex: accounts[1],
36
32
  })
37
33
  expect(tx).toBeTruthy()
38
34
  await tx.wait()
39
35
 
40
36
  const nameWrapper = await ENSInstance.contracts!.getNameWrapper()!
41
- const result = await nameWrapper.getFuses(namehash('parthtejpal.eth'))
42
- const fuseBN = result.fuses as BigNumber
43
- expect(fuseBN.toHexString()).toBe('0x71')
37
+ const [fuses] = await nameWrapper.getFuses(namehash('wrapped.eth'))
38
+ expect(fuses).toBe(113)
44
39
  })
45
40
  })
@@ -17,5 +17,5 @@ export default async function (
17
17
 
18
18
  const encodedFuses = generateFuseInput(fusesToBurn)
19
19
 
20
- return nameWrapper.populateTransaction.burnFuses(hash, encodedFuses)
20
+ return nameWrapper.populateTransaction.setFuses(hash, encodedFuses)
21
21
  }
@@ -0,0 +1,61 @@
1
+ import { ethers } from 'ethers'
2
+ import { ENS } from '..'
3
+ import setup from '../tests/setup'
4
+ import { randomSecret } from '../utils/registerHelpers'
5
+
6
+ let ENSInstance: ENS
7
+ let revert: Awaited<ReturnType<typeof setup>>['revert']
8
+ let provider: ethers.providers.JsonRpcProvider
9
+ let accounts: string[]
10
+
11
+ beforeAll(async () => {
12
+ ;({ ENSInstance, revert, provider } = await setup())
13
+ accounts = await provider.listAccounts()
14
+ })
15
+
16
+ afterAll(async () => {
17
+ await revert()
18
+ })
19
+
20
+ describe('commitName', () => {
21
+ beforeEach(async () => {
22
+ await revert()
23
+ })
24
+ it('should return a populated commit transaction with extra data and succeed', async () => {
25
+ const { customData, ...popTx } =
26
+ await ENSInstance.commitName.populateTransaction('commitment.eth', {
27
+ duration: 31536000,
28
+ owner: accounts[1],
29
+ addressOrIndex: accounts[1],
30
+ })
31
+ expect(popTx).toBeTruthy()
32
+ expect(customData).toHaveProperty('secret')
33
+ expect(customData).toHaveProperty('commitment')
34
+ expect(customData).toHaveProperty('wrapperExpiry')
35
+
36
+ const tx = await provider.getSigner().sendTransaction(popTx)
37
+ await tx.wait()
38
+
39
+ const controller = await ENSInstance.contracts!.getEthRegistrarController()!
40
+ const commitment = await controller.commitments(customData!.commitment)
41
+ expect(commitment).toBeTruthy()
42
+ })
43
+ it('should return a customised commmit transaction and succeed', async () => {
44
+ const secret = randomSecret()
45
+ const tx = await ENSInstance.commitName('commitment.eth', {
46
+ duration: 31536000,
47
+ owner: accounts[1],
48
+ addressOrIndex: accounts[1],
49
+ secret,
50
+ wrapperExpiry: 100000,
51
+ })
52
+ await tx.wait()
53
+ expect(tx.customData).toBeTruthy()
54
+ expect(tx.customData!.wrapperExpiry).toBe(100000)
55
+ expect(tx.customData!.secret).toBe(secret)
56
+
57
+ const controller = await ENSInstance.contracts!.getEthRegistrarController()!
58
+ const commitment = await controller.commitments(tx.customData!.commitment)
59
+ expect(commitment).toBeTruthy()
60
+ })
61
+ })