@agoric/portfolio-api 0.1.1-dev-054b3a7.0.054b3a7 → 0.1.1-dev-20f1bee.0.20f1bee

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-054b3a7.0.054b3a7",
3
+ "version": "0.1.1-dev-20f1bee.0.20f1bee",
4
4
  "description": "API for Portfolio management",
5
5
  "type": "module",
6
6
  "files": [
@@ -27,11 +27,11 @@
27
27
  "generate:ymax-machine": "npx tsx scripts/gen-ymax-machine.mts"
28
28
  },
29
29
  "dependencies": {
30
- "@agoric/orchestration": "0.1.1-dev-054b3a7.0.054b3a7",
30
+ "@agoric/orchestration": "0.1.1-dev-20f1bee.0.20f1bee",
31
31
  "@endo/common": "^1.2.13"
32
32
  },
33
33
  "devDependencies": {
34
- "@agoric/internal": "0.3.3-dev-054b3a7.0.054b3a7",
34
+ "@agoric/internal": "0.3.3-dev-20f1bee.0.20f1bee",
35
35
  "@types/js-yaml": "^4",
36
36
  "ajv": "^6.12.6",
37
37
  "ava": "^5.3.0",
@@ -64,5 +64,5 @@
64
64
  "engines": {
65
65
  "node": "^20.9 || ^22.11"
66
66
  },
67
- "gitHead": "054b3a7f1fec795a8ff0a2616e4f469cf3d01d4e"
67
+ "gitHead": "20f1bee3fee30f22554cd363754398ebe8620645"
68
68
  }
package/src/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { NatAmount } from '@agoric/ertp';
2
2
  import { type AccountId, type Bech32Address, type CosmosChainAddress, type TrafficEntry } from '@agoric/orchestration';
3
- import type { SupportedChain, YieldProtocol } from './constants.js';
3
+ import type { AxelarChain, SupportedChain, YieldProtocol } from './constants.js';
4
4
  import type { InstrumentId } from './instruments.js';
5
5
  import type { PublishedTx } from './resolver.js';
6
6
  /**
@@ -22,8 +22,27 @@ export type SeatKeyword = 'Cash' | 'Deposit';
22
22
  * '+agoric' is published as `depositAddress`
23
23
  */
24
24
  export type LocalChainAccountRef = '+agoric';
25
+ /**
26
+ * Identifies the blockchain hosting an address external to ymax from which
27
+ * funds for a deposit must be supplied.
28
+ */
29
+ export type DepositFromChainRef = `+${AxelarChain}`;
30
+ /**
31
+ * Identifies the blockchain hosting an address external to ymax to which
32
+ * withdrawn funds will be sent.
33
+ */
34
+ export type WithdrawToChainRef = `-${AxelarChain}`;
25
35
  export type InterChainAccountRef = `@${SupportedChain}`;
26
- export type AssetPlaceRef = `<${SeatKeyword}>` | LocalChainAccountRef | InterChainAccountRef | InstrumentId;
36
+ /**
37
+ * An AssetPlaceRef describes a place where funds can be, either an
38
+ * {@link InstrumentId} (starting with an ASCII letter), a {@link SeatKeyword}
39
+ * wrapped in `<...>` angle brackets, or a value consisting of a
40
+ * single-character punctuator followed by a SupportedChain (that character
41
+ * being `@` for {@link InterChainAccountRef}, `+` for
42
+ * {@link LocalChainAccountRef} and {@link DepositFromChainRef}, and `-` for
43
+ * {@link WithdrawToChainRef}).
44
+ */
45
+ export type AssetPlaceRef = `<${SeatKeyword}>` | LocalChainAccountRef | DepositFromChainRef | WithdrawToChainRef | InterChainAccountRef | InstrumentId;
27
46
  type Empty = Record<never, NatAmount>;
28
47
  /**
29
48
  * Proposal shapes for portfolio operations.
@@ -72,9 +91,11 @@ export type TargetAllocation = Partial<Record<InstrumentId, bigint>>;
72
91
  export type FlowDetail = {
73
92
  type: 'withdraw';
74
93
  amount: NatAmount;
94
+ toChain?: SupportedChain;
75
95
  } | {
76
96
  type: 'deposit';
77
97
  amount: NatAmount;
98
+ fromChain?: SupportedChain;
78
99
  } | {
79
100
  type: 'rebalance';
80
101
  };
@@ -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
@@ -10,7 +10,11 @@ import type {
10
10
  ContinuingInvitationSpec,
11
11
  ContractInvitationSpec,
12
12
  } from '@agoric/smart-wallet/src/invitations.js';
13
- import type { SupportedChain, YieldProtocol } from './constants.js';
13
+ import type {
14
+ AxelarChain,
15
+ SupportedChain,
16
+ YieldProtocol,
17
+ } from './constants.js';
14
18
  import type { InstrumentId } from './instruments.js';
15
19
  import type { PublishedTx } from './resolver.js';
16
20
 
@@ -36,11 +40,34 @@ export type SeatKeyword = 'Cash' | 'Deposit';
36
40
  */
37
41
  export type LocalChainAccountRef = '+agoric';
38
42
 
43
+ /**
44
+ * Identifies the blockchain hosting an address external to ymax from which
45
+ * funds for a deposit must be supplied.
46
+ */
47
+ export type DepositFromChainRef = `+${AxelarChain}`;
48
+
49
+ /**
50
+ * Identifies the blockchain hosting an address external to ymax to which
51
+ * withdrawn funds will be sent.
52
+ */
53
+ export type WithdrawToChainRef = `-${AxelarChain}`;
54
+
39
55
  export type InterChainAccountRef = `@${SupportedChain}`;
40
56
 
57
+ /**
58
+ * An AssetPlaceRef describes a place where funds can be, either an
59
+ * {@link InstrumentId} (starting with an ASCII letter), a {@link SeatKeyword}
60
+ * wrapped in `<...>` angle brackets, or a value consisting of a
61
+ * single-character punctuator followed by a SupportedChain (that character
62
+ * being `@` for {@link InterChainAccountRef}, `+` for
63
+ * {@link LocalChainAccountRef} and {@link DepositFromChainRef}, and `-` for
64
+ * {@link WithdrawToChainRef}).
65
+ */
41
66
  export type AssetPlaceRef =
42
67
  | `<${SeatKeyword}>`
43
68
  | LocalChainAccountRef
69
+ | DepositFromChainRef
70
+ | WithdrawToChainRef
44
71
  | InterChainAccountRef
45
72
  | InstrumentId;
46
73
 
@@ -75,8 +102,8 @@ export type ProposalType = {
75
102
  export type TargetAllocation = Partial<Record<InstrumentId, bigint>>;
76
103
 
77
104
  export type FlowDetail =
78
- | { type: 'withdraw'; amount: NatAmount }
79
- | { type: 'deposit'; amount: NatAmount }
105
+ | { type: 'withdraw'; amount: NatAmount; toChain?: SupportedChain }
106
+ | { type: 'deposit'; amount: NatAmount; fromChain?: SupportedChain }
80
107
  | { type: 'rebalance' }; // aka simpleRebalance
81
108
 
82
109
  /** linked list of concurrent failures, including dependencies */