@agoric/orchestration 0.1.1-dev-dc846ed.0.dc846ed → 0.1.1-dev-fe77bfe.0.fe77bfe

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/orchestration",
3
- "version": "0.1.1-dev-dc846ed.0.dc846ed",
3
+ "version": "0.1.1-dev-fe77bfe.0.fe77bfe",
4
4
  "description": "Chain abstraction for Agoric's orchestration clients",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -35,19 +35,19 @@
35
35
  },
36
36
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
37
37
  "dependencies": {
38
- "@agoric/async-flow": "0.1.1-dev-dc846ed.0.dc846ed",
39
- "@agoric/cosmic-proto": "0.4.1-dev-dc846ed.0.dc846ed",
40
- "@agoric/ertp": "0.16.3-dev-dc846ed.0.dc846ed",
41
- "@agoric/internal": "0.3.3-dev-dc846ed.0.dc846ed",
42
- "@agoric/network": "0.1.1-dev-dc846ed.0.dc846ed",
43
- "@agoric/notifier": "0.6.3-dev-dc846ed.0.dc846ed",
44
- "@agoric/store": "0.9.3-dev-dc846ed.0.dc846ed",
45
- "@agoric/time": "0.3.3-dev-dc846ed.0.dc846ed",
46
- "@agoric/vat-data": "0.5.3-dev-dc846ed.0.dc846ed",
47
- "@agoric/vats": "0.15.2-dev-dc846ed.0.dc846ed",
48
- "@agoric/vow": "0.1.1-dev-dc846ed.0.dc846ed",
49
- "@agoric/zoe": "0.26.3-dev-dc846ed.0.dc846ed",
50
- "@agoric/zone": "0.2.3-dev-dc846ed.0.dc846ed",
38
+ "@agoric/async-flow": "0.1.1-dev-fe77bfe.0.fe77bfe",
39
+ "@agoric/cosmic-proto": "0.4.1-dev-fe77bfe.0.fe77bfe",
40
+ "@agoric/ertp": "0.16.3-dev-fe77bfe.0.fe77bfe",
41
+ "@agoric/internal": "0.3.3-dev-fe77bfe.0.fe77bfe",
42
+ "@agoric/network": "0.1.1-dev-fe77bfe.0.fe77bfe",
43
+ "@agoric/notifier": "0.6.3-dev-fe77bfe.0.fe77bfe",
44
+ "@agoric/store": "0.9.3-dev-fe77bfe.0.fe77bfe",
45
+ "@agoric/time": "0.3.3-dev-fe77bfe.0.fe77bfe",
46
+ "@agoric/vat-data": "0.5.3-dev-fe77bfe.0.fe77bfe",
47
+ "@agoric/vats": "0.15.2-dev-fe77bfe.0.fe77bfe",
48
+ "@agoric/vow": "0.1.1-dev-fe77bfe.0.fe77bfe",
49
+ "@agoric/zoe": "0.26.3-dev-fe77bfe.0.fe77bfe",
50
+ "@agoric/zone": "0.2.3-dev-fe77bfe.0.fe77bfe",
51
51
  "@cosmjs/encoding": "^0.36.0",
52
52
  "@endo/base64": "^1.0.12",
53
53
  "@endo/errors": "^1.2.13",
@@ -60,7 +60,7 @@
60
60
  "bs58": "^6.0.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@agoric/swingset-liveslots": "0.10.3-dev-dc846ed.0.dc846ed",
63
+ "@agoric/swingset-liveslots": "0.10.3-dev-fe77bfe.0.fe77bfe",
64
64
  "@chain-registry/client": "^1.53.194",
65
65
  "@cosmjs/amino": "^0.36.0",
66
66
  "@cosmjs/proto-signing": "^0.36.0",
@@ -105,5 +105,5 @@
105
105
  "typeCoverage": {
106
106
  "atLeast": 97.65
107
107
  },
108
- "gitHead": "dc846ed1789113fa1e4874305be4832cb922e243"
108
+ "gitHead": "fe77bfe6dd676c5538e17e61cb618750f0f5aac0"
109
109
  }
@@ -132,6 +132,10 @@ export declare const PermitBatchTransferFromTypes: {
132
132
  readonly type: "uint256";
133
133
  }];
134
134
  };
135
+ /**
136
+ * Generate an EIP-712 `types` record for a single-token
137
+ * `permitWitnessTransferFrom` call.
138
+ */
135
139
  export declare function permitWitnessTransferFromTypes<T extends TypedData, TD extends TypedDataParameter<string, Extract<keyof T, string>> = TypedDataParameter<'witness', Extract<keyof T, string>>>(witness: WitnessDefinition<T, TD>): {
136
140
  readonly EIP712Domain: [{
137
141
  readonly name: "name";
@@ -164,6 +168,10 @@ export declare function permitWitnessTransferFromTypes<T extends TypedData, TD e
164
168
  readonly type: "uint256";
165
169
  }];
166
170
  } & T;
171
+ /**
172
+ * Generate an EIP-712 `types` record for a multi-token
173
+ * `permitWitnessTransferFrom` call.
174
+ */
167
175
  export declare function permitBatchWitnessTransferFromTypes<T extends TypedData, TD extends TypedDataParameter<string, Extract<keyof T, string>> = TypedDataParameter<'witness', Extract<keyof T, string>>>(witness: WitnessDefinition<T, TD>): {
168
176
  readonly EIP712Domain: [{
169
177
  readonly name: "name";
@@ -1 +1 @@
1
- {"version":3,"file":"signatureTransfer.d.ts","sourceRoot":"","sources":["signatureTransfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signatureTransfer.d.ts","sourceRoot":"","sources":["signatureTransfer.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,10 @@ export const PermitBatchTransferFromTypes = {
116
116
  TokenPermissions: TokenPermissionTypeParams,
117
117
  } ;
118
118
 
119
+ /**
120
+ * Generate an EIP-712 `types` record for a single-token
121
+ * `permitWitnessTransferFrom` call.
122
+ */
119
123
  export function permitWitnessTransferFromTypes(
120
124
 
121
125
 
@@ -125,7 +129,13 @@ export function permitWitnessTransferFromTypes(
125
129
  EIP712Domain: Permit2DomainTypeParams,
126
130
  PermitWitnessTransferFrom: [
127
131
  ...PermitTransferFromTypeParams,
128
- // Enable runtime type to accept undefined field for base type extraction
132
+ // `witness` is required by static typing, but when it is undefined at
133
+ // runtime, this emits types in which PermitWitnessTransferFrom is
134
+ // truncated just before where a witness field belongs.
135
+ // Doing so simplifies the function returned by
136
+ // {@link makeWitnessTypeStringExtractor}, because the EIP-712 string
137
+ // encoding of that type has its first `)` at that position (i.e.,
138
+ // `PermitWitnessTransferFrom(TokenPermissions permitted,...,uint256 deadline)TokenPermissions(...)`).
129
139
  ...((witness ? [witness.witnessField] : []) ),
130
140
  ],
131
141
  TokenPermissions: TokenPermissionTypeParams,
@@ -133,6 +143,10 @@ export function permitWitnessTransferFromTypes(
133
143
  } ;
134
144
  }
135
145
 
146
+ /**
147
+ * Generate an EIP-712 `types` record for a multi-token
148
+ * `permitWitnessTransferFrom` call.
149
+ */
136
150
  export function permitBatchWitnessTransferFromTypes(
137
151
 
138
152
 
@@ -142,7 +156,13 @@ export function permitBatchWitnessTransferFromTypes(
142
156
  EIP712Domain: Permit2DomainTypeParams,
143
157
  PermitBatchWitnessTransferFrom: [
144
158
  ...PermitBatchTransferFromTypeParams,
145
- // Enable runtime type to accept undefined field for base type extraction
159
+ // `witness` is required by static typing, but when it is undefined at
160
+ // runtime, this emits types in which PermitBatchWitnessTransferFrom is
161
+ // truncated just before where a witness field belongs.
162
+ // Doing so simplifies the function returned by
163
+ // {@link makeWitnessTypeStringExtractor}, because the EIP-712 string
164
+ // encoding of that type has its first `)` at that position (i.e.,
165
+ // `PermitBatchWitnessTransferFrom(TokenPermissions[] permitted,...,uint256 deadline)TokenPermissions(...)`).
146
166
  ...((witness ? [witness.witnessField] : []) ),
147
167
  ],
148
168
  TokenPermissions: TokenPermissionTypeParams,
@@ -1,23 +1,62 @@
1
1
  /**
2
- * @file Helpers for working with permit2 signature transfer witness types
2
+ * @file Helpers for working with Uniswap Permit2 SignatureTransfer
3
+ * `permitWitnessTransferFrom`.
4
+ * @see {@link https://docs.uniswap.org/contracts/permit2/reference/signature-transfer}
3
5
  *
4
6
  * This is original code that was adapted for permit2-sdk, unlike @see ./permit2SignatureTransfer.ts
5
7
  */
6
8
  import type { AbiParameterToPrimitiveType, TypedData } from 'abitype';
7
9
  import type { TypedDataParameter } from '../abitype.js';
8
- import { PermitBatchTransferFromTypeParams, PermitTransferFromTypeParams } from './signatureTransfer.js';
9
- export declare const makeWitnessTypeStringExtractor: ({ encodeType, }: {
10
- encodeType: ({ primaryType, types, }: {
11
- primaryType: string;
12
- types: TypedData;
13
- }) => string;
10
+ import type { encodeType } from '../viem-utils/hashTypedData.js';
11
+ declare const PrimaryTypes: import("@agoric/internal/src/keyMirror.js").KeyMirrorResult<{
12
+ PermitBatchWitnessTransferFrom: null;
13
+ PermitWitnessTransferFrom: null;
14
+ }>;
15
+ type PrimaryTypeName = keyof typeof PrimaryTypes;
16
+ export declare const isPermit2MessageType: (type: string) => type is PrimaryTypeName;
17
+ declare const permit2BaseTypeParams: {
18
+ PermitBatchWitnessTransferFrom: [{
19
+ readonly name: "permitted";
20
+ readonly type: "TokenPermissions[]";
21
+ }, {
22
+ readonly name: "spender";
23
+ readonly type: "address";
24
+ }, {
25
+ readonly name: "nonce";
26
+ readonly type: "uint256";
27
+ }, {
28
+ readonly name: "deadline";
29
+ readonly type: "uint256";
30
+ }];
31
+ PermitWitnessTransferFrom: [{
32
+ readonly name: "permitted";
33
+ readonly type: "TokenPermissions";
34
+ }, {
35
+ readonly name: "spender";
36
+ readonly type: "address";
37
+ }, {
38
+ readonly name: "nonce";
39
+ readonly type: "uint256";
40
+ }, {
41
+ readonly name: "deadline";
42
+ readonly type: "uint256";
43
+ }];
44
+ };
45
+ /**
46
+ * Make a function for returning the `witnessTypeString` argument to use in a
47
+ * `permitWitnessTransferFrom` call.
48
+ */
49
+ export declare const makeWitnessTypeStringExtractor: (powers: {
50
+ encodeType: typeof encodeType;
14
51
  }) => (types: TypedData) => string;
15
- export declare const extractWitnessFieldFromTypes: <T extends Readonly<TypedDataParameter>>(types: {
16
- PermitBatchWitnessTransferFrom: readonly [...typeof PermitBatchTransferFromTypeParams, T];
17
- } | {
18
- PermitWitnessTransferFrom: readonly [...typeof PermitTransferFromTypeParams, T];
19
- }) => T;
20
- export declare const isPermit2MessageType: (type: string) => type is "PermitWitnessTransferFrom" | "PermitBatchWitnessTransferFrom";
52
+ /**
53
+ * Confirm that the input is a EIP-712 `types` record with a single struct
54
+ * definition for the first argument to a `permitWitnessTransferFrom` call
55
+ * (i.e., named either "PermitWitnessTransferFrom" for a single-token transfer
56
+ * or "PermitBatchWitnessTransferFrom" for a multi-token transfer), and return
57
+ * the TypedDataParameter describing the witness field of that definition.
58
+ */
59
+ export declare const extractWitnessFieldFromTypes: <T extends Readonly<TypedDataParameter>>(types: { [K in PrimaryTypeName]: Record<K, readonly [...(typeof permit2BaseTypeParams)[K], T]>; }[PrimaryTypeName]) => T;
21
60
  export declare const TokenPermissionsComponents: [{
22
61
  readonly name: "token";
23
62
  readonly type: "address";
@@ -291,4 +330,5 @@ export declare const BatchPermitWitnessTransferFunctionABIType: {
291
330
  readonly stateMutability: "nonpayable";
292
331
  readonly type: "function";
293
332
  };
333
+ export {};
294
334
  //# sourceMappingURL=signatureTransferHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signatureTransferHelpers.d.ts","sourceRoot":"","sources":["signatureTransferHelpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAGV,2BAA2B,EAC3B,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,iCAAiC,EAEjC,4BAA4B,EAE7B,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,8BAA8B,GAAI,iBAE5C;IACD,UAAU,EAAE,CAAC,EACX,WAAW,EACX,KAAK,GACN,EAAE;QACD,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,SAAS,CAAC;KAClB,KAAK,MAAM,CAAC;CACd,MAiBsC,OAAO,SAAS,WA0BtD,CAAC;AAUF,eAAO,MAAM,4BAA4B,GACvC,CAAC,SAAS,QAAQ,CAAC,kBAAkB,CAAC,EAEtC,OACI;IACE,8BAA8B,EAAE,SAAS,CACvC,GAAG,OAAO,iCAAiC,EAC3C,CAAC,CACF,CAAC;CACH,GACD;IACE,yBAAyB,EAAE,SAAS,CAClC,GAAG,OAAO,4BAA4B,EACtC,CAAC,CACF,CAAC;CACH,KACJ,CAqCF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,2EAKhD,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;EAGJ,CAAC;AACpC,eAAO,MAAM,gCAAgC,EAC3C,4CAAqD,CAAC;AAExD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;EASN,CAAC;AACpC,eAAO,MAAM,kCAAkC,EAC7C,8CAAuD,CAAC;AAC1D,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;IACjE,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,OAAO,kCAAkC,CAAC;IACxD,UAAU,EAAE,OAAO,4BAA4B,CAAC;CACjD,CAAC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;EASX,CAAC;AACpC,eAAO,MAAM,uCAAuC,EAClD,mDAA4D,CAAC;AAC/D,MAAM,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;IACtE,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,OAAO,uCAAuC,CAAC;IAC7D,UAAU,EAAE,OAAO,iCAAiC,CAAC;CACtD,CAAC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;EAGZ,CAAC;AACpC,eAAO,MAAM,wCAAwC,EACnD,oDAA6D,CAAC;AAChE,MAAM,MAAM,8BAA8B,GAAG,2BAA2B,CAAC;IACvE,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,OAAO,wCAAwC,CAAC;IAC9D,UAAU,EAAE,OAAO,kCAAkC,CAAC;CACvD,CAAC,CAAC;AAEH,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBlB,CAAC;AACpC,MAAM,MAAM,gCAAgC,GAAG,2BAA2B,CAAC;IACzE,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,wCAAwC,CAAC;CAC7D,CAAC,CAAC;AAEH,eAAO,MAAM,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBvB,CAAC;AACpC,MAAM,MAAM,qCAAqC,GAC/C,2BAA2B,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,6CAA6C,CAAC;CAClE,CAAC,CAAC;AAEL,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMrB,CAAC;AAEjC,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMtB,CAAC"}
1
+ {"version":3,"file":"signatureTransferHelpers.d.ts","sourceRoot":"","sources":["signatureTransferHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  /**
2
- * @file Helpers for working with permit2 signature transfer witness types
2
+ * @file Helpers for working with Uniswap Permit2 SignatureTransfer
3
+ * `permitWitnessTransferFrom`.
4
+ * @see {@link https://docs.uniswap.org/contracts/permit2/reference/signature-transfer}
3
5
  *
4
6
  * This is original code that was adapted for permit2-sdk, unlike @see ./permit2SignatureTransfer.ts
5
7
  */
@@ -10,7 +12,10 @@
10
12
 
11
13
 
12
14
 
13
-
15
+ import { keyMirror } from '@agoric/internal/src/keyMirror.js';
16
+ import { objectMapMutable } from '@agoric/internal/src/js-utils.js';
17
+ ;
18
+ ;
14
19
  import {
15
20
  PermitBatchTransferFromTypeParams,
16
21
  permitBatchWitnessTransferFromTypes,
@@ -18,59 +23,84 @@ import {
18
23
  permitWitnessTransferFromTypes,
19
24
  } from './signatureTransfer.js';
20
25
 
21
- export const makeWitnessTypeStringExtractor = ({
22
- encodeType,
23
- }
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
- ) => {
32
- const baseTypeStrings = Object.fromEntries(
33
- Object.entries({
34
- PermitBatchWitnessTransferFrom: permitBatchWitnessTransferFromTypes,
35
- PermitWitnessTransferFrom: permitWitnessTransferFromTypes,
36
- }).map(([typeName, typeFunc]) => {
37
- const encoded = encodeType({
38
- primaryType: typeName,
39
- // @ts-expect-error undefined is not allowed in types but supported in implementation
40
- types: typeFunc(undefined),
41
- });
26
+ const PrimaryTypes = keyMirror({
27
+ PermitBatchWitnessTransferFrom: null,
28
+ PermitWitnessTransferFrom: null,
29
+ });
30
+ ;
42
31
 
43
- const prefix = encoded.substring(0, encoded.indexOf(')'));
44
- return [typeName, `${prefix},`];
45
- }),
46
- );
32
+ export const isPermit2MessageType = (type ) =>
33
+ type in PrimaryTypes;
47
34
 
48
- return function getWitnessTypeString(types ) {
49
- const matchingTypes = Object.keys(types).filter(
50
- type => type in baseTypeStrings,
35
+ const getPrimaryType = (types ) => {
36
+ const found = Object.keys(types).filter(isPermit2MessageType);
37
+ if (found.length !== 1) {
38
+ throw new Error(
39
+ `Exactly one of the following types must be defined: ${Object.keys(PrimaryTypes).join(', ')}`,
51
40
  );
41
+ }
42
+ return found[0];
43
+ };
52
44
 
53
- if (matchingTypes.length !== 1) {
54
- throw new Error(
55
- `TypedData must have exactly one of the following types: ${Object.keys(baseTypeStrings).join(', ')}`,
56
- );
57
- }
45
+ const permit2BaseTypeParams = {
46
+ PermitBatchWitnessTransferFrom: PermitBatchTransferFromTypeParams,
47
+ PermitWitnessTransferFrom: PermitTransferFromTypeParams,
48
+ } ;
58
49
 
59
- const primaryType = matchingTypes[0];
60
- const encodedType = encodeType({
61
- primaryType,
62
- types,
63
- });
50
+ const typeMakers = {
51
+ PermitBatchWitnessTransferFrom: permitBatchWitnessTransferFromTypes,
52
+ PermitWitnessTransferFrom: permitWitnessTransferFromTypes,
53
+ } ;
64
54
 
65
- const baseTypeString = baseTypeStrings[primaryType];
66
- if (!encodedType.startsWith(baseTypeString)) {
67
- throw new Error(
68
- `TypedData has an invalid type string for ${primaryType}`,
69
- );
55
+ /**
56
+ * Make a function for returning the `witnessTypeString` argument to use in a
57
+ * `permitWitnessTransferFrom` call.
58
+ */
59
+ export const makeWitnessTypeStringExtractor = (powers
60
+
61
+ ) => {
62
+ const { encodeType } = powers;
63
+ const encodedTypePrefixes = objectMapMutable(
64
+ typeMakers,
65
+ (makeTypes, primaryType) => {
66
+ // Each EIP-712 `types` record produced by `makeTypes` differs only in the
67
+ // fields of the struct identified by `primaryType` and any dependencies
68
+ // of its witness field, so the string encoding of any such struct will
69
+ // have a common prefix (e.g.,
70
+ // `PermitWitnessTransferFrom(TokenPermissions permitted,...,uint256 deadline,`,
71
+ // where what follows that last comma is the witness field).
72
+ // We construct that prefix by calling `makeTypes` with *no* witness,
73
+ // which is in violation of its static typing information but implemented
74
+ // to return types in which `primaryType` has no witness field and
75
+ // therefore encodes to a string with a `)` where the witness field
76
+ // belongs.
77
+ // @ts-expect-error undefined witness
78
+ const baseTypes = makeTypes(undefined);
79
+ const encoded = encodeType({ primaryType, types: baseTypes });
80
+ return encoded.substring(0, encoded.indexOf(')'));
81
+ },
82
+ );
83
+
84
+ /**
85
+ * Return the `witnessTypeString` argument for a `permitWitnessTransferFrom`
86
+ * call using the provided EIP-712 `types` record.
87
+ * Note that `types` must define either a valid "PermitWitnessTransferFrom" or
88
+ * a valid "PermitBatchWitnessTransferFrom", but not both.
89
+ * The returned string is the suffix of the EIP-712 encoding of that primary
90
+ * type that starts with its witness field.
91
+ */
92
+ const getWitnessTypeString = (types ) => {
93
+ const primaryType = getPrimaryType(types);
94
+ const encodedType = encodeType({ primaryType, types });
95
+
96
+ const prefix = encodedTypePrefixes[primaryType];
97
+ if (!encodedType.startsWith(prefix)) {
98
+ throw new Error(`${primaryType} must start with expected base fields`);
70
99
  }
71
100
 
72
- return encodedType.substring(baseTypeString.length);
101
+ return encodedType.substring(prefix.length);
73
102
  };
103
+ return getWitnessTypeString;
74
104
  };
75
105
 
76
106
  ;
@@ -81,66 +111,43 @@ export const makeWitnessTypeStringExtractor = ({
81
111
 
82
112
 
83
113
 
114
+ /**
115
+ * Confirm that the input is a EIP-712 `types` record with a single struct
116
+ * definition for the first argument to a `permitWitnessTransferFrom` call
117
+ * (i.e., named either "PermitWitnessTransferFrom" for a single-token transfer
118
+ * or "PermitBatchWitnessTransferFrom" for a multi-token transfer), and return
119
+ * the TypedDataParameter describing the witness field of that definition.
120
+ */
84
121
  export const extractWitnessFieldFromTypes = (
85
122
 
86
123
 
87
- types
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
- ,
124
+ types
125
+
126
+
127
+
128
+
129
+ ,
100
130
  ) => {
101
- const baseTypes = {
102
- PermitBatchWitnessTransferFrom: PermitBatchTransferFromTypeParams,
103
- PermitWitnessTransferFrom: PermitTransferFromTypeParams,
104
- };
131
+ const primaryTypeName = getPrimaryType(types);
132
+ const fieldDefs = (types )[primaryTypeName];
105
133
 
106
- const matchingTypes = Object.keys(types).filter(
107
- type => type in baseTypes,
108
- ) ;
109
-
110
- if (matchingTypes.length !== 1) {
111
- throw new Error(
112
- `TypedData must have exactly one of the following types: ${Object.keys(baseTypes).join(', ')}`,
113
- );
114
- }
115
-
116
- const primaryType = matchingTypes[0];
117
- const candidateType = (types )[primaryType];
118
- const referenceType = baseTypes[primaryType];
119
- if (candidateType.length !== referenceType.length + 1) {
134
+ // `fieldDefs` must match the expected base type with a single extra field for
135
+ // witness data.
136
+ const baseFieldDefs = permit2BaseTypeParams[primaryTypeName];
137
+ if (fieldDefs.length !== baseFieldDefs.length + 1) {
120
138
  throw new Error(
121
- `TypedData has an invalid number of fields for ${primaryType}`,
139
+ `${primaryTypeName} must have ${baseFieldDefs.length + 1} fields`,
122
140
  );
123
141
  }
124
-
125
- for (const [i, field] of referenceType.entries()) {
126
- if (
127
- candidateType[i].name !== field.name ||
128
- candidateType[i].type !== field.type
129
- ) {
142
+ for (const [i, { name, type }] of baseFieldDefs.entries()) {
143
+ if (fieldDefs[i].name !== name || fieldDefs[i].type !== type) {
130
144
  throw new Error(
131
- `TypedData has an invalid field at index ${i} for ${primaryType}`,
145
+ `${primaryTypeName} field at index ${i} must be \`${type} ${name}\``,
132
146
  );
133
147
  }
134
148
  }
135
149
 
136
- return candidateType[candidateType.length - 1] ;
137
- };
138
-
139
- export const isPermit2MessageType = (type ) => {
140
- return (
141
- type === 'PermitBatchWitnessTransferFrom' ||
142
- type === 'PermitWitnessTransferFrom'
143
- );
150
+ return fieldDefs[fieldDefs.length - 1] ;
144
151
  };
145
152
 
146
153
  export const TokenPermissionsComponents = [
@@ -9,6 +9,10 @@ type MessageTypeProperty = {
9
9
  name: string;
10
10
  type: string;
11
11
  };
12
+ /**
13
+ * Serialize an EIP-712 struct definition to a string per
14
+ * https://eips.ethereum.org/EIPS/eip-712#definition-of-encodetype
15
+ */
12
16
  export declare function encodeType({ primaryType, types, }: {
13
17
  primaryType: string;
14
18
  types: Record<string, readonly MessageTypeProperty[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"hashTypedData.d.ts","sourceRoot":"","sources":["hashTypedData.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,KAAK,GACN,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,CAAC;CACvD,UAaA"}
1
+ {"version":3,"file":"hashTypedData.d.ts","sourceRoot":"","sources":["hashTypedData.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,KAAK,GACN,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC,CAAC;CACvD,UAaA"}
@@ -11,6 +11,10 @@
11
11
 
12
12
 
13
13
 
14
+ /**
15
+ * Serialize an EIP-712 struct definition to a string per
16
+ * https://eips.ethereum.org/EIPS/eip-712#definition-of-encodetype
17
+ */
14
18
  export function encodeType({
15
19
  primaryType,
16
20
  types,