@agoric/portfolio-api 0.1.1-dev-dcd35b8.0.dcd35b8 → 0.1.1-dev-e9a67a0.0.e9a67a0

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/portfolio-api",
3
- "version": "0.1.1-dev-dcd35b8.0.dcd35b8",
3
+ "version": "0.1.1-dev-e9a67a0.0.e9a67a0",
4
4
  "description": "API for Portfolio management",
5
5
  "type": "module",
6
6
  "files": [
@@ -27,9 +27,10 @@
27
27
  "generate:ymax-machine": "npx tsx scripts/gen-ymax-machine.mts"
28
28
  },
29
29
  "dependencies": {
30
- "@agoric/internal": "0.3.3-dev-dcd35b8.0.dcd35b8",
31
- "@agoric/orchestration": "0.1.1-dev-dcd35b8.0.dcd35b8",
30
+ "@agoric/internal": "0.3.3-dev-e9a67a0.0.e9a67a0",
31
+ "@agoric/orchestration": "0.1.1-dev-e9a67a0.0.e9a67a0",
32
32
  "@endo/common": "^1.2.13",
33
+ "@endo/errors": "^1.2.13",
33
34
  "@endo/patterns": "^1.7.0"
34
35
  },
35
36
  "devDependencies": {
@@ -65,5 +66,5 @@
65
66
  "engines": {
66
67
  "node": "^20.9 || ^22.11"
67
68
  },
68
- "gitHead": "dcd35b8fa70cec3e8e0df7fe988623c7e0bbc83f"
69
+ "gitHead": "e9a67a0a56c1fdb3b89a20b9da47284d7cf47cdf"
69
70
  }
@@ -9,7 +9,7 @@
9
9
  * Currently all types and helpers are built around a hard-coded Ymax product
10
10
  * name but with some effort this could be parametrizable
11
11
  */
12
- import type { TypedDataDomain, TypedDataToPrimitiveTypes } from 'abitype';
12
+ import type { Address, TypedDataDomain, TypedDataToPrimitiveTypes } from 'abitype';
13
13
  import type { TypedDataDefinition } from 'viem';
14
14
  import type { TypedDataParameter } from '@agoric/orchestration/src/utils/abitype.ts';
15
15
  import { type Witness, type getPermitWitnessTransferFromData, type getPermitBatchWitnessTransferFromData } from '@agoric/orchestration/src/utils/permit2.ts';
@@ -21,11 +21,21 @@ declare const StandaloneDomainTypeParams: [{
21
21
  }, {
22
22
  readonly name: "version";
23
23
  readonly type: "string";
24
+ }, {
25
+ readonly name: "chainId";
26
+ readonly type: "uint256";
27
+ }, {
28
+ readonly name: "verifyingContract";
29
+ readonly type: "address";
24
30
  }];
25
- declare const YmaxStandaloneDomain: {
31
+ declare const YmaxStandaloneDomainBase: {
26
32
  readonly name: "Ymax";
27
33
  readonly version: "1";
28
34
  };
35
+ export type YmaxStandaloneDomain = typeof YmaxStandaloneDomainBase & {
36
+ chainId: bigint;
37
+ verifyingContract: Address;
38
+ };
29
39
  declare const SharedPortfolioTypeParams: [];
30
40
  /**
31
41
  * Fields included in Permit data that we don't want duplicated in witness data,
@@ -133,19 +143,17 @@ export declare const getYmaxOperationTypes: <T extends OperationTypeNames>(opera
133
143
  }];
134
144
  };
135
145
  export declare const getYmaxWitness: <T extends OperationTypeNames>(operation: T, data: NoInfer<TypedDataToPrimitiveTypes<YmaxWitnessTypes>[YmaxWitnessTypeName<T>]>) => Witness<YmaxWitnessTypes<T>, YmaxWitnessMappedTypeParam<T>>;
136
- export declare const getYmaxStandaloneOperationData: <T extends OperationTypeNames>(data: NoInfer<TypedDataToPrimitiveTypes<YmaxStandaloneTypes>[T]>, operation: T) => TypedDataDefinition<YmaxStandaloneTypes<T>, T, T> & {
137
- domain: typeof YmaxStandaloneDomain;
146
+ export declare const getYmaxStandaloneDomain: (chainId: bigint | number, verifyingContract: Address) => YmaxStandaloneDomain;
147
+ export declare const getYmaxStandaloneOperationData: <T extends OperationTypeNames>(data: NoInfer<TypedDataToPrimitiveTypes<YmaxStandaloneTypes>[T]>, operation: T, chainId: bigint | number, verifyingContract: Address) => TypedDataDefinition<YmaxStandaloneTypes<T>, T, T> & {
148
+ domain: YmaxStandaloneDomain;
138
149
  };
139
150
  export type YmaxStandaloneOperationData<T extends OperationTypeNames = OperationTypeNames> = ReturnType<typeof getYmaxStandaloneOperationData<T>>;
140
151
  export type YmaxPermitWitnessTransferFromData<T extends OperationTypeNames = OperationTypeNames> = ReturnType<typeof getPermitWitnessTransferFromData<YmaxWitnessTypes<T>, YmaxWitnessMappedTypeParam<T>>>;
141
152
  export type YmaxPermitBatchWitnessTransferFromData<T extends OperationTypeNames = OperationTypeNames> = ReturnType<typeof getPermitBatchWitnessTransferFromData<YmaxWitnessTypes<T>, YmaxWitnessMappedTypeParam<T>>>;
142
- export declare function validateYmaxDomain(domain: TypedDataDomain): asserts domain is typeof YmaxStandaloneDomain;
153
+ export declare function validateYmaxDomain(domain: TypedDataDomain, validContractAddresses?: Record<number | string, Address>): asserts domain is YmaxStandaloneDomain;
143
154
  export declare function validateYmaxOperationTypeName<T extends OperationTypeNames>(typeName: string): asserts typeName is T;
144
155
  export declare const splitWitnessFieldType: <T extends OperationTypeNames>(fieldName: `${typeof YMAX_DOMAIN_NAME}V${typeof YMAX_DOMAIN_VERSION}${T}`) => {
145
- domain: {
146
- readonly name: "Ymax";
147
- readonly version: "1";
148
- };
156
+ domain: YmaxStandaloneDomain;
149
157
  primaryType: T;
150
158
  };
151
159
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"eip712-messages.d.ts","sourceRoot":"","sources":["eip712-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAE3C,MAAM,4CAA4C,CAAC;AAEpD,QAAA,MAAM,gBAAgB,SAAS,CAAC;AAChC,QAAA,MAAM,mBAAmB,MAAM,CAAC;AAIhC,QAAA,MAAM,0BAA0B;;;;;;EAGS,CAAC;AAE1C,QAAA,MAAM,oBAAoB;;;CAGU,CAAC;AASrC,QAAA,MAAM,yBAAyB,IAA6C,CAAC;AAE7E;;;GAGG;AACH,QAAA,MAAM,6BAA6B;;;;;;EAGM,CAAC;AAE1C;;GAEG;AACH,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;CAIU,CAAC;AAC/B,KAAK,cAAc,GAAG,OAAO,cAAc,CAAC;AAC5C,MAAM,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC;AAEtD,QAAA,MAAM,iBAAiB;;;;;;;;CAKO,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,CACtD,OAAO,iBAAiB,CACzB,CAAC,YAAY,CAAC,CAAC;AAEhB;;;GAGG;AACH,QAAA,MAAM,sBAAsB,GAAI,CAAC,SAAS,kBAAkB,EAAE,WAAW,CAAC,iBACP,CAAC;AACpE,KAAK,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,IAAI,UAAU,CACjE,OAAO,sBAAsB,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,QAAA,MAAM,uBAAuB,GAAI,CAAC,SAAS,kBAAkB,EAAE,WAAW,CAAC,eACjB,CAAC;AAC3D,KAAK,oBAAoB,CAAC,CAAC,SAAS,kBAAkB,IAAI,UAAU,CAClE,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAClC,CAAC;AAYF,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxE,KAAK,yBAAyB,CAC5B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C;KACD,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG;QAClC,GAAG,cAAc,CAAC,CAAC,CAAC;QACpB,GAAG,OAAO,yBAAyB;KACpC;CACF,CAAC;AACF,KAAK,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IACrE,yBAAyB,CAAC,CAAC,CAAC,GAAG,OAAO,iBAAiB,CAAC;AAC1D,KAAK,4BAA4B,CAC/B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C;KACD,CAAC,IAAI,CAAC,GAAG;QACR,GAAG,cAAc,CAAC,CAAC,CAAC;QACpB,GAAG,OAAO,yBAAyB;QACnC,GAAG,OAAO,6BAA6B;KACxC;CACF,CAAC;AACF,KAAK,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IACxE,4BAA4B,CAAC,CAAC,CAAC,GAC7B,OAAO,iBAAiB,GAAG;IACzB,YAAY,EAAE,OAAO,0BAA0B,CAAC;CACjD,CAAC;AAEN,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,IACxD,yBAAyB,CAAC,cAAc,GAAG,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAI1E,KAAK,0BAA0B,CAAC,CAAC,SAAS,kBAAkB,IAC1D,kBAAkB,CAChB,oBAAoB,CAAC,CAAC,CAAC,EACvB,OAAO,CAAC,MAAM,yBAAyB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CACpD,CAAC;AAsBJ,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,kBAAkB,EAChE,WAAW,CAAC,QAMT,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAC4C,CAAC;AAEnD,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,kBAAkB,EACzD,WAAW,CAAC,EACZ,MAAM,OAAO,CACX,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CACpE,KACA,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAO1D,CAAC;AAEJ,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,kBAAkB,EACzE,MAAM,OAAO,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,WAAW,CAAC,KACX,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IACrD,MAAM,EAAE,OAAO,oBAAoB,CAAC;CAWrC,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,iCAAiC,CAC3C,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,UAAU,CACZ,OAAO,gCAAgC,CACrC,gBAAgB,CAAC,CAAC,CAAC,EACnB,0BAA0B,CAAC,CAAC,CAAC,CAC9B,CACF,CAAC;AAEF,MAAM,MAAM,sCAAsC,CAChD,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,UAAU,CACZ,OAAO,qCAAqC,CAC1C,gBAAgB,CAAC,CAAC,CAAC,EACnB,0BAA0B,CAAC,CAAC,CAAC,CAC9B,CACF,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,IAAI,OAAO,oBAAoB,CAY/C;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,kBAAkB,EACxE,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,IAAI,CAAC,CAMvB;AAED,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,kBAAkB,EAChE,WAAW,GAAG,OAAO,gBAAgB,IAAI,OAAO,mBAAmB,GAAG,CAAC,EAAE;;;;;;CAmB1E,CAAC"}
1
+ {"version":3,"file":"eip712-messages.d.ts","sourceRoot":"","sources":["eip712-messages.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,13 @@
11
11
  */
12
12
 
13
13
  import type {
14
+ Address,
14
15
  TypedData,
15
16
  TypedDataDomain,
16
17
  TypedDataToPrimitiveTypes,
17
18
  } from 'abitype';
18
19
  import type { TypedDataDefinition } from 'viem';
20
+ import { Fail, q } from '@endo/errors';
19
21
  import type { TypedDataParameter } from '@agoric/orchestration/src/utils/abitype.ts';
20
22
  import {
21
23
  type Witness,
@@ -32,12 +34,18 @@ const YMAX_WITNESS_FIELD_NAME_PREFIX = 'ymax';
32
34
  const StandaloneDomainTypeParams = [
33
35
  { name: 'name', type: 'string' },
34
36
  { name: 'version', type: 'string' },
37
+ { name: 'chainId', type: 'uint256' },
38
+ { name: 'verifyingContract', type: 'address' },
35
39
  ] as const satisfies TypedDataParameter[];
36
40
 
37
- const YmaxStandaloneDomain = {
41
+ const YmaxStandaloneDomainBase = {
38
42
  name: YMAX_DOMAIN_NAME,
39
43
  version: YMAX_DOMAIN_VERSION,
40
44
  } as const satisfies TypedDataDomain;
45
+ export type YmaxStandaloneDomain = typeof YmaxStandaloneDomainBase & {
46
+ chainId: bigint;
47
+ verifyingContract: Address;
48
+ };
41
49
 
42
50
  // A param to designate the portfolio in operations by its `portfolioId`
43
51
  const PortfolioIdParam = {
@@ -198,17 +206,28 @@ export const getYmaxWitness = <T extends OperationTypeNames>(
198
206
  getYmaxWitnessTypeParam(operation),
199
207
  );
200
208
 
209
+ export const getYmaxStandaloneDomain = (
210
+ chainId: bigint | number,
211
+ verifyingContract: Address,
212
+ ): YmaxStandaloneDomain => ({
213
+ ...YmaxStandaloneDomainBase,
214
+ chainId: BigInt(chainId),
215
+ verifyingContract,
216
+ });
217
+
201
218
  export const getYmaxStandaloneOperationData = <T extends OperationTypeNames>(
202
219
  data: NoInfer<TypedDataToPrimitiveTypes<YmaxStandaloneTypes>[T]>,
203
220
  operation: T,
221
+ chainId: bigint | number,
222
+ verifyingContract: Address,
204
223
  ): TypedDataDefinition<YmaxStandaloneTypes<T>, T, T> & {
205
- domain: typeof YmaxStandaloneDomain;
224
+ domain: YmaxStandaloneDomain;
206
225
  } => {
207
226
  const types = getYmaxStandaloneTypes(operation);
208
227
 
209
228
  // @ts-expect-error some generic inference issue I suppose?
210
229
  return {
211
- domain: YmaxStandaloneDomain,
230
+ domain: getYmaxStandaloneDomain(chainId, verifyingContract),
212
231
  types,
213
232
  primaryType: operation,
214
233
  message: data,
@@ -239,7 +258,8 @@ export type YmaxPermitBatchWitnessTransferFromData<
239
258
 
240
259
  export function validateYmaxDomain(
241
260
  domain: TypedDataDomain,
242
- ): asserts domain is typeof YmaxStandaloneDomain {
261
+ validContractAddresses?: Record<number | string, Address>,
262
+ ): asserts domain is YmaxStandaloneDomain {
243
263
  if (domain.name !== YMAX_DOMAIN_NAME) {
244
264
  throw new Error(
245
265
  `Invalid Ymax domain name: ${domain.name} (expected ${YMAX_DOMAIN_NAME})`,
@@ -250,6 +270,19 @@ export function validateYmaxDomain(
250
270
  `Invalid Ymax domain version: ${domain.version} (expected ${YMAX_DOMAIN_VERSION})`,
251
271
  );
252
272
  }
273
+
274
+ if (validContractAddresses) {
275
+ const chainIdStr = String(domain.chainId);
276
+
277
+ chainIdStr in validContractAddresses ||
278
+ Fail`Unknown chain ID in Ymax domain: ${q(domain.chainId)}`;
279
+
280
+ domain.verifyingContract === validContractAddresses[chainIdStr] ||
281
+ Fail`Invalid verifying contract for chain ID ${q(domain.chainId)}: ${q(
282
+ domain.verifyingContract,
283
+ )} (expected ${q(validContractAddresses[chainIdStr])})`;
284
+ }
285
+
253
286
  // XXX: check no extra fields?
254
287
  }
255
288
 
@@ -45,9 +45,9 @@ export declare const makeEVMHandlerUtils: (viemUtils: {
45
45
  validateTypedData: typeof validateTypedData;
46
46
  encodeType: typeof encodeType;
47
47
  }) => {
48
- extractOperationDetailsFromStandaloneData: <T extends OperationTypeNames>(data: YmaxStandaloneOperationData<T>) => YmaxOperationDetails<T>;
48
+ extractOperationDetailsFromStandaloneData: <T extends OperationTypeNames>(data: YmaxStandaloneOperationData<T>, validContractAddresses?: Record<number | string, Address>) => YmaxOperationDetails<T>;
49
49
  extractOperationDetailsFromPermit2WitnessData: <T extends OperationTypeNames>(data: YmaxPermitWitnessTransferFromData<T>) => YmaxOperationDetails<T>;
50
50
  extractPermitDetails: <T extends OperationTypeNames>(data: YmaxPermitWitnessTransferFromData<T>, owner: Address, signature: WithSignature<object>["signature"]) => PermitDetails;
51
- extractOperationDetailsFromSignedData: <T extends OperationTypeNames = "Deposit" | "Rebalance" | "OpenPortfolio">(signedData: WithSignature<YmaxPermitWitnessTransferFromData<T> | YmaxStandaloneOperationData<T>>) => Promise<FullMessageDetails<T>>;
51
+ extractOperationDetailsFromSignedData: <T extends OperationTypeNames = "Deposit" | "Rebalance" | "OpenPortfolio">(signedData: WithSignature<YmaxPermitWitnessTransferFromData<T> | YmaxStandaloneOperationData<T>>, validStandaloneContractAddresses?: Record<number | string, Address>) => Promise<FullMessageDetails<T>>;
52
52
  };
53
53
  //# sourceMappingURL=message-handler-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler-helpers.d.ts","sourceRoot":"","sources":["message-handler-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,2BAA2B,EAC3B,OAAO,EACP,eAAe,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EACL,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAIL,KAAK,wCAAwC,EAC9C,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EAKvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C;KACD,CAAC,IAAI,CAAC,GAAG;QACR,SAAS,EAAE,CAAC,CAAC;QACb,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAC5B;CACF,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,gCAAgC,GAAG,2BAA2B,CAAC;IACzE,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,wCAAwC,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,IAAI,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW;IAC7C,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B;gDAeG,CAAC,SAAS,kBAAkB,QAEtB,2BAA2B,CAAC,CAAC,CAAC,KACnC,oBAAoB,CAAC,CAAC,CAAC;oDA2BxB,CAAC,SAAS,kBAAkB,QAEtB,iCAAiC,CAAC,CAAC,CAAC,KACzC,oBAAoB,CAAC,CAAC,CAAC;2BA4BI,CAAC,SAAS,kBAAkB,QAClD,iCAAiC,CAAC,CAAC,CAAC,SACnC,OAAO,aACH,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,KAC5C,aAAa;4CAoDd,CAAC,SAAS,kBAAkB,0DAEhB,aAAa,CACvB,iCAAiC,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CACtE,KACA,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAkDlC,CAAC"}
1
+ {"version":3,"file":"message-handler-helpers.d.ts","sourceRoot":"","sources":["message-handler-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,2BAA2B,EAC3B,OAAO,EACP,eAAe,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EACL,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAIL,KAAK,wCAAwC,EAC9C,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EAKvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C;KACD,CAAC,IAAI,CAAC,GAAG;QACR,SAAS,EAAE,CAAC,CAAC;QACb,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAC5B;CACF,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,gCAAgC,GAAG,2BAA2B,CAAC;IACzE,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,wCAAwC,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,IAAI,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW;IAC7C,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B;gDAeG,CAAC,SAAS,kBAAkB,QAEtB,2BAA2B,CAAC,CAAC,CAAC,2BACX,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,KACxD,oBAAoB,CAAC,CAAC,CAAC;oDA2BxB,CAAC,SAAS,kBAAkB,QAEtB,iCAAiC,CAAC,CAAC,CAAC,KACzC,oBAAoB,CAAC,CAAC,CAAC;2BA4BI,CAAC,SAAS,kBAAkB,QAClD,iCAAiC,CAAC,CAAC,CAAC,SACnC,OAAO,aACH,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,KAC5C,aAAa;4CAoDd,CAAC,SAAS,kBAAkB,0DAEhB,aAAa,CACvB,iCAAiC,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CACtE,qCACkC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,KAClE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAoDlC,CAAC"}
@@ -99,11 +99,12 @@ export const makeEVMHandlerUtils = (viemUtils: {
99
99
  T extends OperationTypeNames,
100
100
  >(
101
101
  data: YmaxStandaloneOperationData<T>,
102
+ validContractAddresses?: Record<number | string, Address>,
102
103
  ): YmaxOperationDetails<T> => {
103
104
  // @ts-expect-error generic/union type compatibility
104
105
  const standaloneData: YmaxStandaloneOperationData = data;
105
106
 
106
- validateYmaxDomain(standaloneData.domain);
107
+ validateYmaxDomain(standaloneData.domain, validContractAddresses);
107
108
  validateYmaxOperationTypeName<T>(standaloneData.primaryType);
108
109
 
109
110
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -218,6 +219,7 @@ export const makeEVMHandlerUtils = (viemUtils: {
218
219
  signedData: WithSignature<
219
220
  YmaxPermitWitnessTransferFromData<T> | YmaxStandaloneOperationData<T>
220
221
  >,
222
+ validStandaloneContractAddresses?: Record<number | string, Address>,
221
223
  ): Promise<FullMessageDetails<T>> => {
222
224
  const tokenOwner = await recoverTypedDataAddress(
223
225
  signedData as RecoverTypedDataAddressParameters,
@@ -250,8 +252,10 @@ export const makeEVMHandlerUtils = (viemUtils: {
250
252
  } else {
251
253
  const standaloneData =
252
254
  signedData as unknown as YmaxStandaloneOperationData<T>;
253
- const operationDetails =
254
- extractOperationDetailsFromStandaloneData(standaloneData);
255
+ const operationDetails = extractOperationDetailsFromStandaloneData(
256
+ standaloneData,
257
+ validStandaloneContractAddresses,
258
+ );
255
259
 
256
260
  return {
257
261
  ...operationDetails,
package/src/types.d.ts CHANGED
@@ -178,6 +178,13 @@ export type StatusFor = {
178
178
  /** Noble Forwarding Address (NFA) registered by the contract for the `@agoric` address */
179
179
  nobleForwardingAddress?: Bech32Address;
180
180
  targetAllocation?: TargetAllocation;
181
+ /**
182
+ * CAIP-10 account ID of the authenticated EVM account that opened this portfolio.
183
+ * Derived from `permit2Payload.owner` in `openPortfolioFromEVM()`.
184
+ * The Permit2 signature is verified on-chain by the `depositFactory` contract
185
+ * when it receives the GMP call via `sendCreateAndDepositCall()`.
186
+ */
187
+ sourceAccountId?: AccountId;
181
188
  /** incremented by the contract every time the user sends a transaction that the planner should respond to */
182
189
  policyVersion: number;
183
190
  /** the count of acknowledged submissions [from the planner] associated with the current policyVersion */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
package/src/types.ts CHANGED
@@ -190,6 +190,13 @@ export type StatusFor = {
190
190
  /** Noble Forwarding Address (NFA) registered by the contract for the `@agoric` address */
191
191
  nobleForwardingAddress?: Bech32Address;
192
192
  targetAllocation?: TargetAllocation;
193
+ /**
194
+ * CAIP-10 account ID of the authenticated EVM account that opened this portfolio.
195
+ * Derived from `permit2Payload.owner` in `openPortfolioFromEVM()`.
196
+ * The Permit2 signature is verified on-chain by the `depositFactory` contract
197
+ * when it receives the GMP call via `sendCreateAndDepositCall()`.
198
+ */
199
+ sourceAccountId?: AccountId;
193
200
  /** incremented by the contract every time the user sends a transaction that the planner should respond to */
194
201
  policyVersion: number;
195
202
  /** the count of acknowledged submissions [from the planner] associated with the current policyVersion */