@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.
- package/dist/cjs/contracts/getContractAddress.js +4 -4
- package/dist/cjs/functions/commitName.js +2 -3
- package/dist/cjs/functions/createSubname.js +2 -8
- package/dist/cjs/functions/getHistory.js +14 -7
- package/dist/cjs/functions/getNames.js +10 -6
- package/dist/cjs/functions/getOwner.js +25 -12
- package/dist/cjs/functions/getSpecificRecord.js +83 -0
- package/dist/cjs/functions/getWrapperData.js +3 -4
- package/dist/cjs/functions/renewNames.js +13 -20
- package/dist/cjs/functions/{burnFuses.js → setFuses.js} +24 -6
- package/dist/cjs/functions/wrapName.js +7 -23
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +6 -55
- package/dist/cjs/generated/factories/NameWrapper__factory.js +90 -69
- package/dist/cjs/generated/factories/PublicResolver__factory.js +83 -0
- package/dist/cjs/generated/factories/UniversalResolver__factory.js +67 -2
- package/dist/cjs/index.js +15 -4
- package/dist/cjs/utils/consts.js +3 -1
- package/dist/cjs/utils/fuses.js +218 -53
- package/dist/cjs/utils/normalise.js +2 -2
- package/dist/cjs/utils/recordHelpers.js +55 -0
- package/dist/cjs/utils/registerHelpers.js +9 -23
- package/dist/cjs/utils/subgraph-types.js +16 -0
- package/dist/cjs/utils/wrapper.js +2 -2
- package/dist/esm/contracts/getContractAddress.mjs +4 -4
- package/dist/esm/functions/commitName.mjs +2 -3
- package/dist/esm/functions/createSubname.mjs +2 -2
- package/dist/esm/functions/getHistory.mjs +14 -7
- package/dist/esm/functions/getNames.mjs +10 -6
- package/dist/esm/functions/getOwner.mjs +25 -12
- package/dist/esm/functions/getSpecificRecord.mjs +78 -1
- package/dist/esm/functions/getWrapperData.mjs +3 -4
- package/dist/esm/functions/renewNames.mjs +13 -20
- package/dist/esm/functions/setFuses.mjs +30 -0
- package/dist/esm/functions/wrapName.mjs +8 -18
- package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +6 -55
- package/dist/esm/generated/factories/NameWrapper__factory.mjs +90 -69
- package/dist/esm/generated/factories/PublicResolver__factory.mjs +83 -0
- package/dist/esm/generated/factories/UniversalResolver__factory.mjs +67 -2
- package/dist/esm/index.mjs +15 -4
- package/dist/esm/utils/consts.mjs +3 -1
- package/dist/esm/utils/fuses.mjs +218 -53
- package/dist/esm/utils/normalise.mjs +1 -1
- package/dist/esm/utils/recordHelpers.mjs +49 -0
- package/dist/esm/utils/registerHelpers.mjs +9 -17
- package/dist/esm/utils/subgraph-types.mjs +0 -0
- package/dist/esm/utils/wrapper.mjs +1 -1
- package/dist/types/functions/commitName.d.ts +5 -6
- package/dist/types/functions/createSubname.d.ts +3 -3
- package/dist/types/functions/deleteSubname.d.ts +1 -1
- package/dist/types/functions/getHistory.d.ts +1 -1
- package/dist/types/functions/getNames.d.ts +3 -3
- package/dist/types/functions/getOwner.d.ts +1 -0
- package/dist/types/functions/getSpecificRecord.d.ts +22 -0
- package/dist/types/functions/getWrapperData.d.ts +44 -5
- package/dist/types/functions/importDNSSECName.d.ts +1 -1
- package/dist/types/functions/registerName.d.ts +1 -1
- package/dist/types/functions/renewNames.d.ts +5 -6
- package/dist/types/functions/setFuses.d.ts +7 -0
- package/dist/types/functions/setName.d.ts +1 -1
- package/dist/types/functions/setRecord.d.ts +5 -1
- package/dist/types/functions/setRecords.d.ts +1 -1
- package/dist/types/functions/setResolver.d.ts +1 -1
- package/dist/types/functions/transferController.d.ts +1 -1
- package/dist/types/functions/transferName.d.ts +1 -1
- package/dist/types/functions/transferSubname.d.ts +1 -1
- package/dist/types/functions/types.d.ts +9 -5
- package/dist/types/functions/unwrapName.d.ts +1 -1
- package/dist/types/functions/wrapName.d.ts +4 -4
- package/dist/types/generated/ETHRegistrarController.d.ts +13 -36
- package/dist/types/generated/NameWrapper.d.ts +97 -52
- package/dist/types/generated/PublicResolver.d.ts +50 -1
- package/dist/types/generated/UniversalResolver.d.ts +79 -32
- package/dist/types/generated/factories/UniversalResolver__factory.d.ts +15 -0
- package/dist/types/index.d.ts +75 -11
- package/dist/types/utils/consts.d.ts +1 -0
- package/dist/types/utils/fuses.d.ts +115 -45
- package/dist/types/utils/recordHelpers.d.ts +14 -2
- package/dist/types/utils/registerHelpers.d.ts +7 -25
- package/dist/types/utils/subgraph-types.d.ts +284 -0
- package/dist/types/utils/writeTx.d.ts +5 -5
- package/package.json +8 -5
- package/src/@types/pako.d.ts +188 -0
- package/src/contracts/bulkRenewal.ts +1 -1
- package/src/contracts/getContractAddress.ts +4 -4
- package/src/functions/commitName.test.ts +0 -3
- package/src/functions/commitName.ts +1 -2
- package/src/functions/createSubname.ts +4 -5
- package/src/functions/getHistory.ts +59 -25
- package/src/functions/getNames.test.ts +1 -1
- package/src/functions/getNames.ts +26 -13
- package/src/functions/getOwner.test.ts +62 -3
- package/src/functions/getOwner.ts +31 -11
- package/src/functions/getSpecificRecord.test.ts +162 -0
- package/src/functions/getSpecificRecord.ts +95 -1
- package/src/functions/getWrapperData.test.ts +11 -45
- package/src/functions/getWrapperData.ts +7 -5
- package/src/functions/registerName.test.ts +3 -3
- package/src/functions/renewNames.ts +17 -23
- package/src/functions/setFuses.test.ts +240 -0
- package/src/functions/setFuses.ts +44 -0
- package/src/functions/setRecord.test.ts +147 -1
- package/src/functions/setRecord.ts +6 -1
- package/src/functions/types.ts +10 -4
- package/src/functions/wrapName.test.ts +8 -7
- package/src/functions/wrapName.ts +10 -24
- package/src/generated/ETHRegistrarController.ts +12 -79
- package/src/generated/NameWrapper.ts +155 -99
- package/src/generated/PublicResolver.ts +123 -0
- package/src/generated/UniversalResolver.ts +157 -16
- package/src/generated/factories/ETHRegistrarController__factory.ts +6 -55
- package/src/generated/factories/NameWrapper__factory.ts +90 -69
- package/src/generated/factories/PublicResolver__factory.ts +83 -0
- package/src/generated/factories/UniversalResolver__factory.ts +67 -2
- package/src/index.ts +23 -14
- package/src/utils/consts.ts +1 -0
- package/src/utils/fuses.ts +299 -102
- package/src/utils/normalise.ts +1 -1
- package/src/utils/recordHelpers.ts +64 -1
- package/src/utils/registerHelpers.ts +13 -41
- package/src/utils/subgraph-types.ts +312 -0
- package/src/utils/wrapper.ts +1 -1
- package/dist/cjs/utils/generateFuseInput.js +0 -40
- package/dist/esm/functions/burnFuses.mjs +0 -12
- package/dist/esm/utils/generateFuseInput.mjs +0 -15
- package/dist/types/functions/burnFuses.d.ts +0 -3
- package/dist/types/utils/generateFuseInput.d.ts +0 -3
- package/src/functions/burnFuses.test.ts +0 -148
- package/src/functions/burnFuses.ts +0 -16
- 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 {
|
|
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?:
|
|
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'
|
|
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
|
-
|
|
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,
|
|
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
|
-
}) =>
|
|
35
|
+
}) => RegistrationTuple;
|
|
53
36
|
export declare const makeRegistrationData: (params: RegistrationParams) => RegistrationTuple;
|
|
54
|
-
export declare const _makeCommitment: (params:
|
|
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("
|
|
9
|
-
gasPrice?: import("
|
|
8
|
+
gasLimit?: import("ethers").BigNumber | undefined;
|
|
9
|
+
gasPrice?: import("ethers").BigNumber | undefined;
|
|
10
10
|
data?: string | undefined;
|
|
11
|
-
value?: import("
|
|
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("
|
|
16
|
-
maxPriorityFeePerGas?: import("
|
|
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.
|
|
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.
|
|
72
|
-
"@ensdomains/ens-test-env": "0.3.
|
|
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
|
|
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': '
|
|
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': '
|
|
30
|
+
'5': '0xEe1F756aCde7E81B2D8cC6aB3c8A1E2cE6db0F39',
|
|
31
31
|
},
|
|
32
32
|
PublicResolver: {
|
|
33
33
|
'1': '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41',
|
|
34
34
|
'3': '0x13F0659Ee6bb7484C884FEeFb7F75C93951ef837',
|
|
35
|
-
'5': '
|
|
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': '
|
|
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
|
|
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
|
}
|