@agoric/portfolio-api 0.1.1-dev-0ecc6a4.0.0ecc6a4 → 0.1.1-dev-fe638b3.0.fe638b3
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 +4 -4
- package/src/evm/types.d.ts +9 -7
- package/src/evm/types.d.ts.map +1 -1
- package/src/evm/types.js +19 -14
- package/src/evm-wallet/eip712-messages.d.ts +9 -3
- package/src/evm-wallet/eip712-messages.d.ts.map +1 -1
- package/src/evm-wallet/eip712-messages.js +12 -2
- package/src/evm-wallet/message-handler-helpers.d.ts +2 -1
- package/src/evm-wallet/message-handler-helpers.d.ts.map +1 -1
- package/src/evm-wallet/message-handler-helpers.js +14 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/portfolio-api",
|
|
3
|
-
"version": "0.1.1-dev-
|
|
3
|
+
"version": "0.1.1-dev-fe638b3.0.fe638b3",
|
|
4
4
|
"description": "API for Portfolio management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"generate:ymax-machine": "npx tsx scripts/gen-ymax-machine.mts"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@agoric/internal": "0.3.3-dev-
|
|
31
|
-
"@agoric/orchestration": "0.1.1-dev-
|
|
30
|
+
"@agoric/internal": "0.3.3-dev-fe638b3.0.fe638b3",
|
|
31
|
+
"@agoric/orchestration": "0.1.1-dev-fe638b3.0.fe638b3",
|
|
32
32
|
"@endo/common": "^1.2.13",
|
|
33
33
|
"@endo/errors": "^1.2.13",
|
|
34
34
|
"@endo/patterns": "^1.7.0"
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"engines": {
|
|
70
70
|
"node": "^20.9 || ^22.11"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "fe638b3edba5b23ecc39de7b8b775901cb070714"
|
|
73
73
|
}
|
package/src/evm/types.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
+
import type { PureData } from '@endo/pass-style';
|
|
1
2
|
export type PortfolioPath = `published.ymax${0 | 1}.portfolios.portfolio${number}`;
|
|
2
|
-
|
|
3
|
+
type EIPCommonMessageUpdate = {
|
|
3
4
|
updated: 'messageUpdate';
|
|
4
5
|
nonce: bigint;
|
|
6
|
+
deadline: bigint;
|
|
7
|
+
};
|
|
8
|
+
export type EIPMessageUpdate = EIPCommonMessageUpdate & ({
|
|
5
9
|
status: 'pending';
|
|
6
10
|
} | {
|
|
7
|
-
updated: 'messageUpdate';
|
|
8
|
-
nonce: bigint;
|
|
9
|
-
error: string;
|
|
10
11
|
status: 'error';
|
|
12
|
+
error: string;
|
|
11
13
|
} | {
|
|
12
|
-
updated: 'messageUpdate';
|
|
13
|
-
nonce: bigint;
|
|
14
14
|
status: 'ok';
|
|
15
|
-
|
|
15
|
+
result: PureData;
|
|
16
|
+
});
|
|
16
17
|
export type EVMWalletUpdate = EIPMessageUpdate | never;
|
|
18
|
+
export {};
|
|
17
19
|
//# sourceMappingURL=types.d.ts.map
|
package/src/evm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACvB,iBAAiB,CAAC,GAAG,CAAC,wBAAwB,MAAM,EAAE,CAAC;AAEzD,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,aAAa,GACvB,iBAAiB,CAAC,GAAG,CAAC,wBAAwB,MAAM,EAAE,CAAC;AAEzD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GACnD,CACI;IACE,MAAM,EAAE,SAAS,CAAC;CACnB,GACD;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;CAClB,CACJ,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,KAAK,CAAC"}
|
package/src/evm/types.js
CHANGED
|
@@ -32,8 +32,10 @@ declare const YmaxStandaloneDomainBase: {
|
|
|
32
32
|
readonly name: "Ymax";
|
|
33
33
|
readonly version: "1";
|
|
34
34
|
};
|
|
35
|
-
export type
|
|
35
|
+
export type YmaxSharedDomain = typeof YmaxStandaloneDomainBase & {
|
|
36
36
|
chainId: bigint;
|
|
37
|
+
};
|
|
38
|
+
export type YmaxStandaloneDomain = YmaxSharedDomain & {
|
|
37
39
|
verifyingContract: Address;
|
|
38
40
|
};
|
|
39
41
|
declare const SharedPortfolioTypeParams: [];
|
|
@@ -150,10 +152,14 @@ export declare const getYmaxStandaloneOperationData: <T extends OperationTypeNam
|
|
|
150
152
|
export type YmaxStandaloneOperationData<T extends OperationTypeNames = OperationTypeNames> = ReturnType<typeof getYmaxStandaloneOperationData<T>>;
|
|
151
153
|
export type YmaxPermitWitnessTransferFromData<T extends OperationTypeNames = OperationTypeNames> = ReturnType<typeof getPermitWitnessTransferFromData<YmaxWitnessTypes<T>, YmaxWitnessMappedTypeParam<T>>>;
|
|
152
154
|
export type YmaxPermitBatchWitnessTransferFromData<T extends OperationTypeNames = OperationTypeNames> = ReturnType<typeof getPermitBatchWitnessTransferFromData<YmaxWitnessTypes<T>, YmaxWitnessMappedTypeParam<T>>>;
|
|
153
|
-
export declare function validateYmaxDomain(domain: TypedDataDomain, validContractAddresses?:
|
|
155
|
+
export declare function validateYmaxDomain(domain: TypedDataDomain, validContractAddresses?: undefined): asserts domain is typeof YmaxStandaloneDomainBase;
|
|
156
|
+
export declare function validateYmaxDomain(domain: TypedDataDomain, validContractAddresses: Record<number | string, Address>): asserts domain is YmaxStandaloneDomain;
|
|
154
157
|
export declare function validateYmaxOperationTypeName<T extends OperationTypeNames>(typeName: string): asserts typeName is T;
|
|
155
158
|
export declare const splitWitnessFieldType: <T extends OperationTypeNames>(fieldName: `${typeof YMAX_DOMAIN_NAME}V${typeof YMAX_DOMAIN_VERSION}${T}`) => {
|
|
156
|
-
domain:
|
|
159
|
+
domain: {
|
|
160
|
+
readonly name: "Ymax";
|
|
161
|
+
readonly version: "1";
|
|
162
|
+
};
|
|
157
163
|
primaryType: T;
|
|
158
164
|
};
|
|
159
165
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip712-messages.d.ts","sourceRoot":"","sources":["eip712-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,OAAO,EAEP,eAAe,EACf,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEhD,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;;;;;;;;;;;;EAKS,CAAC;AAE1C,QAAA,MAAM,wBAAwB;;;CAGM,CAAC;AACrC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"eip712-messages.d.ts","sourceRoot":"","sources":["eip712-messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,8 +42,10 @@ const YmaxStandaloneDomainBase = {
|
|
|
42
42
|
name: YMAX_DOMAIN_NAME,
|
|
43
43
|
version: YMAX_DOMAIN_VERSION,
|
|
44
44
|
} ;
|
|
45
|
-
;
|
|
45
|
+
;
|
|
46
46
|
|
|
47
|
+
|
|
48
|
+
;
|
|
47
49
|
|
|
48
50
|
|
|
49
51
|
|
|
@@ -256,10 +258,18 @@ export const getYmaxStandaloneOperationData = (
|
|
|
256
258
|
|
|
257
259
|
|
|
258
260
|
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
259
269
|
export function validateYmaxDomain(
|
|
260
270
|
domain ,
|
|
261
271
|
validContractAddresses ,
|
|
262
|
-
)
|
|
272
|
+
) {
|
|
263
273
|
if (domain.name !== YMAX_DOMAIN_NAME) {
|
|
264
274
|
throw new Error(
|
|
265
275
|
`Invalid Ymax domain name: ${domain.name} (expected ${YMAX_DOMAIN_NAME})`,
|
|
@@ -9,10 +9,11 @@ import type { AbiParameterToPrimitiveType, Address, TypedDataDomain } from 'abit
|
|
|
9
9
|
import type { hashStruct, isHex, recoverTypedDataAddress, validateTypedData } from 'viem/utils';
|
|
10
10
|
import { encodeType, type WithSignature } from '@agoric/orchestration/src/utils/viem.js';
|
|
11
11
|
import { type PermitWitnessTransferFromInputComponents } from '@agoric/orchestration/src/utils/permit2.js';
|
|
12
|
-
import { type OperationTypeNames, type YmaxStandaloneOperationData, type YmaxPermitWitnessTransferFromData, type YmaxOperationType } from './eip712-messages.ts';
|
|
12
|
+
import { type OperationTypeNames, type YmaxStandaloneOperationData, type YmaxPermitWitnessTransferFromData, type YmaxOperationType, type YmaxSharedDomain } from './eip712-messages.ts';
|
|
13
13
|
export type YmaxOperationDetails<T extends OperationTypeNames = OperationTypeNames> = {
|
|
14
14
|
[P in T]: {
|
|
15
15
|
operation: P;
|
|
16
|
+
domain: YmaxSharedDomain;
|
|
16
17
|
data: YmaxOperationType<P>;
|
|
17
18
|
};
|
|
18
19
|
}[T];
|
|
@@ -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,
|
|
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,EAKtB,KAAK,gBAAgB,EACtB,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,MAAM,EAAE,gBAAgB,CAAC;QACzB,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;oDAiCxB,CAAC,SAAS,kBAAkB,QAEtB,iCAAiC,CAAC,CAAC,CAAC,KACzC,oBAAoB,CAAC,CAAC,CAAC;2BA8BI,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"}
|
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
validateYmaxDomain,
|
|
38
38
|
validateYmaxOperationTypeName,
|
|
39
39
|
getYmaxOperationTypes,
|
|
40
|
+
|
|
40
41
|
} from './eip712-messages.ts';
|
|
41
42
|
|
|
42
43
|
;
|
|
@@ -44,6 +45,7 @@ import {
|
|
|
44
45
|
|
|
45
46
|
|
|
46
47
|
|
|
48
|
+
|
|
47
49
|
|
|
48
50
|
|
|
49
51
|
|
|
@@ -104,7 +106,13 @@ export const makeEVMHandlerUtils = (viemUtils
|
|
|
104
106
|
// @ts-expect-error generic/union type compatibility
|
|
105
107
|
const standaloneData = data;
|
|
106
108
|
|
|
107
|
-
|
|
109
|
+
const { domain } = standaloneData;
|
|
110
|
+
|
|
111
|
+
if (validContractAddresses) {
|
|
112
|
+
validateYmaxDomain(domain, validContractAddresses);
|
|
113
|
+
} else {
|
|
114
|
+
validateYmaxDomain(domain);
|
|
115
|
+
}
|
|
108
116
|
validateYmaxOperationTypeName (standaloneData.primaryType);
|
|
109
117
|
|
|
110
118
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -117,7 +125,7 @@ export const makeEVMHandlerUtils = (viemUtils
|
|
|
117
125
|
message: operationData,
|
|
118
126
|
primaryType: operation,
|
|
119
127
|
});
|
|
120
|
-
return { operation, data: operationData };
|
|
128
|
+
return { operation, domain, data: operationData };
|
|
121
129
|
};
|
|
122
130
|
|
|
123
131
|
/**
|
|
@@ -138,14 +146,16 @@ export const makeEVMHandlerUtils = (viemUtils
|
|
|
138
146
|
const witnessData = permitData.message[
|
|
139
147
|
witnessField.name
|
|
140
148
|
] ;
|
|
141
|
-
const
|
|
149
|
+
const { primaryType, domain } = splitWitnessFieldType(witnessField.type);
|
|
150
|
+
const chainId = BigInt((data.domain ).chainId );
|
|
151
|
+
const operation = primaryType ;
|
|
142
152
|
// @ts-expect-error inference issue
|
|
143
153
|
validateTypedData({
|
|
144
154
|
types: getYmaxOperationTypes(operation),
|
|
145
155
|
message: witnessData,
|
|
146
156
|
primaryType: operation,
|
|
147
157
|
});
|
|
148
|
-
return { operation, data: witnessData };
|
|
158
|
+
return { operation, domain: { ...domain, chainId }, data: witnessData };
|
|
149
159
|
};
|
|
150
160
|
|
|
151
161
|
/**
|