@ensdomains/ensjs 3.0.0-alpha.41 → 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 (107) 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/getWrapperData.js +3 -4
  8. package/dist/cjs/functions/renewNames.js +13 -20
  9. package/dist/cjs/functions/{burnFuses.js → setFuses.js} +24 -6
  10. package/dist/cjs/functions/wrapName.js +7 -23
  11. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +6 -55
  12. package/dist/cjs/generated/factories/NameWrapper__factory.js +90 -69
  13. package/dist/cjs/generated/factories/PublicResolver__factory.js +83 -0
  14. package/dist/cjs/generated/factories/UniversalResolver__factory.js +67 -2
  15. package/dist/cjs/index.js +5 -4
  16. package/dist/cjs/utils/consts.js +3 -1
  17. package/dist/cjs/utils/fuses.js +218 -53
  18. package/dist/cjs/utils/normalise.js +2 -2
  19. package/dist/cjs/utils/recordHelpers.js +4 -3
  20. package/dist/cjs/utils/registerHelpers.js +9 -23
  21. package/dist/cjs/utils/subgraph-types.js +16 -0
  22. package/dist/cjs/utils/wrapper.js +2 -2
  23. package/dist/esm/contracts/getContractAddress.mjs +4 -4
  24. package/dist/esm/functions/commitName.mjs +2 -3
  25. package/dist/esm/functions/createSubname.mjs +2 -2
  26. package/dist/esm/functions/getHistory.mjs +14 -7
  27. package/dist/esm/functions/getNames.mjs +10 -6
  28. package/dist/esm/functions/getOwner.mjs +25 -12
  29. package/dist/esm/functions/getWrapperData.mjs +3 -4
  30. package/dist/esm/functions/renewNames.mjs +13 -20
  31. package/dist/esm/functions/setFuses.mjs +30 -0
  32. package/dist/esm/functions/wrapName.mjs +8 -18
  33. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +6 -55
  34. package/dist/esm/generated/factories/NameWrapper__factory.mjs +90 -69
  35. package/dist/esm/generated/factories/PublicResolver__factory.mjs +83 -0
  36. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +67 -2
  37. package/dist/esm/index.mjs +5 -4
  38. package/dist/esm/utils/consts.mjs +3 -1
  39. package/dist/esm/utils/fuses.mjs +218 -53
  40. package/dist/esm/utils/normalise.mjs +1 -1
  41. package/dist/esm/utils/recordHelpers.mjs +2 -1
  42. package/dist/esm/utils/registerHelpers.mjs +9 -17
  43. package/dist/esm/utils/subgraph-types.mjs +0 -0
  44. package/dist/esm/utils/wrapper.mjs +1 -1
  45. package/dist/types/functions/commitName.d.ts +0 -1
  46. package/dist/types/functions/createSubname.d.ts +2 -2
  47. package/dist/types/functions/getHistory.d.ts +1 -1
  48. package/dist/types/functions/getNames.d.ts +3 -3
  49. package/dist/types/functions/getOwner.d.ts +1 -0
  50. package/dist/types/functions/getWrapperData.d.ts +44 -5
  51. package/dist/types/functions/renewNames.d.ts +4 -5
  52. package/dist/types/functions/setFuses.d.ts +7 -0
  53. package/dist/types/functions/types.d.ts +6 -4
  54. package/dist/types/functions/wrapName.d.ts +3 -3
  55. package/dist/types/generated/ETHRegistrarController.d.ts +13 -36
  56. package/dist/types/generated/NameWrapper.d.ts +97 -52
  57. package/dist/types/generated/PublicResolver.d.ts +50 -1
  58. package/dist/types/generated/UniversalResolver.d.ts +79 -32
  59. package/dist/types/generated/factories/UniversalResolver__factory.d.ts +15 -0
  60. package/dist/types/index.d.ts +51 -9
  61. package/dist/types/utils/consts.d.ts +1 -0
  62. package/dist/types/utils/fuses.d.ts +115 -45
  63. package/dist/types/utils/registerHelpers.d.ts +7 -25
  64. package/dist/types/utils/subgraph-types.d.ts +284 -0
  65. package/package.json +5 -5
  66. package/src/contracts/getContractAddress.ts +4 -4
  67. package/src/functions/commitName.test.ts +0 -3
  68. package/src/functions/commitName.ts +1 -2
  69. package/src/functions/createSubname.ts +4 -5
  70. package/src/functions/getHistory.ts +59 -25
  71. package/src/functions/getNames.test.ts +1 -1
  72. package/src/functions/getNames.ts +26 -13
  73. package/src/functions/getOwner.test.ts +62 -3
  74. package/src/functions/getOwner.ts +31 -11
  75. package/src/functions/getWrapperData.test.ts +11 -45
  76. package/src/functions/getWrapperData.ts +7 -5
  77. package/src/functions/registerName.test.ts +3 -3
  78. package/src/functions/renewNames.ts +17 -23
  79. package/src/functions/setFuses.test.ts +240 -0
  80. package/src/functions/setFuses.ts +44 -0
  81. package/src/functions/types.ts +6 -4
  82. package/src/functions/wrapName.test.ts +8 -7
  83. package/src/functions/wrapName.ts +10 -24
  84. package/src/generated/ETHRegistrarController.ts +12 -79
  85. package/src/generated/NameWrapper.ts +155 -99
  86. package/src/generated/PublicResolver.ts +123 -0
  87. package/src/generated/UniversalResolver.ts +157 -16
  88. package/src/generated/factories/ETHRegistrarController__factory.ts +6 -55
  89. package/src/generated/factories/NameWrapper__factory.ts +90 -69
  90. package/src/generated/factories/PublicResolver__factory.ts +83 -0
  91. package/src/generated/factories/UniversalResolver__factory.ts +67 -2
  92. package/src/index.ts +11 -14
  93. package/src/utils/consts.ts +1 -0
  94. package/src/utils/fuses.ts +299 -102
  95. package/src/utils/normalise.ts +1 -1
  96. package/src/utils/recordHelpers.ts +2 -1
  97. package/src/utils/registerHelpers.ts +13 -41
  98. package/src/utils/subgraph-types.ts +312 -0
  99. package/src/utils/wrapper.ts +1 -1
  100. package/dist/cjs/utils/generateFuseInput.js +0 -40
  101. package/dist/esm/functions/burnFuses.mjs +0 -12
  102. package/dist/esm/utils/generateFuseInput.mjs +0 -15
  103. package/dist/types/functions/burnFuses.d.ts +0 -3
  104. package/dist/types/utils/generateFuseInput.d.ts +0 -3
  105. package/src/functions/burnFuses.test.ts +0 -148
  106. package/src/functions/burnFuses.ts +0 -16
  107. package/src/utils/generateFuseInput.ts +0 -13
@@ -111,27 +111,39 @@ var decode = async ({
111
111
  const registryOwner = decodedData[0][0];
112
112
  const nameWrapperOwner = decodedData[1][0];
113
113
  let registrarOwner = decodedData[2]?.[0];
114
+ let baseReturnObject = {};
114
115
  if (labels[labels.length - 1] === "eth") {
115
- if (!registrarOwner && labels.length === 2) {
116
- const graphRegistrantResult = await gqlInstance.client.request(
117
- registrantQuery,
118
- {
119
- namehash: makeNamehash(name)
120
- }
121
- );
122
- registrarOwner = graphRegistrantResult.domain?.registration?.registrant?.id;
116
+ if (labels.length === 2) {
117
+ if (!registrarOwner) {
118
+ const graphRegistrantResult = await gqlInstance.client.request(
119
+ registrantQuery,
120
+ {
121
+ namehash: makeNamehash(name)
122
+ }
123
+ );
124
+ registrarOwner = graphRegistrantResult.domain?.registration?.registrant?.id;
125
+ baseReturnObject = {
126
+ expired: true
127
+ };
128
+ } else {
129
+ baseReturnObject = {
130
+ expired: false
131
+ };
132
+ }
123
133
  }
124
- if (registrarOwner === nameWrapper.address) {
134
+ if (registrarOwner?.toLowerCase() === nameWrapper.address.toLowerCase()) {
125
135
  return {
126
136
  owner: nameWrapperOwner,
127
- ownershipLevel: "nameWrapper"
137
+ ownershipLevel: "nameWrapper",
138
+ ...baseReturnObject
128
139
  };
129
140
  }
130
141
  if (registrarOwner) {
131
142
  return {
132
143
  registrant: registrarOwner,
133
144
  owner: registryOwner,
134
- ownershipLevel: "registrar"
145
+ ownershipLevel: "registrar",
146
+ ...baseReturnObject
135
147
  };
136
148
  }
137
149
  if (hexStripZeros(registryOwner) !== "0x") {
@@ -139,7 +151,8 @@ var decode = async ({
139
151
  return {
140
152
  registrant: void 0,
141
153
  owner: registryOwner,
142
- ownershipLevel: "registrar"
154
+ ownershipLevel: "registrar",
155
+ expired: true
143
156
  };
144
157
  }
145
158
  if (registryOwner === nameWrapper.address && nameWrapperOwner && hexStripZeros(nameWrapperOwner) !== "0x") {
@@ -12,15 +12,14 @@ var raw = async ({ contracts }, name) => {
12
12
  var decode = async ({ contracts }, data) => {
13
13
  const nameWrapper = await contracts?.getNameWrapper();
14
14
  try {
15
- const [owner, _fuses, expiry] = nameWrapper.interface.decodeFunctionResult(
15
+ const [owner, fuses, expiry] = nameWrapper.interface.decodeFunctionResult(
16
16
  "getData",
17
17
  data
18
18
  );
19
- const fuses = BigNumber.from(_fuses);
20
19
  const fuseObj = decodeFuses(fuses);
21
- const expiryDate = new Date(expiry * 1e3);
20
+ const expiryDate = expiry.gt(0) && expiry.lt(BigNumber.from(2).pow(32)) ? new Date(expiry.mul(1e3).toString()) : void 0;
22
21
  return {
23
- fuseObj,
22
+ ...fuseObj,
24
23
  expiryDate,
25
24
  rawFuses: fuses,
26
25
  owner
@@ -1,24 +1,17 @@
1
1
  // src/functions/renewNames.ts
2
- import { validateFuses } from "../utils/fuses.mjs";
3
- import { MAX_INT_64 } from "../utils/registerHelpers.mjs";
4
- async function renewNameWithData({ contracts }, name, {
5
- duration,
6
- value,
7
- fuses,
8
- wrapperExpiry = MAX_INT_64
9
- }) {
2
+ import { MAX_INT_64 } from "../utils/consts.mjs";
3
+ import { labelhash } from "../utils/labels.mjs";
4
+ import { namehash } from "../utils/normalise.mjs";
5
+ async function extendWrappedName({ contracts }, name, options) {
6
+ const expiry = options?.duration || MAX_INT_64;
10
7
  const labels = name.split(".");
11
- if (labels.length !== 2 || labels[1] !== "eth") {
12
- throw new Error("Currently only .eth TLD renewals are supported");
13
- }
14
- const encodedFuses = fuses ? validateFuses(fuses) : 0;
15
- const controller = await contracts.getEthRegistrarController();
16
- return controller.populateTransaction.renewWithFuses(
17
- labels[0],
18
- duration,
19
- encodedFuses,
20
- wrapperExpiry,
21
- { value }
8
+ const labelHash = labelhash(labels.shift());
9
+ const parentNode = namehash(labels.join("."));
10
+ const nameWrapper = await contracts.getNameWrapper();
11
+ return nameWrapper.populateTransaction.extendExpiry(
12
+ parentNode,
13
+ labelHash,
14
+ expiry
22
15
  );
23
16
  }
24
17
  async function renewNames_default({ contracts }, nameOrNames, { duration, value }) {
@@ -39,5 +32,5 @@ async function renewNames_default({ contracts }, nameOrNames, { duration, value
39
32
  }
40
33
  export {
41
34
  renewNames_default as default,
42
- renewNameWithData
35
+ extendWrappedName
43
36
  };
@@ -0,0 +1,30 @@
1
+ // src/functions/setFuses.ts
2
+ import { encodeFuses } from "../utils/fuses.mjs";
3
+ import { labelhash } from "../utils/labels.mjs";
4
+ import { namehash } from "../utils/normalise.mjs";
5
+ async function setChildFuses({ contracts, signer }, name, {
6
+ fuses,
7
+ expiry = 0
8
+ }) {
9
+ const encodedFuses = encodeFuses(fuses);
10
+ const labels = name.split(".");
11
+ const labelHash = labelhash(labels.shift());
12
+ const parentNode = namehash(labels.join("."));
13
+ const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
14
+ return nameWrapper.populateTransaction.setChildFuses(
15
+ parentNode,
16
+ labelHash,
17
+ encodedFuses,
18
+ expiry
19
+ );
20
+ }
21
+ async function setFuses_default({ contracts, signer }, name, props) {
22
+ const encodedFuses = encodeFuses(props, "child");
23
+ const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
24
+ const hash = namehash(name);
25
+ return nameWrapper.populateTransaction.setFuses(hash, encodedFuses);
26
+ }
27
+ export {
28
+ setFuses_default as default,
29
+ setChildFuses
30
+ };
@@ -1,16 +1,16 @@
1
1
  // src/functions/wrapName.ts
2
2
  import { defaultAbiCoder } from "@ethersproject/abi/lib.esm/abi-coder.js";
3
3
  import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
4
- import generateFuseInput from "../utils/generateFuseInput.mjs";
4
+ import { encodeFuses } from "../utils/fuses.mjs";
5
5
  import { hexEncodeName } from "../utils/hexEncodedName.mjs";
6
- import { makeExpiry, wrappedLabelLengthCheck } from "../utils/wrapper.mjs";
7
- async function wrapETH({ contracts }, labels, wrappedOwner, expiry, decodedFuses, resolverAddress, signer, address) {
6
+ import { wrappedLabelLengthCheck } from "../utils/wrapper.mjs";
7
+ async function wrapETH({ contracts }, labels, wrappedOwner, decodedFuses, resolverAddress, signer, address) {
8
8
  const nameWrapper = await contracts?.getNameWrapper();
9
9
  const baseRegistrar = (await contracts.getBaseRegistrar()).connect(signer);
10
10
  const labelhash = solidityKeccak256(["string"], [labels[0]]);
11
11
  const data = defaultAbiCoder.encode(
12
- ["string", "address", "uint32", "uint64", "address"],
13
- [labels[0], wrappedOwner, decodedFuses, expiry, resolverAddress]
12
+ ["string", "address", "uint16", "address"],
13
+ [labels[0], wrappedOwner, decodedFuses, resolverAddress]
14
14
  );
15
15
  return baseRegistrar.populateTransaction["safeTransferFrom(address,address,uint256,bytes)"](address, nameWrapper.address, labelhash, data);
16
16
  }
@@ -32,11 +32,7 @@ async function wrapOther({ contracts }, name, wrappedOwner, resolverAddress, add
32
32
  resolverAddress
33
33
  );
34
34
  }
35
- async function wrapName_default({
36
- contracts,
37
- signer,
38
- getExpiry
39
- }, name, {
35
+ async function wrapName_default({ contracts, signer }, name, {
40
36
  wrappedOwner,
41
37
  fuseOptions,
42
38
  expiry,
@@ -52,31 +48,25 @@ async function wrapName_default({
52
48
  if (labels.length === 2 && labels[1] === "eth") {
53
49
  switch (typeof fuseOptions) {
54
50
  case "object": {
55
- decodedFuses = generateFuseInput(fuseOptions);
51
+ decodedFuses = encodeFuses(fuseOptions);
56
52
  break;
57
53
  }
58
54
  case "number": {
59
- decodedFuses = fuseOptions.toString(16);
60
- break;
61
- }
62
- case "string": {
63
55
  decodedFuses = fuseOptions;
64
56
  break;
65
57
  }
66
58
  case "undefined": {
67
- decodedFuses = "0";
59
+ decodedFuses = 0;
68
60
  break;
69
61
  }
70
62
  default: {
71
63
  throw new Error(`Invalid fuseOptions type: ${typeof fuseOptions}`);
72
64
  }
73
65
  }
74
- const expiryToUse = await makeExpiry({ getExpiry }, name, expiry);
75
66
  return wrapETH(
76
67
  { contracts },
77
68
  labels,
78
69
  wrappedOwner,
79
- expiryToUse,
80
70
  decodedFuses,
81
71
  resolverAddress,
82
72
  signer,
@@ -109,17 +109,6 @@ var _abi = [
109
109
  name: "ResolverRequiredWhenDataSupplied",
110
110
  type: "error"
111
111
  },
112
- {
113
- inputs: [
114
- {
115
- internalType: "bytes32",
116
- name: "node",
117
- type: "bytes32"
118
- }
119
- ],
120
- name: "Unauthorised",
121
- type: "error"
122
- },
123
112
  {
124
113
  inputs: [
125
114
  {
@@ -326,14 +315,9 @@ var _abi = [
326
315
  type: "bool"
327
316
  },
328
317
  {
329
- internalType: "uint32",
330
- name: "fuses",
331
- type: "uint32"
332
- },
333
- {
334
- internalType: "uint64",
335
- name: "wrapperExpiry",
336
- type: "uint64"
318
+ internalType: "uint16",
319
+ name: "ownerControlledFuses",
320
+ type: "uint16"
337
321
  }
338
322
  ],
339
323
  name: "makeCommitment",
@@ -473,14 +457,9 @@ var _abi = [
473
457
  type: "bool"
474
458
  },
475
459
  {
476
- internalType: "uint32",
477
- name: "fuses",
478
- type: "uint32"
479
- },
480
- {
481
- internalType: "uint64",
482
- name: "wrapperExpiry",
483
- type: "uint64"
460
+ internalType: "uint16",
461
+ name: "ownerControlledFuses",
462
+ type: "uint16"
484
463
  }
485
464
  ],
486
465
  name: "register",
@@ -506,34 +485,6 @@ var _abi = [
506
485
  stateMutability: "payable",
507
486
  type: "function"
508
487
  },
509
- {
510
- inputs: [
511
- {
512
- internalType: "string",
513
- name: "name",
514
- type: "string"
515
- },
516
- {
517
- internalType: "uint256",
518
- name: "duration",
519
- type: "uint256"
520
- },
521
- {
522
- internalType: "uint32",
523
- name: "fuses",
524
- type: "uint32"
525
- },
526
- {
527
- internalType: "uint64",
528
- name: "wrapperExpiry",
529
- type: "uint64"
530
- }
531
- ],
532
- name: "renewWithFuses",
533
- outputs: [],
534
- stateMutability: "payable",
535
- type: "function"
536
- },
537
488
  {
538
489
  inputs: [],
539
490
  name: "renounceOwnership",
@@ -88,6 +88,11 @@ var _abi = [
88
88
  name: "LabelTooShort",
89
89
  type: "error"
90
90
  },
91
+ {
92
+ inputs: [],
93
+ name: "NameIsNotWrapped",
94
+ type: "error"
95
+ },
91
96
  {
92
97
  inputs: [
93
98
  {
@@ -168,12 +173,6 @@ var _abi = [
168
173
  name: "node",
169
174
  type: "bytes32"
170
175
  },
171
- {
172
- indexed: false,
173
- internalType: "uint32",
174
- name: "fuses",
175
- type: "uint32"
176
- },
177
176
  {
178
177
  indexed: false,
179
178
  internalType: "uint64",
@@ -181,6 +180,25 @@ var _abi = [
181
180
  type: "uint64"
182
181
  }
183
182
  ],
183
+ name: "ExpiryExtended",
184
+ type: "event"
185
+ },
186
+ {
187
+ anonymous: false,
188
+ inputs: [
189
+ {
190
+ indexed: true,
191
+ internalType: "bytes32",
192
+ name: "node",
193
+ type: "bytes32"
194
+ },
195
+ {
196
+ indexed: false,
197
+ internalType: "uint32",
198
+ name: "fuses",
199
+ type: "uint32"
200
+ }
201
+ ],
184
202
  name: "FusesSet",
185
203
  type: "event"
186
204
  },
@@ -443,6 +461,30 @@ var _abi = [
443
461
  stateMutability: "view",
444
462
  type: "function"
445
463
  },
464
+ {
465
+ inputs: [
466
+ {
467
+ internalType: "bytes32",
468
+ name: "node",
469
+ type: "bytes32"
470
+ },
471
+ {
472
+ internalType: "address",
473
+ name: "addr",
474
+ type: "address"
475
+ }
476
+ ],
477
+ name: "canModifyName",
478
+ outputs: [
479
+ {
480
+ internalType: "bool",
481
+ name: "",
482
+ type: "bool"
483
+ }
484
+ ],
485
+ stateMutability: "view",
486
+ type: "function"
487
+ },
446
488
  {
447
489
  inputs: [
448
490
  {
@@ -475,6 +517,35 @@ var _abi = [
475
517
  stateMutability: "view",
476
518
  type: "function"
477
519
  },
520
+ {
521
+ inputs: [
522
+ {
523
+ internalType: "bytes32",
524
+ name: "parentNode",
525
+ type: "bytes32"
526
+ },
527
+ {
528
+ internalType: "bytes32",
529
+ name: "labelhash",
530
+ type: "bytes32"
531
+ },
532
+ {
533
+ internalType: "uint64",
534
+ name: "expiry",
535
+ type: "uint64"
536
+ }
537
+ ],
538
+ name: "extendExpiry",
539
+ outputs: [
540
+ {
541
+ internalType: "uint64",
542
+ name: "",
543
+ type: "uint64"
544
+ }
545
+ ],
546
+ stateMutability: "nonpayable",
547
+ type: "function"
548
+ },
478
549
  {
479
550
  inputs: [
480
551
  {
@@ -487,17 +558,17 @@ var _abi = [
487
558
  outputs: [
488
559
  {
489
560
  internalType: "address",
490
- name: "",
561
+ name: "owner",
491
562
  type: "address"
492
563
  },
493
564
  {
494
565
  internalType: "uint32",
495
- name: "",
566
+ name: "fuses",
496
567
  type: "uint32"
497
568
  },
498
569
  {
499
570
  internalType: "uint64",
500
- name: "",
571
+ name: "expiry",
501
572
  type: "uint64"
502
573
  }
503
574
  ],
@@ -528,30 +599,6 @@ var _abi = [
528
599
  stateMutability: "view",
529
600
  type: "function"
530
601
  },
531
- {
532
- inputs: [
533
- {
534
- internalType: "bytes32",
535
- name: "node",
536
- type: "bytes32"
537
- },
538
- {
539
- internalType: "address",
540
- name: "addr",
541
- type: "address"
542
- }
543
- ],
544
- name: "isTokenOwnerOrApproved",
545
- outputs: [
546
- {
547
- internalType: "bool",
548
- name: "",
549
- type: "bool"
550
- }
551
- ],
552
- stateMutability: "view",
553
- type: "function"
554
- },
555
602
  {
556
603
  inputs: [
557
604
  {
@@ -728,14 +775,9 @@ var _abi = [
728
775
  type: "address"
729
776
  },
730
777
  {
731
- internalType: "uint32",
732
- name: "fuses",
733
- type: "uint32"
734
- },
735
- {
736
- internalType: "uint64",
737
- name: "expiry",
738
- type: "uint64"
778
+ internalType: "uint16",
779
+ name: "ownerControlledFuses",
780
+ type: "uint16"
739
781
  }
740
782
  ],
741
783
  name: "registerAndWrapETH2LD",
@@ -773,16 +815,6 @@ var _abi = [
773
815
  internalType: "uint256",
774
816
  name: "duration",
775
817
  type: "uint256"
776
- },
777
- {
778
- internalType: "uint32",
779
- name: "fuses",
780
- type: "uint32"
781
- },
782
- {
783
- internalType: "uint64",
784
- name: "expiry",
785
- type: "uint64"
786
818
  }
787
819
  ],
788
820
  name: "renew",
@@ -941,9 +973,9 @@ var _abi = [
941
973
  type: "bytes32"
942
974
  },
943
975
  {
944
- internalType: "uint32",
945
- name: "fuses",
946
- type: "uint32"
976
+ internalType: "uint16",
977
+ name: "ownerControlledFuses",
978
+ type: "uint16"
947
979
  }
948
980
  ],
949
981
  name: "setFuses",
@@ -1332,14 +1364,9 @@ var _abi = [
1332
1364
  type: "address"
1333
1365
  },
1334
1366
  {
1335
- internalType: "uint32",
1336
- name: "fuses",
1337
- type: "uint32"
1338
- },
1339
- {
1340
- internalType: "uint64",
1341
- name: "expiry",
1342
- type: "uint64"
1367
+ internalType: "uint16",
1368
+ name: "ownerControlledFuses",
1369
+ type: "uint16"
1343
1370
  },
1344
1371
  {
1345
1372
  internalType: "address",
@@ -1348,13 +1375,7 @@ var _abi = [
1348
1375
  }
1349
1376
  ],
1350
1377
  name: "wrapETH2LD",
1351
- outputs: [
1352
- {
1353
- internalType: "uint64",
1354
- name: "",
1355
- type: "uint64"
1356
- }
1357
- ],
1378
+ outputs: [],
1358
1379
  stateMutability: "nonpayable",
1359
1380
  type: "function"
1360
1381
  }
@@ -123,6 +123,37 @@ var _abi = [
123
123
  name: "ApprovalForAll",
124
124
  type: "event"
125
125
  },
126
+ {
127
+ anonymous: false,
128
+ inputs: [
129
+ {
130
+ indexed: false,
131
+ internalType: "address",
132
+ name: "owner",
133
+ type: "address"
134
+ },
135
+ {
136
+ indexed: true,
137
+ internalType: "bytes32",
138
+ name: "node",
139
+ type: "bytes32"
140
+ },
141
+ {
142
+ indexed: true,
143
+ internalType: "address",
144
+ name: "delegate",
145
+ type: "address"
146
+ },
147
+ {
148
+ indexed: true,
149
+ internalType: "bool",
150
+ name: "approved",
151
+ type: "bool"
152
+ }
153
+ ],
154
+ name: "Approved",
155
+ type: "event"
156
+ },
126
157
  {
127
158
  anonymous: false,
128
159
  inputs: [
@@ -414,6 +445,29 @@ var _abi = [
414
445
  stateMutability: "view",
415
446
  type: "function"
416
447
  },
448
+ {
449
+ inputs: [
450
+ {
451
+ internalType: "bytes32",
452
+ name: "node",
453
+ type: "bytes32"
454
+ },
455
+ {
456
+ internalType: "address",
457
+ name: "delegate",
458
+ type: "address"
459
+ },
460
+ {
461
+ internalType: "bool",
462
+ name: "approved",
463
+ type: "bool"
464
+ }
465
+ ],
466
+ name: "approve",
467
+ outputs: [],
468
+ stateMutability: "nonpayable",
469
+ type: "function"
470
+ },
417
471
  {
418
472
  inputs: [
419
473
  {
@@ -523,6 +577,35 @@ var _abi = [
523
577
  stateMutability: "view",
524
578
  type: "function"
525
579
  },
580
+ {
581
+ inputs: [
582
+ {
583
+ internalType: "address",
584
+ name: "owner",
585
+ type: "address"
586
+ },
587
+ {
588
+ internalType: "bytes32",
589
+ name: "node",
590
+ type: "bytes32"
591
+ },
592
+ {
593
+ internalType: "address",
594
+ name: "delegate",
595
+ type: "address"
596
+ }
597
+ ],
598
+ name: "isApprovedFor",
599
+ outputs: [
600
+ {
601
+ internalType: "bool",
602
+ name: "",
603
+ type: "bool"
604
+ }
605
+ ],
606
+ stateMutability: "view",
607
+ type: "function"
608
+ },
526
609
  {
527
610
  inputs: [
528
611
  {