@ensdomains/ensjs 3.0.0-alpha.40 → 3.0.0-alpha.42

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 (129) hide show
  1. package/dist/cjs/contracts/getContractAddress.js +4 -4
  2. package/dist/cjs/functions/commitName.js +2 -3
  3. package/dist/cjs/functions/createSubname.js +2 -8
  4. package/dist/cjs/functions/getHistory.js +14 -7
  5. package/dist/cjs/functions/getNames.js +10 -6
  6. package/dist/cjs/functions/getOwner.js +25 -12
  7. package/dist/cjs/functions/getSpecificRecord.js +83 -0
  8. package/dist/cjs/functions/getWrapperData.js +3 -4
  9. package/dist/cjs/functions/renewNames.js +13 -20
  10. package/dist/cjs/functions/{burnFuses.js → setFuses.js} +24 -6
  11. package/dist/cjs/functions/wrapName.js +7 -23
  12. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +6 -55
  13. package/dist/cjs/generated/factories/NameWrapper__factory.js +90 -69
  14. package/dist/cjs/generated/factories/PublicResolver__factory.js +83 -0
  15. package/dist/cjs/generated/factories/UniversalResolver__factory.js +67 -2
  16. package/dist/cjs/index.js +15 -4
  17. package/dist/cjs/utils/consts.js +3 -1
  18. package/dist/cjs/utils/fuses.js +218 -53
  19. package/dist/cjs/utils/normalise.js +2 -2
  20. package/dist/cjs/utils/recordHelpers.js +55 -0
  21. package/dist/cjs/utils/registerHelpers.js +9 -23
  22. package/dist/cjs/utils/subgraph-types.js +16 -0
  23. package/dist/cjs/utils/wrapper.js +2 -2
  24. package/dist/esm/contracts/getContractAddress.mjs +4 -4
  25. package/dist/esm/functions/commitName.mjs +2 -3
  26. package/dist/esm/functions/createSubname.mjs +2 -2
  27. package/dist/esm/functions/getHistory.mjs +14 -7
  28. package/dist/esm/functions/getNames.mjs +10 -6
  29. package/dist/esm/functions/getOwner.mjs +25 -12
  30. package/dist/esm/functions/getSpecificRecord.mjs +78 -1
  31. package/dist/esm/functions/getWrapperData.mjs +3 -4
  32. package/dist/esm/functions/renewNames.mjs +13 -20
  33. package/dist/esm/functions/setFuses.mjs +30 -0
  34. package/dist/esm/functions/wrapName.mjs +8 -18
  35. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +6 -55
  36. package/dist/esm/generated/factories/NameWrapper__factory.mjs +90 -69
  37. package/dist/esm/generated/factories/PublicResolver__factory.mjs +83 -0
  38. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +67 -2
  39. package/dist/esm/index.mjs +15 -4
  40. package/dist/esm/utils/consts.mjs +3 -1
  41. package/dist/esm/utils/fuses.mjs +218 -53
  42. package/dist/esm/utils/normalise.mjs +1 -1
  43. package/dist/esm/utils/recordHelpers.mjs +49 -0
  44. package/dist/esm/utils/registerHelpers.mjs +9 -17
  45. package/dist/esm/utils/subgraph-types.mjs +0 -0
  46. package/dist/esm/utils/wrapper.mjs +1 -1
  47. package/dist/types/functions/commitName.d.ts +5 -6
  48. package/dist/types/functions/createSubname.d.ts +3 -3
  49. package/dist/types/functions/deleteSubname.d.ts +1 -1
  50. package/dist/types/functions/getHistory.d.ts +1 -1
  51. package/dist/types/functions/getNames.d.ts +3 -3
  52. package/dist/types/functions/getOwner.d.ts +1 -0
  53. package/dist/types/functions/getSpecificRecord.d.ts +22 -0
  54. package/dist/types/functions/getWrapperData.d.ts +44 -5
  55. package/dist/types/functions/importDNSSECName.d.ts +1 -1
  56. package/dist/types/functions/registerName.d.ts +1 -1
  57. package/dist/types/functions/renewNames.d.ts +5 -6
  58. package/dist/types/functions/setFuses.d.ts +7 -0
  59. package/dist/types/functions/setName.d.ts +1 -1
  60. package/dist/types/functions/setRecord.d.ts +5 -1
  61. package/dist/types/functions/setRecords.d.ts +1 -1
  62. package/dist/types/functions/setResolver.d.ts +1 -1
  63. package/dist/types/functions/transferController.d.ts +1 -1
  64. package/dist/types/functions/transferName.d.ts +1 -1
  65. package/dist/types/functions/transferSubname.d.ts +1 -1
  66. package/dist/types/functions/types.d.ts +9 -5
  67. package/dist/types/functions/unwrapName.d.ts +1 -1
  68. package/dist/types/functions/wrapName.d.ts +4 -4
  69. package/dist/types/generated/ETHRegistrarController.d.ts +13 -36
  70. package/dist/types/generated/NameWrapper.d.ts +97 -52
  71. package/dist/types/generated/PublicResolver.d.ts +50 -1
  72. package/dist/types/generated/UniversalResolver.d.ts +79 -32
  73. package/dist/types/generated/factories/UniversalResolver__factory.d.ts +15 -0
  74. package/dist/types/index.d.ts +75 -11
  75. package/dist/types/utils/consts.d.ts +1 -0
  76. package/dist/types/utils/fuses.d.ts +115 -45
  77. package/dist/types/utils/recordHelpers.d.ts +14 -2
  78. package/dist/types/utils/registerHelpers.d.ts +7 -25
  79. package/dist/types/utils/subgraph-types.d.ts +284 -0
  80. package/dist/types/utils/writeTx.d.ts +5 -5
  81. package/package.json +8 -5
  82. package/src/@types/pako.d.ts +188 -0
  83. package/src/contracts/bulkRenewal.ts +1 -1
  84. package/src/contracts/getContractAddress.ts +4 -4
  85. package/src/functions/commitName.test.ts +0 -3
  86. package/src/functions/commitName.ts +1 -2
  87. package/src/functions/createSubname.ts +4 -5
  88. package/src/functions/getHistory.ts +59 -25
  89. package/src/functions/getNames.test.ts +1 -1
  90. package/src/functions/getNames.ts +26 -13
  91. package/src/functions/getOwner.test.ts +62 -3
  92. package/src/functions/getOwner.ts +31 -11
  93. package/src/functions/getSpecificRecord.test.ts +162 -0
  94. package/src/functions/getSpecificRecord.ts +95 -1
  95. package/src/functions/getWrapperData.test.ts +11 -45
  96. package/src/functions/getWrapperData.ts +7 -5
  97. package/src/functions/registerName.test.ts +3 -3
  98. package/src/functions/renewNames.ts +17 -23
  99. package/src/functions/setFuses.test.ts +240 -0
  100. package/src/functions/setFuses.ts +44 -0
  101. package/src/functions/setRecord.test.ts +147 -1
  102. package/src/functions/setRecord.ts +6 -1
  103. package/src/functions/types.ts +10 -4
  104. package/src/functions/wrapName.test.ts +8 -7
  105. package/src/functions/wrapName.ts +10 -24
  106. package/src/generated/ETHRegistrarController.ts +12 -79
  107. package/src/generated/NameWrapper.ts +155 -99
  108. package/src/generated/PublicResolver.ts +123 -0
  109. package/src/generated/UniversalResolver.ts +157 -16
  110. package/src/generated/factories/ETHRegistrarController__factory.ts +6 -55
  111. package/src/generated/factories/NameWrapper__factory.ts +90 -69
  112. package/src/generated/factories/PublicResolver__factory.ts +83 -0
  113. package/src/generated/factories/UniversalResolver__factory.ts +67 -2
  114. package/src/index.ts +23 -14
  115. package/src/utils/consts.ts +1 -0
  116. package/src/utils/fuses.ts +299 -102
  117. package/src/utils/normalise.ts +1 -1
  118. package/src/utils/recordHelpers.ts +64 -1
  119. package/src/utils/registerHelpers.ts +13 -41
  120. package/src/utils/subgraph-types.ts +312 -0
  121. package/src/utils/wrapper.ts +1 -1
  122. package/dist/cjs/utils/generateFuseInput.js +0 -40
  123. package/dist/esm/functions/burnFuses.mjs +0 -12
  124. package/dist/esm/utils/generateFuseInput.mjs +0 -15
  125. package/dist/types/functions/burnFuses.d.ts +0 -3
  126. package/dist/types/utils/generateFuseInput.d.ts +0 -3
  127. package/src/functions/burnFuses.test.ts +0 -148
  128. package/src/functions/burnFuses.ts +0 -16
  129. package/src/utils/generateFuseInput.ts +0 -13
@@ -1,8 +1,6 @@
1
- import { BigNumberish } from '@ethersproject/bignumber/lib/bignumber';
2
1
  import type { PublicResolver } from '../generated';
3
- import { FuseOptions } from './fuses';
2
+ import { CombinedFuseInput } from './fuses';
4
3
  import { RecordOptions } from './recordHelpers';
5
- export declare const MAX_INT_64: bigint;
6
4
  export declare type BaseRegistrationParams = {
7
5
  owner: string;
8
6
  duration: number;
@@ -10,16 +8,14 @@ export declare type BaseRegistrationParams = {
10
8
  resolverAddress?: string;
11
9
  records?: RecordOptions;
12
10
  reverseRecord?: boolean;
13
- fuses?: FuseOptions;
14
- wrapperExpiry?: BigNumberish;
11
+ fuses?: CombinedFuseInput['child'];
15
12
  };
16
13
  export declare type RegistrationParams = Omit<BaseRegistrationParams, 'resolverAddress'> & {
17
14
  name: string;
18
15
  resolver: PublicResolver;
19
16
  };
20
- export declare type CommitmentParams = Omit<RegistrationParams, 'secret' | 'wrapperExpiry'> & {
17
+ export declare type CommitmentParams = Omit<RegistrationParams, 'secret'> & {
21
18
  secret?: string;
22
- wrapperExpiry?: BigNumberish;
23
19
  };
24
20
  export declare type RegistrationTuple = [
25
21
  name: string,
@@ -29,31 +25,17 @@ export declare type RegistrationTuple = [
29
25
  resolver: string,
30
26
  data: string[],
31
27
  reverseRecord: boolean,
32
- fuses: string,
33
- wrapperExpiry: BigNumberish
34
- ];
35
- export declare type CommitmentTuple = [
36
- labelhash: string,
37
- owner: string,
38
- duration: number,
39
- resolver: string,
40
- data: string[],
41
- secret: string,
42
- reverseRecord: boolean,
43
- fuses: string,
44
- wrapperExpiry: BigNumberish
28
+ ownerControlledFuses: number
45
29
  ];
46
30
  export declare const randomSecret: () => string;
47
- export declare const makeCommitmentData: ({ name, owner, duration, resolver, records, reverseRecord, fuses, wrapperExpiry, secret, }: Omit<RegistrationParams, "secret" | "wrapperExpiry"> & {
31
+ export declare const makeCommitmentData: ({ name, owner, duration, resolver, records, reverseRecord, fuses, secret, }: Omit<RegistrationParams, "secret"> & {
48
32
  secret?: string | undefined;
49
- wrapperExpiry?: BigNumberish | undefined;
50
33
  } & {
51
34
  secret: string;
52
- }) => CommitmentTuple;
35
+ }) => RegistrationTuple;
53
36
  export declare const makeRegistrationData: (params: RegistrationParams) => RegistrationTuple;
54
- export declare const _makeCommitment: (params: CommitmentTuple) => string;
37
+ export declare const _makeCommitment: (params: RegistrationTuple) => string;
55
38
  export declare const makeCommitment: ({ secret, ...inputParams }: CommitmentParams) => {
56
39
  secret: string;
57
40
  commitment: string;
58
- wrapperExpiry: BigNumberish;
59
41
  };
@@ -0,0 +1,284 @@
1
+ export declare type Maybe<T> = T | null;
2
+ export declare type Exact<T extends {
3
+ [key: string]: unknown;
4
+ }> = {
5
+ [K in keyof T]: T[K];
6
+ };
7
+ export declare type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
8
+ [SubKey in K]?: Maybe<T[SubKey]>;
9
+ };
10
+ export declare type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
11
+ [SubKey in K]: Maybe<T[SubKey]>;
12
+ };
13
+ /** All built-in and custom scalars, mapped to their actual values */
14
+ export declare type Scalars = {
15
+ ID: string;
16
+ String: string;
17
+ Boolean: boolean;
18
+ Int: number;
19
+ Float: number;
20
+ Bytes: string;
21
+ BigInt: string;
22
+ };
23
+ export declare type Domain = {
24
+ __typename?: 'Domain';
25
+ id: Scalars['ID'];
26
+ name?: Maybe<Scalars['String']>;
27
+ labelName?: Maybe<Scalars['String']>;
28
+ labelhash?: Maybe<Scalars['Bytes']>;
29
+ parent?: Maybe<Domain>;
30
+ subdomains: Array<Domain>;
31
+ subdomainCount: Scalars['Int'];
32
+ resolvedAddress?: Maybe<Account>;
33
+ owner: Account;
34
+ resolver?: Maybe<Resolver>;
35
+ ttl?: Maybe<Scalars['BigInt']>;
36
+ isMigrated: Scalars['Boolean'];
37
+ createdAt: Scalars['BigInt'];
38
+ events: Array<DomainEvent>;
39
+ registration?: Maybe<Registration>;
40
+ wrappedDomain?: Maybe<WrappedDomain>;
41
+ };
42
+ export declare type DomainEvent = {
43
+ id: Scalars['ID'];
44
+ domain: Domain;
45
+ blockNumber: Scalars['Int'];
46
+ transactionID: Scalars['Bytes'];
47
+ };
48
+ export declare type Transfer = DomainEvent & {
49
+ __typename?: 'Transfer';
50
+ id: Scalars['ID'];
51
+ domain: Domain;
52
+ blockNumber: Scalars['Int'];
53
+ transactionID: Scalars['Bytes'];
54
+ owner: Account;
55
+ };
56
+ export declare type NewOwner = DomainEvent & {
57
+ __typename?: 'NewOwner';
58
+ id: Scalars['ID'];
59
+ parentDomain: Domain;
60
+ domain: Domain;
61
+ blockNumber: Scalars['Int'];
62
+ transactionID: Scalars['Bytes'];
63
+ owner: Account;
64
+ };
65
+ export declare type NewResolver = DomainEvent & {
66
+ __typename?: 'NewResolver';
67
+ id: Scalars['ID'];
68
+ domain: Domain;
69
+ blockNumber: Scalars['Int'];
70
+ transactionID: Scalars['Bytes'];
71
+ resolver: Resolver;
72
+ };
73
+ export declare type NewTtl = DomainEvent & {
74
+ __typename?: 'NewTTL';
75
+ id: Scalars['ID'];
76
+ domain: Domain;
77
+ blockNumber: Scalars['Int'];
78
+ transactionID: Scalars['Bytes'];
79
+ ttl: Scalars['BigInt'];
80
+ };
81
+ export declare type WrappedTransfer = DomainEvent & {
82
+ __typename?: 'WrappedTransfer';
83
+ id: Scalars['ID'];
84
+ domain: Domain;
85
+ blockNumber: Scalars['Int'];
86
+ transactionID: Scalars['Bytes'];
87
+ owner: Account;
88
+ };
89
+ export declare type NameWrapped = DomainEvent & {
90
+ __typename?: 'NameWrapped';
91
+ id: Scalars['ID'];
92
+ domain: Domain;
93
+ blockNumber: Scalars['Int'];
94
+ transactionID: Scalars['Bytes'];
95
+ name: Scalars['String'];
96
+ fuses: Scalars['Int'];
97
+ owner: Account;
98
+ expiryDate: Scalars['BigInt'];
99
+ };
100
+ export declare type NameUnwrapped = DomainEvent & {
101
+ __typename?: 'NameUnwrapped';
102
+ id: Scalars['ID'];
103
+ domain: Domain;
104
+ blockNumber: Scalars['Int'];
105
+ transactionID: Scalars['Bytes'];
106
+ owner: Account;
107
+ };
108
+ export declare type FusesSet = DomainEvent & {
109
+ __typename?: 'FusesSet';
110
+ id: Scalars['ID'];
111
+ domain: Domain;
112
+ blockNumber: Scalars['Int'];
113
+ transactionID: Scalars['Bytes'];
114
+ fuses: Scalars['Int'];
115
+ };
116
+ export declare type ExpiryExtended = DomainEvent & {
117
+ __typename?: 'ExpiryExtended';
118
+ id: Scalars['ID'];
119
+ domain: Domain;
120
+ blockNumber: Scalars['Int'];
121
+ transactionID: Scalars['Bytes'];
122
+ expiryDate: Scalars['BigInt'];
123
+ };
124
+ export declare type Registration = {
125
+ __typename?: 'Registration';
126
+ id: Scalars['ID'];
127
+ domain: Domain;
128
+ registrationDate: Scalars['BigInt'];
129
+ expiryDate: Scalars['BigInt'];
130
+ cost?: Maybe<Scalars['BigInt']>;
131
+ registrant: Account;
132
+ labelName?: Maybe<Scalars['String']>;
133
+ events: Array<RegistrationEvent>;
134
+ };
135
+ export declare type RegistrationEvent = {
136
+ id: Scalars['ID'];
137
+ registration: Registration;
138
+ blockNumber: Scalars['Int'];
139
+ transactionID: Scalars['Bytes'];
140
+ };
141
+ export declare type NameRegistered = RegistrationEvent & {
142
+ __typename?: 'NameRegistered';
143
+ id: Scalars['ID'];
144
+ registration: Registration;
145
+ blockNumber: Scalars['Int'];
146
+ transactionID: Scalars['Bytes'];
147
+ registrant: Account;
148
+ expiryDate: Scalars['BigInt'];
149
+ };
150
+ export declare type NameRenewed = RegistrationEvent & {
151
+ __typename?: 'NameRenewed';
152
+ id: Scalars['ID'];
153
+ registration: Registration;
154
+ blockNumber: Scalars['Int'];
155
+ transactionID: Scalars['Bytes'];
156
+ expiryDate: Scalars['BigInt'];
157
+ };
158
+ export declare type NameTransferred = RegistrationEvent & {
159
+ __typename?: 'NameTransferred';
160
+ id: Scalars['ID'];
161
+ registration: Registration;
162
+ blockNumber: Scalars['Int'];
163
+ transactionID: Scalars['Bytes'];
164
+ newOwner: Account;
165
+ };
166
+ export declare type WrappedDomain = {
167
+ __typename?: 'WrappedDomain';
168
+ id: Scalars['ID'];
169
+ domain: Domain;
170
+ expiryDate: Scalars['BigInt'];
171
+ fuses: Scalars['Int'];
172
+ owner: Account;
173
+ name?: Maybe<Scalars['String']>;
174
+ };
175
+ export declare type Account = {
176
+ __typename?: 'Account';
177
+ id: Scalars['ID'];
178
+ domains: Array<Domain>;
179
+ wrappedDomains?: Maybe<Array<WrappedDomain>>;
180
+ registrations?: Maybe<Array<Registration>>;
181
+ };
182
+ export declare type Resolver = {
183
+ __typename?: 'Resolver';
184
+ id: Scalars['ID'];
185
+ domain?: Maybe<Domain>;
186
+ address: Scalars['Bytes'];
187
+ addr?: Maybe<Account>;
188
+ contentHash?: Maybe<Scalars['Bytes']>;
189
+ texts?: Maybe<Array<Scalars['String']>>;
190
+ coinTypes?: Maybe<Array<Scalars['BigInt']>>;
191
+ events: Array<ResolverEvent>;
192
+ };
193
+ export declare type ResolverEvent = {
194
+ id: Scalars['ID'];
195
+ resolver: Resolver;
196
+ blockNumber: Scalars['Int'];
197
+ transactionID: Scalars['Bytes'];
198
+ };
199
+ export declare type AddrChanged = ResolverEvent & {
200
+ __typename?: 'AddrChanged';
201
+ id: Scalars['ID'];
202
+ resolver: Resolver;
203
+ blockNumber: Scalars['Int'];
204
+ transactionID: Scalars['Bytes'];
205
+ addr: Account;
206
+ };
207
+ export declare type MulticoinAddrChanged = ResolverEvent & {
208
+ __typename?: 'MulticoinAddrChanged';
209
+ id: Scalars['ID'];
210
+ resolver: Resolver;
211
+ blockNumber: Scalars['Int'];
212
+ transactionID: Scalars['Bytes'];
213
+ coinType: Scalars['BigInt'];
214
+ addr: Scalars['Bytes'];
215
+ };
216
+ export declare type NameChanged = ResolverEvent & {
217
+ __typename?: 'NameChanged';
218
+ id: Scalars['ID'];
219
+ resolver: Resolver;
220
+ blockNumber: Scalars['Int'];
221
+ transactionID: Scalars['Bytes'];
222
+ name: Scalars['String'];
223
+ };
224
+ export declare type AbiChanged = ResolverEvent & {
225
+ __typename?: 'AbiChanged';
226
+ id: Scalars['ID'];
227
+ resolver: Resolver;
228
+ blockNumber: Scalars['Int'];
229
+ transactionID: Scalars['Bytes'];
230
+ contentType: Scalars['BigInt'];
231
+ };
232
+ export declare type PubkeyChanged = ResolverEvent & {
233
+ __typename?: 'PubkeyChanged';
234
+ id: Scalars['ID'];
235
+ resolver: Resolver;
236
+ blockNumber: Scalars['Int'];
237
+ transactionID: Scalars['Bytes'];
238
+ x: Scalars['Bytes'];
239
+ y: Scalars['Bytes'];
240
+ };
241
+ export declare type TextChanged = ResolverEvent & {
242
+ __typename?: 'TextChanged';
243
+ id: Scalars['ID'];
244
+ resolver: Resolver;
245
+ blockNumber: Scalars['Int'];
246
+ transactionID: Scalars['Bytes'];
247
+ key: Scalars['String'];
248
+ value?: Maybe<Scalars['String']>;
249
+ };
250
+ export declare type ContenthashChanged = ResolverEvent & {
251
+ __typename?: 'ContenthashChanged';
252
+ id: Scalars['ID'];
253
+ resolver: Resolver;
254
+ blockNumber: Scalars['Int'];
255
+ transactionID: Scalars['Bytes'];
256
+ hash: Scalars['Bytes'];
257
+ };
258
+ export declare type InterfaceChanged = ResolverEvent & {
259
+ __typename?: 'InterfaceChanged';
260
+ id: Scalars['ID'];
261
+ resolver: Resolver;
262
+ blockNumber: Scalars['Int'];
263
+ transactionID: Scalars['Bytes'];
264
+ interfaceID: Scalars['Bytes'];
265
+ implementer: Scalars['Bytes'];
266
+ };
267
+ export declare type AuthorisationChanged = ResolverEvent & {
268
+ __typename?: 'AuthorisationChanged';
269
+ id: Scalars['ID'];
270
+ resolver: Resolver;
271
+ blockNumber: Scalars['Int'];
272
+ transactionID: Scalars['Bytes'];
273
+ owner: Scalars['Bytes'];
274
+ target: Scalars['Bytes'];
275
+ isAuthorized: Scalars['Boolean'];
276
+ };
277
+ export declare type VersionChanged = ResolverEvent & {
278
+ __typename?: 'VersionChanged';
279
+ id: Scalars['ID'];
280
+ resolver: Resolver;
281
+ blockNumber: Scalars['Int'];
282
+ transactionID: Scalars['Bytes'];
283
+ version: Scalars['BigInt'];
284
+ };
@@ -5,15 +5,15 @@ declare const _default: (signer: JsonRpcSigner, populate: boolean) => ({ customD
5
5
  to?: string | undefined;
6
6
  from?: string | undefined;
7
7
  nonce?: number | undefined;
8
- gasLimit?: import("@ethersproject/bignumber").BigNumber | undefined;
9
- gasPrice?: import("@ethersproject/bignumber").BigNumber | undefined;
8
+ gasLimit?: import("ethers").BigNumber | undefined;
9
+ gasPrice?: import("ethers").BigNumber | undefined;
10
10
  data?: string | undefined;
11
- value?: import("@ethersproject/bignumber").BigNumber | undefined;
11
+ value?: import("ethers").BigNumber | undefined;
12
12
  chainId?: number | undefined;
13
13
  type?: number | undefined;
14
14
  accessList?: import("@ethersproject/transactions").AccessList | undefined;
15
- maxFeePerGas?: import("@ethersproject/bignumber").BigNumber | undefined;
16
- maxPriorityFeePerGas?: import("@ethersproject/bignumber").BigNumber | undefined;
15
+ maxFeePerGas?: import("ethers").BigNumber | undefined;
16
+ maxPriorityFeePerGas?: import("ethers").BigNumber | undefined;
17
17
  ccipReadEnabled?: boolean | undefined;
18
18
  } | Promise<import("@ethersproject/abstract-provider").TransactionResponse | (import("@ethersproject/abstract-provider").TransactionResponse & {
19
19
  customData: CustomData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ensdomains/ensjs",
3
- "version": "3.0.0-alpha.40",
3
+ "version": "3.0.0-alpha.42",
4
4
  "description": "ENS javascript library for contract interaction",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.mjs",
@@ -59,17 +59,18 @@
59
59
  "@ensdomains/content-hash": "^2.5.7",
60
60
  "@ensdomains/dnsprovejs": "^0.4.1",
61
61
  "@ensdomains/dnssecoraclejs": "^0.2.7",
62
+ "cbor": "^8.1.0",
62
63
  "dns-packet": "^5.3.1",
63
64
  "graphql": "^16.3.0",
64
65
  "graphql-request": "next",
65
66
  "idna-uts46-hx": "3.4.0",
67
+ "pako": "^2.1.0",
66
68
  "traverse": "^0.6.6"
67
69
  },
68
70
  "devDependencies": {
69
- "ethers": "^5.7.2",
70
71
  "@ensdomains/buffer": "^0.0.13",
71
- "@ensdomains/ens-contracts": "^0.0.15",
72
- "@ensdomains/ens-test-env": "0.3.6",
72
+ "@ensdomains/ens-contracts": "^0.0.16",
73
+ "@ensdomains/ens-test-env": "0.3.7",
73
74
  "@ethersproject/abi": "^5.6.4",
74
75
  "@ethersproject/abstract-provider": "^5.7.0",
75
76
  "@ethersproject/abstract-signer": "^5.7.0",
@@ -91,10 +92,12 @@
91
92
  "@typechain/ethers-v5": "^10.1.0",
92
93
  "@types/bn.js": "^5.1.0",
93
94
  "@types/jest": "^27.4.1",
95
+ "@types/pako": "^2.0.0",
94
96
  "@types/traverse": "^0.6.32",
95
97
  "dotenv": "^16.0.0",
96
98
  "esbuild": "^0.15.6",
97
99
  "eslint-plugin-jest": "^27.0.1",
100
+ "ethers": "^5.7.2",
98
101
  "ganache": "^7.4.0",
99
102
  "glob": "^8.0.3",
100
103
  "hardhat": "2.10.2",
@@ -130,7 +133,7 @@
130
133
  },
131
134
  "scripts": {
132
135
  "tenv": "ens-test-env -a",
133
- "denv": "pnpm tenv start -ns -nb --extra-time 11368000",
136
+ "denv": "pnpm tenv start -ns -nb --extra-time 11368000 --verbosity 1",
134
137
  "generate-types": "ts-node scripts/runTypechain.ts",
135
138
  "generate-abis": "hardhat export-abi",
136
139
  "start": "ts-node --files src/index.test.ts",
@@ -0,0 +1,188 @@
1
+ /* eslint-disable max-classes-per-file */
2
+ // Type definitions for pako 2.0
3
+ // Project: https://github.com/nodeca/pako
4
+ // Definitions by: Caleb Eggensperger <https://github.com/calebegg>
5
+ // Muhammet Öztürk <https://github.com/hlthi>
6
+ // Thibault Poisson <https://github.com/OrIOg>
7
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
8
+
9
+ // eslint-disable-next-line @typescript-eslint/naming-convention
10
+ enum constants {
11
+ // FlushValues
12
+ Z_NO_FLUSH = 0,
13
+ Z_PARTIAL_FLUSH = 1,
14
+ Z_SYNC_FLUSH = 2,
15
+ Z_FULL_FLUSH = 3,
16
+ Z_FINISH = 4,
17
+ Z_BLOCK = 5,
18
+ Z_TREES = 6,
19
+ // StrategyValues
20
+ Z_FILTERED = 1,
21
+ Z_HUFFMAN_ONLY = 2,
22
+ Z_RLE = 3,
23
+ Z_FIXED = 4,
24
+ Z_DEFAULT_STRATEGY = 0,
25
+ // ReturnCodes
26
+ Z_OK = 0,
27
+ Z_STREAM_END = 1,
28
+ Z_NEED_DICT = 2,
29
+ Z_ERRNO = -1,
30
+ Z_STREAM_ERROR = -2,
31
+ Z_DATA_ERROR = -3,
32
+ Z_BUF_ERROR = -5,
33
+ }
34
+
35
+ type FlushValues =
36
+ | constants.Z_NO_FLUSH
37
+ | constants.Z_PARTIAL_FLUSH
38
+ | constants.Z_SYNC_FLUSH
39
+ | constants.Z_FINISH
40
+ | constants.Z_BLOCK
41
+ | constants.Z_TREES
42
+
43
+ type StrategyValues =
44
+ | constants.Z_FILTERED
45
+ | constants.Z_HUFFMAN_ONLY
46
+ | constants.Z_RLE
47
+ | constants.Z_FIXED
48
+ | constants.Z_DEFAULT_STRATEGY
49
+
50
+ type ReturnCodes =
51
+ | constants.Z_OK
52
+ | constants.Z_STREAM_END
53
+ | constants.Z_NEED_DICT
54
+ | constants.Z_ERRNO
55
+ | constants.Z_STREAM_ERROR
56
+ | constants.Z_DATA_ERROR
57
+ | constants.Z_BUF_ERROR
58
+ | constants.Z_DEFAULT_STRATEGY
59
+
60
+ interface DeflateOptions {
61
+ level?: -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined
62
+ windowBits?: number | undefined
63
+ memLevel?: number | undefined
64
+ strategy?: StrategyValues | undefined
65
+ dictionary?: any
66
+ raw?: boolean | undefined
67
+ chunkSize?: number | undefined
68
+ gzip?: boolean | undefined
69
+ header?: Header | undefined
70
+ }
71
+
72
+ interface DeflateFunctionOptions {
73
+ level?: -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined
74
+ windowBits?: number | undefined
75
+ memLevel?: number | undefined
76
+ strategy?: StrategyValues | undefined
77
+ dictionary?: any
78
+ raw?: boolean | undefined
79
+ }
80
+
81
+ interface InflateOptions {
82
+ windowBits?: number | undefined
83
+ dictionary?: any
84
+ raw?: boolean | undefined
85
+ to?: 'string' | undefined
86
+ chunkSize?: number | undefined
87
+ }
88
+
89
+ interface InflateFunctionOptions {
90
+ windowBits?: number | undefined
91
+ raw?: boolean | undefined
92
+ to?: 'string' | undefined
93
+ }
94
+
95
+ interface Header {
96
+ text?: boolean | undefined
97
+ time?: number | undefined
98
+ os?: number | undefined
99
+ extra?: number[] | undefined
100
+ name?: string | undefined
101
+ comment?: string | undefined
102
+ hcrc?: boolean | undefined
103
+ }
104
+
105
+ type Data = Uint8Array | ArrayBuffer
106
+
107
+ declare module 'pako/dist/pako_inflate.min.js' {
108
+ /**
109
+ * Decompress data with inflate/ungzip and options. Autodetect format via wrapper header
110
+ * by default. That's why we don't provide separate ungzip method.
111
+ */
112
+ function inflate(
113
+ data: Data,
114
+ options: InflateFunctionOptions & { to: 'string' },
115
+ ): string
116
+ function inflate(data: Data, options?: InflateFunctionOptions): Uint8Array
117
+
118
+ /**
119
+ * The same as inflate, but creates raw data, without wrapper (header and adler32 crc).
120
+ */
121
+ function inflateRaw(
122
+ data: Data,
123
+ options: InflateFunctionOptions & { to: 'string' },
124
+ ): string
125
+ function inflateRaw(data: Data, options?: InflateFunctionOptions): Uint8Array
126
+
127
+ /**
128
+ * Just shortcut to inflate, because it autodetects format by header.content. Done for convenience.
129
+ */
130
+ function ungzip(
131
+ data: Data,
132
+ options: InflateFunctionOptions & { to: 'string' },
133
+ ): string
134
+ function ungzip(data: Data, options?: InflateFunctionOptions): Uint8Array
135
+
136
+ // https://github.com/nodeca/pako/blob/893381abcafa10fa2081ce60dae7d4d8e873a658/lib/inflate.js
137
+ class Inflate {
138
+ constructor(options?: InflateOptions)
139
+ header?: Header | undefined
140
+
141
+ err: ReturnCodes
142
+
143
+ msg: string
144
+
145
+ result: Uint8Array | string
146
+ onData(chunk: Data): void
147
+ onEnd(status: number): void
148
+ push(data: Data, mode?: FlushValues | boolean): boolean
149
+ }
150
+ }
151
+
152
+ declare module 'pako/dist/pako_deflate.min.js' {
153
+ /**
154
+ * Compress data with deflate algorithm and options.
155
+ */
156
+ function deflate(
157
+ data: Data | string,
158
+ options?: DeflateFunctionOptions,
159
+ ): Uint8Array
160
+
161
+ /**
162
+ * The same as deflate, but creates raw data, without wrapper (header and adler32 crc).
163
+ */
164
+ function deflateRaw(
165
+ data: Data | string,
166
+ options?: DeflateFunctionOptions,
167
+ ): Uint8Array
168
+
169
+ /**
170
+ * The same as deflate, but create gzip wrapper instead of deflate one.
171
+ */
172
+ function gzip(
173
+ data: Data | string,
174
+ options?: DeflateFunctionOptions,
175
+ ): Uint8Array
176
+
177
+ class Deflate {
178
+ constructor(options?: DeflateOptions)
179
+ err: ReturnCodes
180
+
181
+ msg: string
182
+
183
+ result: Uint8Array
184
+ onData(chunk: Data): void
185
+ onEnd(status: number): void
186
+ push(data: Data | string, mode?: FlushValues | boolean): boolean
187
+ }
188
+ }
@@ -1,6 +1,6 @@
1
1
  import type { JsonRpcProvider } from '@ethersproject/providers'
2
2
  import { BulkRenewal__factory } from '../generated/factories/BulkRenewal__factory'
3
3
 
4
- // Use a higher-order function to overide the address that is passed in from getContractAddress()
4
+ // Use a higher-order function to override the address that is passed in from getContractAddress()
5
5
  export default (provider: JsonRpcProvider, address: string) =>
6
6
  BulkRenewal__factory.connect(address, provider)
@@ -20,19 +20,19 @@ const addresses: Record<
20
20
  '1': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
21
21
  '3': '0xa5627AB7Ae47063B533622C34FEBDb52d3281dF8',
22
22
  '4': '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
23
- '5': '0x9C51161bA2FB02Cc0a403332B607117685f34831',
23
+ '5': '0xb7A1f9e633fdeaAa2ec44bE00a61a7Db9a733D70',
24
24
  },
25
25
  Multicall: '0xcA11bde05977b3631167028862bE2a173976CA11',
26
26
  NameWrapper: {
27
27
  '1': '0x0000000000000000000000000000000000000000',
28
28
  '3': '0xF82155e2a43Be0871821E9654Fc8Ae894FB8307C',
29
29
  '4': '0x0000000000000000000000000000000000000000',
30
- '5': '0x582224b8d4534F4749EFA4f22eF7241E0C56D4B8',
30
+ '5': '0xEe1F756aCde7E81B2D8cC6aB3c8A1E2cE6db0F39',
31
31
  },
32
32
  PublicResolver: {
33
33
  '1': '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41',
34
34
  '3': '0x13F0659Ee6bb7484C884FEeFb7F75C93951ef837',
35
- '5': '0xE264d5bb84bA3b8061ADC38D3D76e6674aB91852',
35
+ '5': '0x2800Ec5BAB9CE9226d19E0ad5BC607e3cfC4347E',
36
36
  },
37
37
  ENSRegistry: {
38
38
  '1': '0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e',
@@ -43,7 +43,7 @@ const addresses: Record<
43
43
  ReverseRegistrar: {
44
44
  '1': '0x084b1c3C81545d370f3634392De611CaaBFf8148',
45
45
  '3': '0x806246b52f8cB61655d3038c58D2f63Aa55d4edE',
46
- '5': '0xD5610A08E370051a01fdfe4bB3ddf5270af1aA48',
46
+ '5': '0x9a879320A9F7ad2BBb02063d67baF5551D6BD8B0',
47
47
  },
48
48
  UniversalResolver: {
49
49
  '1': '0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376',
@@ -31,7 +31,6 @@ describe('commitName', () => {
31
31
  expect(popTx).toBeTruthy()
32
32
  expect(customData).toHaveProperty('secret')
33
33
  expect(customData).toHaveProperty('commitment')
34
- expect(customData).toHaveProperty('wrapperExpiry')
35
34
 
36
35
  const tx = await provider.getSigner().sendTransaction(popTx)
37
36
  await tx.wait()
@@ -47,11 +46,9 @@ describe('commitName', () => {
47
46
  owner: accounts[1],
48
47
  addressOrIndex: accounts[1],
49
48
  secret,
50
- wrapperExpiry: 100000,
51
49
  })
52
50
  await tx.wait()
53
51
  expect(tx.customData).toBeTruthy()
54
- expect(tx.customData!.wrapperExpiry).toBe(100000)
55
52
  expect(tx.customData!.secret).toBe(secret)
56
53
 
57
54
  const controller = await ensInstance.contracts!.getEthRegistrarController()!
@@ -22,7 +22,7 @@ export default async function (
22
22
  undefined,
23
23
  resolverAddress,
24
24
  )
25
- const { secret, commitment, wrapperExpiry } = makeCommitment({
25
+ const { secret, commitment } = makeCommitment({
26
26
  name,
27
27
  resolver,
28
28
  ...params,
@@ -33,7 +33,6 @@ export default async function (
33
33
  customData: {
34
34
  secret,
35
35
  commitment,
36
- wrapperExpiry,
37
36
  },
38
37
  }
39
38
  }