@agoric/orchestration 0.1.1-dev-fd6c64a.0 → 0.1.1-dev-69f57d5.0
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 +16 -16
- package/src/cctp-chain-info.d.ts +65 -0
- package/src/cctp-chain-info.d.ts.map +1 -0
- package/src/cctp-chain-info.js +52 -0
- package/src/chain-capabilities.d.ts +4 -1
- package/src/chain-capabilities.d.ts.map +1 -1
- package/src/chain-capabilities.js +1 -1
- package/src/chain-info.d.ts +562 -55
- package/src/chain-info.d.ts.map +1 -1
- package/src/chain-info.js +21 -5
- package/src/cosmos-api.d.ts +17 -6
- package/src/cosmos-api.d.ts.map +1 -1
- package/src/cosmos-api.ts +16 -8
- package/src/ethereum-api.d.ts +6 -5
- package/src/ethereum-api.d.ts.map +1 -1
- package/src/ethereum-api.ts +7 -5
- package/src/examples/auto-stake-it-tap-kit.d.ts +1 -1
- package/src/examples/auto-stake-it-tap-kit.d.ts.map +1 -1
- package/src/examples/auto-stake-it-tap-kit.js +1 -1
- package/src/examples/auto-stake-it.contract.d.ts +3 -22
- package/src/examples/auto-stake-it.contract.d.ts.map +1 -1
- package/src/examples/basic-flows.contract.d.ts +2 -11
- package/src/examples/basic-flows.contract.d.ts.map +1 -1
- package/src/examples/send-anywhere.contract.d.ts +3 -23
- package/src/examples/send-anywhere.contract.d.ts.map +1 -1
- package/src/examples/staking-combinations.contract.d.ts +1 -11
- package/src/examples/staking-combinations.contract.d.ts.map +1 -1
- package/src/examples/swap.contract.d.ts +2 -11
- package/src/examples/swap.contract.d.ts.map +1 -1
- package/src/examples/swap.contract.js +2 -2
- package/src/exos/chain-hub-admin.d.ts +7 -7
- package/src/exos/chain-hub-admin.d.ts.map +1 -1
- package/src/exos/chain-hub-admin.js +13 -11
- package/src/exos/chain-hub.d.ts +13 -10
- package/src/exos/chain-hub.d.ts.map +1 -1
- package/src/exos/chain-hub.js +65 -32
- package/src/exos/local-chain-facade.d.ts +3 -23
- package/src/exos/local-chain-facade.d.ts.map +1 -1
- package/src/exos/orchestrator.d.ts +2 -12
- package/src/exos/orchestrator.d.ts.map +1 -1
- package/src/exos/orchestrator.js +2 -7
- package/src/exos/remote-chain-facade.d.ts +4 -14
- package/src/exos/remote-chain-facade.d.ts.map +1 -1
- package/src/exos/remote-chain-facade.js +21 -8
- package/src/fetched-chain-info.d.ts +676 -86
- package/src/fetched-chain-info.js +553 -41
- package/src/orchestration-api.d.ts +30 -5
- package/src/orchestration-api.d.ts.map +1 -1
- package/src/orchestration-api.ts +33 -7
- package/src/typeGuards.d.ts +4 -1
- package/src/typeGuards.d.ts.map +1 -1
- package/src/typeGuards.js +25 -6
- package/src/types.d.ts +0 -1
- package/src/types.d.ts.map +1 -1
- package/src/types.ts +0 -1
- package/src/utils/registry.d.ts +2 -12
- package/src/utils/registry.d.ts.map +1 -1
- package/src/utils/registry.js +4 -2
- package/src/utils/start-helper.d.ts +12 -3
- package/src/utils/start-helper.d.ts.map +1 -1
- package/src/utils/start-helper.js +13 -2
|
@@ -8,7 +8,7 @@ import type { Timestamp } from '@agoric/time';
|
|
|
8
8
|
import type { QueryManyFn } from '@agoric/vats/src/localchain.js';
|
|
9
9
|
import type { ResolvedPublicTopic } from '@agoric/zoe/src/contractSupport/topics.js';
|
|
10
10
|
import type { Passable } from '@endo/marshal';
|
|
11
|
-
import type { AgoricChainMethods,
|
|
11
|
+
import type { AgoricChainMethods, CosmosChainAccountMethods, CosmosChainInfo, IBCMsgTransferOptions, KnownChains, LocalAccountMethods, ICQQueryFunction, KnownNamespace } from './types.js';
|
|
12
12
|
import type { ResolvedContinuingOfferResult } from './utils/zoe-tools.js';
|
|
13
13
|
/**
|
|
14
14
|
* A denom that designates a path to a token type on some blockchain.
|
|
@@ -68,6 +68,25 @@ export type CosmosChainAddress = {
|
|
|
68
68
|
value: string;
|
|
69
69
|
encoding: 'bech32' | 'ethereum';
|
|
70
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Info used to identify blockchains across ecosystems
|
|
73
|
+
* @see {@link https://chainagnostic.org/CAIPs/caip-2}
|
|
74
|
+
*/
|
|
75
|
+
export interface BaseChainInfo<N extends KnownNamespace = KnownNamespace> {
|
|
76
|
+
/** CAIP-2 namespace, e.g. 'cosmos', 'eip155' */
|
|
77
|
+
namespace: N;
|
|
78
|
+
/** CAIP-2 reference, `e.g. `1`, `agoric-3` */
|
|
79
|
+
reference: N extends 'eip155' ? `${number}` : string;
|
|
80
|
+
/**
|
|
81
|
+
* Circle CCTP Destination Domain
|
|
82
|
+
* @see {@link https://developers.circle.com/stablecoins/supported-domains}
|
|
83
|
+
*/
|
|
84
|
+
cctpDestinationDomain?: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Shape that `ChainHub` is expecting
|
|
88
|
+
*/
|
|
89
|
+
export type ChainInfo = Readonly<BaseChainInfo | CosmosChainInfo>;
|
|
71
90
|
/**
|
|
72
91
|
* A value that can be converted mechanically to an AccountId.
|
|
73
92
|
* @see {@link ChainHub.resolveAccountId}
|
|
@@ -78,23 +97,29 @@ export type AccountIdArg = AccountId | CosmosChainAddress;
|
|
|
78
97
|
*
|
|
79
98
|
* The methods available depend on the chain and its capabilities.
|
|
80
99
|
*/
|
|
81
|
-
export type OrchestrationAccount<CI extends ChainInfo
|
|
100
|
+
export type OrchestrationAccount<CI extends Partial<ChainInfo>> = OrchestrationAccountCommon & (CI extends {
|
|
101
|
+
chainId: string;
|
|
102
|
+
} ? CI['chainId'] extends `agoric${string}` ? LocalAccountMethods : CosmosChainAccountMethods<CI> : object);
|
|
82
103
|
/**
|
|
83
104
|
* An object for access the core functions of a remote chain.
|
|
84
105
|
*
|
|
85
106
|
* Note that "remote" can mean the local chain; it's just that
|
|
86
107
|
* accounts are treated as remote/arms length for consistency.
|
|
87
108
|
*/
|
|
88
|
-
export interface Chain<CI extends ChainInfo
|
|
109
|
+
export interface Chain<CI extends Partial<ChainInfo>> {
|
|
89
110
|
getChainInfo: () => Promise<CI>;
|
|
90
111
|
/**
|
|
91
112
|
* Creates a new Orchestration Account on the current Chain.
|
|
92
113
|
* @returns an object that controls the account
|
|
93
114
|
*/
|
|
94
|
-
makeAccount: () =>
|
|
115
|
+
makeAccount: () => CI extends {
|
|
116
|
+
chainId: string;
|
|
117
|
+
} ? Promise<OrchestrationAccount<CI>> : never;
|
|
95
118
|
query: CI extends {
|
|
96
119
|
icqEnabled: true;
|
|
97
|
-
} ? ICQQueryFunction : CI
|
|
120
|
+
} ? ICQQueryFunction : CI extends {
|
|
121
|
+
chainId: string;
|
|
122
|
+
} ? CI['chainId'] extends `agoric${string}` ? QueryManyFn : never : never;
|
|
98
123
|
}
|
|
99
124
|
/**
|
|
100
125
|
* Used with `orch.getDenomInfo('ibc/1234')`. See {@link Orchestrator.getDenomInfo}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestration-api.d.ts","sourceRoot":"","sources":["orchestration-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"orchestration-api.d.ts","sourceRoot":"","sources":["orchestration-api.ts"],"names":[],"mappings":"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"}
|
package/src/orchestration-api.ts
CHANGED
|
@@ -11,13 +11,13 @@ import type { ResolvedPublicTopic } from '@agoric/zoe/src/contractSupport/topics
|
|
|
11
11
|
import type { Passable } from '@endo/marshal';
|
|
12
12
|
import type {
|
|
13
13
|
AgoricChainMethods,
|
|
14
|
-
ChainInfo,
|
|
15
14
|
CosmosChainAccountMethods,
|
|
16
15
|
CosmosChainInfo,
|
|
17
16
|
IBCMsgTransferOptions,
|
|
18
17
|
KnownChains,
|
|
19
18
|
LocalAccountMethods,
|
|
20
19
|
ICQQueryFunction,
|
|
20
|
+
KnownNamespace,
|
|
21
21
|
} from './types.js';
|
|
22
22
|
import type { ResolvedContinuingOfferResult } from './utils/zoe-tools.js';
|
|
23
23
|
|
|
@@ -88,6 +88,27 @@ export type CosmosChainAddress = {
|
|
|
88
88
|
encoding: 'bech32' | 'ethereum';
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Info used to identify blockchains across ecosystems
|
|
93
|
+
* @see {@link https://chainagnostic.org/CAIPs/caip-2}
|
|
94
|
+
*/
|
|
95
|
+
export interface BaseChainInfo<N extends KnownNamespace = KnownNamespace> {
|
|
96
|
+
/** CAIP-2 namespace, e.g. 'cosmos', 'eip155' */
|
|
97
|
+
namespace: N;
|
|
98
|
+
/** CAIP-2 reference, `e.g. `1`, `agoric-3` */
|
|
99
|
+
reference: N extends 'eip155' ? `${number}` : string;
|
|
100
|
+
/**
|
|
101
|
+
* Circle CCTP Destination Domain
|
|
102
|
+
* @see {@link https://developers.circle.com/stablecoins/supported-domains}
|
|
103
|
+
*/
|
|
104
|
+
cctpDestinationDomain?: number;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Shape that `ChainHub` is expecting
|
|
109
|
+
*/
|
|
110
|
+
export type ChainInfo = Readonly<BaseChainInfo | CosmosChainInfo>;
|
|
111
|
+
|
|
91
112
|
/**
|
|
92
113
|
* A value that can be converted mechanically to an AccountId.
|
|
93
114
|
* @see {@link ChainHub.resolveAccountId}
|
|
@@ -99,9 +120,9 @@ export type AccountIdArg = AccountId | CosmosChainAddress;
|
|
|
99
120
|
*
|
|
100
121
|
* The methods available depend on the chain and its capabilities.
|
|
101
122
|
*/
|
|
102
|
-
export type OrchestrationAccount<CI extends ChainInfo
|
|
123
|
+
export type OrchestrationAccount<CI extends Partial<ChainInfo>> =
|
|
103
124
|
OrchestrationAccountCommon &
|
|
104
|
-
(CI extends
|
|
125
|
+
(CI extends { chainId: string }
|
|
105
126
|
? CI['chainId'] extends `agoric${string}`
|
|
106
127
|
? LocalAccountMethods
|
|
107
128
|
: CosmosChainAccountMethods<CI>
|
|
@@ -113,21 +134,26 @@ export type OrchestrationAccount<CI extends ChainInfo> =
|
|
|
113
134
|
* Note that "remote" can mean the local chain; it's just that
|
|
114
135
|
* accounts are treated as remote/arms length for consistency.
|
|
115
136
|
*/
|
|
116
|
-
export interface Chain<CI extends ChainInfo
|
|
137
|
+
export interface Chain<CI extends Partial<ChainInfo>> {
|
|
117
138
|
getChainInfo: () => Promise<CI>;
|
|
118
139
|
|
|
119
140
|
// "makeAccount" suggests an operation within a vat
|
|
141
|
+
// TODO: scope to { icaEnabled: true }. Currently, only scoped to `namespace: 'cosmos'` chains
|
|
120
142
|
/**
|
|
121
143
|
* Creates a new Orchestration Account on the current Chain.
|
|
122
144
|
* @returns an object that controls the account
|
|
123
145
|
*/
|
|
124
|
-
makeAccount: () =>
|
|
146
|
+
makeAccount: () => CI extends { chainId: string }
|
|
147
|
+
? Promise<OrchestrationAccount<CI>>
|
|
148
|
+
: never;
|
|
125
149
|
// FUTURE supply optional port object; also fetch port object
|
|
126
150
|
|
|
127
151
|
query: CI extends { icqEnabled: true }
|
|
128
152
|
? ICQQueryFunction
|
|
129
|
-
: CI
|
|
130
|
-
?
|
|
153
|
+
: CI extends { chainId: string }
|
|
154
|
+
? CI['chainId'] extends `agoric${string}`
|
|
155
|
+
? QueryManyFn
|
|
156
|
+
: never
|
|
131
157
|
: never;
|
|
132
158
|
|
|
133
159
|
// TODO provide a way to get the local denom/brand/whatever for this chain
|
package/src/typeGuards.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @import {TypedPattern} from '@agoric/internal';
|
|
3
|
-
* @import {CosmosAssetInfo,
|
|
3
|
+
* @import {CosmosAssetInfo, CosmosChainInfo, DenomAmount, DenomInfo, AmountArg, CosmosValidatorAddress, OrchestrationPowers, ForwardInfo, IBCMsgTransferOptions, AccountIdArg, BaseChainInfo, ChainInfo} from './types.js';
|
|
4
4
|
* @import {Any as Proto3Msg} from '@agoric/cosmic-proto/google/protobuf/any.js';
|
|
5
5
|
* @import {TxBody} from '@agoric/cosmic-proto/cosmos/tx/v1beta1/tx.js';
|
|
6
6
|
* @import {Coin} from '@agoric/cosmic-proto/cosmos/base/v1beta1/coin.js';
|
|
@@ -40,6 +40,8 @@ export const IBCConnectionIDShape: import("@endo/patterns").Matcher;
|
|
|
40
40
|
export const IBCConnectionInfoShape: import("@endo/patterns").Matcher;
|
|
41
41
|
/** @type {TypedPattern<CosmosAssetInfo>} */
|
|
42
42
|
export const CosmosAssetInfoShape: TypedPattern<CosmosAssetInfo>;
|
|
43
|
+
/** @type {TypedPattern<BaseChainInfo>} */
|
|
44
|
+
export const BaseChainInfoShape: TypedPattern<BaseChainInfo>;
|
|
43
45
|
/** @type {TypedPattern<CosmosChainInfo>} */
|
|
44
46
|
export const CosmosChainInfoShape: TypedPattern<CosmosChainInfo>;
|
|
45
47
|
/** @type {TypedPattern<ChainInfo>} */
|
|
@@ -109,6 +111,7 @@ import type { AccountIdArg } from './types.js';
|
|
|
109
111
|
import type { TypedPattern } from '@agoric/internal';
|
|
110
112
|
import type { Any as Proto3Msg } from '@agoric/cosmic-proto/google/protobuf/any.js';
|
|
111
113
|
import type { CosmosAssetInfo } from './types.js';
|
|
114
|
+
import type { BaseChainInfo } from './types.js';
|
|
112
115
|
import type { CosmosChainInfo } from './types.js';
|
|
113
116
|
import type { ChainInfo } from './types.js';
|
|
114
117
|
import type { Coin } from '@agoric/cosmic-proto/cosmos/base/v1beta1/coin.js';
|
package/src/typeGuards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["typeGuards.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH;;;GAQE;;;;;;;AAcF;;;;GAIG;AACH,8BAFU,aAAa,YAAY,CAAC,CAEqC;AAEzE,sCAAsC;AACtC,0BADW,aAAa,SAAS,CAAC,CACoC;AAGtE,gBAAgB;AAChB,iEAA4C;AAE5C,gBAAgB;AAChB,mEAQG;AAEH,gBAAgB;AAChB,oEAA+C;AAE/C,gBAAgB;AAChB,sEASG;AAEH,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CASrC;
|
|
1
|
+
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["typeGuards.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH;;;GAQE;;;;;;;AAcF;;;;GAIG;AACH,8BAFU,aAAa,YAAY,CAAC,CAEqC;AAEzE,sCAAsC;AACtC,0BADW,aAAa,SAAS,CAAC,CACoC;AAGtE,gBAAgB;AAChB,iEAA4C;AAE5C,gBAAgB;AAChB,mEAQG;AAEH,gBAAgB;AAChB,oEAA+C;AAE/C,gBAAgB;AAChB,sEASG;AAEH,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CASrC;AAWH,0CAA0C;AAC1C,iCADW,aAAa,aAAa,CAAC,CAIpC;AAGF,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CAetC;AAGF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CAC2C;AAG7E,0DAAqC;AAErC,iCAAiC;AACjC,wBADW,aAAa,IAAI,CAAC,CAK3B;AAGF,gDAAgD;AAChD,6BADW,aAAa,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC,CAM1C;AAGF,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CAIlC;AAGF,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CACkC;AAGtE,0CAA0C;AAC1C,gCADW,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,CAIpC;AAGF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CACsC;AAExE;;;;;GAKG;AACH,8BALU,aAAa;IAClB,SAAS,EAAE,sBAAsB,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC,CAQH;AAEF,sCAAsC;AACtC,2DAGE;AAEF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CACmC;;;;;;;;;AAmBrE;;;;GAIG;AACH,+DAQE;AAEF;;;GAGG;AACH,mEAGE;AAEF,gDAAgD;AAChD,uCADW,aAAa,mBAAmB,CAAC,CAO1C;AAYF,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CAWlC;AAGF;;;;GAIG;AACH,+BAFU,aAAa,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAU1D;AAEF;;;GAGG;AACH,sCAHU,aAAa,qBAAqB,CAAC,CAc3C;kCAnS6M,YAAY;kCAD5L,kBAAkB;sCAEd,6CAA6C;qCAD+H,YAAY;mCAAZ,YAAY;qCAAZ,YAAY;+BAAZ,YAAY;0BAGpM,kDAAkD;+BAHsI,YAAY;iCAK7L,qBAAqB;iCAL4J,YAAY;+BAAZ,YAAY;4CAAZ,YAAY;+BAI/L,sBAAsB;yCAJ6J,YAAY;iCAAZ,YAAY;2CAAZ,YAAY"}
|
package/src/typeGuards.js
CHANGED
|
@@ -4,7 +4,7 @@ import { M } from '@endo/patterns';
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @import {TypedPattern} from '@agoric/internal';
|
|
7
|
-
* @import {CosmosAssetInfo,
|
|
7
|
+
* @import {CosmosAssetInfo, CosmosChainInfo, DenomAmount, DenomInfo, AmountArg, CosmosValidatorAddress, OrchestrationPowers, ForwardInfo, IBCMsgTransferOptions, AccountIdArg, BaseChainInfo, ChainInfo} from './types.js';
|
|
8
8
|
* @import {Any as Proto3Msg} from '@agoric/cosmic-proto/google/protobuf/any.js';
|
|
9
9
|
* @import {TxBody} from '@agoric/cosmic-proto/cosmos/tx/v1beta1/tx.js';
|
|
10
10
|
* @import {Coin} from '@agoric/cosmic-proto/cosmos/base/v1beta1/coin.js';
|
|
@@ -90,25 +90,44 @@ export const CosmosAssetInfoShape = M.splitRecord({
|
|
|
90
90
|
),
|
|
91
91
|
});
|
|
92
92
|
|
|
93
|
+
const ChainInfoRequiredShape = {
|
|
94
|
+
namespace: M.string(),
|
|
95
|
+
reference: M.string(),
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const ChainInfoOptionalShape = {
|
|
99
|
+
cctpDestinationDomain: M.number(),
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
/** @type {TypedPattern<BaseChainInfo>} */
|
|
103
|
+
export const BaseChainInfoShape = M.splitRecord(
|
|
104
|
+
ChainInfoRequiredShape,
|
|
105
|
+
ChainInfoOptionalShape,
|
|
106
|
+
);
|
|
107
|
+
harden(BaseChainInfoShape);
|
|
108
|
+
|
|
93
109
|
/** @type {TypedPattern<CosmosChainInfo>} */
|
|
94
110
|
export const CosmosChainInfoShape = M.splitRecord(
|
|
95
111
|
{
|
|
96
112
|
chainId: M.string(),
|
|
113
|
+
bech32Prefix: M.string(),
|
|
114
|
+
...ChainInfoRequiredShape,
|
|
97
115
|
},
|
|
98
116
|
{
|
|
99
|
-
bech32Prefix: M.string(),
|
|
100
117
|
connections: M.record(),
|
|
101
|
-
stakingTokens: M.arrayOf({ denom: M.string() }),
|
|
102
118
|
// UNTIL https://github.com/Agoric/agoric-sdk/issues/9326
|
|
103
119
|
icqEnabled: M.boolean(),
|
|
104
120
|
pfmEnabled: M.boolean(),
|
|
121
|
+
stakingTokens: M.arrayOf({ denom: M.string() }),
|
|
122
|
+
...ChainInfoOptionalShape,
|
|
105
123
|
},
|
|
106
124
|
);
|
|
125
|
+
harden(CosmosChainInfoShape);
|
|
107
126
|
|
|
108
127
|
/** @type {TypedPattern<ChainInfo>} */
|
|
109
|
-
export const ChainInfoShape = M.
|
|
110
|
-
|
|
111
|
-
|
|
128
|
+
export const ChainInfoShape = M.or(CosmosChainInfoShape, BaseChainInfoShape);
|
|
129
|
+
harden(ChainInfoShape);
|
|
130
|
+
|
|
112
131
|
export const DenomShape = M.string();
|
|
113
132
|
|
|
114
133
|
/** @type {TypedPattern<Coin>} */
|
package/src/types.d.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import type { ZCF } from '@agoric/zoe';
|
|
3
3
|
export type * from './chain-info.js';
|
|
4
4
|
export type * from './cosmos-api.js';
|
|
5
|
-
export type * from './ethereum-api.js';
|
|
6
5
|
export type * from './exos/chain-hub.js';
|
|
7
6
|
export type * from './exos/combine-invitation-makers.js';
|
|
8
7
|
export type * from './exos/cosmos-interchain-service.js';
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAEhG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAEhG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,qCAAqC,CAAC;AACzD,mBAAmB,qCAAqC,CAAC;AACzD,mBAAmB,0BAA0B,CAAC;AAC9C,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,yBAAyB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAChD,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACxC,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACvC"}
|
package/src/types.ts
CHANGED
|
@@ -4,7 +4,6 @@ import type { ZCF } from '@agoric/zoe';
|
|
|
4
4
|
|
|
5
5
|
export type * from './chain-info.js';
|
|
6
6
|
export type * from './cosmos-api.js';
|
|
7
|
-
export type * from './ethereum-api.js';
|
|
8
7
|
export type * from './exos/chain-hub.js';
|
|
9
8
|
export type * from './exos/combine-invitation-makers.js';
|
|
10
9
|
export type * from './exos/cosmos-interchain-service.js';
|
package/src/utils/registry.d.ts
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
export function convertChainInfo(registry: Pick<ChainRegistryClient, "chains" | "ibcData">): Promise<{
|
|
2
|
-
[k: string]:
|
|
3
|
-
bech32Prefix?: string;
|
|
4
|
-
chainId: string;
|
|
5
|
-
connections?: Record<string, IBCConnectionInfo>;
|
|
6
|
-
icqEnabled?: boolean;
|
|
7
|
-
pfmEnabled?: boolean;
|
|
8
|
-
stakingTokens?: Readonly<Array<{
|
|
9
|
-
denom: string;
|
|
10
|
-
}>>;
|
|
11
|
-
icaEnabled?: boolean;
|
|
12
|
-
}>;
|
|
2
|
+
[k: string]: CosmosChainInfo;
|
|
13
3
|
}>;
|
|
14
4
|
import type { ChainRegistryClient } from '@chain-registry/client';
|
|
15
|
-
import type {
|
|
5
|
+
import type { CosmosChainInfo } from '../cosmos-api.js';
|
|
16
6
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["registry.js"],"names":[],"mappings":"AAqFO,2CAFI,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["registry.js"],"names":[],"mappings":"AAqFO,2CAFI,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,SAAS,CAAC;;GAgDzD;yCAzHqC,wBAAwB;qCACT,kBAAkB"}
|
package/src/utils/registry.js
CHANGED
|
@@ -79,7 +79,7 @@ function toConnectionEntry(ibcInfo, name, chainInfo) {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
|
-
* Converts the given chain info to our local config format
|
|
82
|
+
* Converts the given cosmos chain info to our local config format
|
|
83
83
|
*
|
|
84
84
|
* @param {Pick<ChainRegistryClient, 'chains' | 'ibcData'>} registry
|
|
85
85
|
*/
|
|
@@ -92,9 +92,11 @@ export const convertChainInfo = async registry => {
|
|
|
92
92
|
chainInfo[chain.chain_name] = {
|
|
93
93
|
bech32Prefix: chain.bech32_prefix,
|
|
94
94
|
chainId: chain.chain_id,
|
|
95
|
-
stakingTokens: chain.staking?.staking_tokens,
|
|
96
95
|
// UNTIL https://github.com/Agoric/agoric-sdk/issues/9326
|
|
97
96
|
icqEnabled: chain.chain_name === 'osmosis',
|
|
97
|
+
namespace: 'cosmos',
|
|
98
|
+
reference: chain.chain_id,
|
|
99
|
+
stakingTokens: chain.staking?.staking_tokens,
|
|
98
100
|
};
|
|
99
101
|
}
|
|
100
102
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export function provideOrchestration(zcf: ZCF, baggage: Baggage, remotePowers: OrchestrationPowers, marshaller: Marshaller
|
|
1
|
+
export function provideOrchestration(zcf: ZCF, baggage: Baggage, remotePowers: OrchestrationPowers, marshaller: Marshaller, opts?: {
|
|
2
|
+
chainInfoValueShape?: WithOrchestrationOpts["chainInfoValueShape"];
|
|
3
|
+
}): {
|
|
2
4
|
makeOrchestrateKit: (zone: Zone) => {
|
|
3
5
|
orchestrate: <HC, GF extends import("../orchestration-api.js").OrchestrationFlow<import("@agoric/async-flow").GuestInterface<HC>>>(durableName: string, hostCtx: HC, guestFn: GF) => HostForGuest<GF>;
|
|
4
6
|
orchestrateAll: <HC extends Record<string, any>, GFM extends {
|
|
@@ -7,8 +9,8 @@ export function provideOrchestration(zcf: ZCF, baggage: Baggage, remotePowers: O
|
|
|
7
9
|
};
|
|
8
10
|
baggage: Baggage;
|
|
9
11
|
chainHub: import("@endo/exo").Guarded<{
|
|
10
|
-
registerChain(name: string, chainInfo: import("../
|
|
11
|
-
updateChain(chainName: string, chainInfo: import("../
|
|
12
|
+
registerChain(name: string, chainInfo: import("../orchestration-api.js").ChainInfo): void;
|
|
13
|
+
updateChain(chainName: string, chainInfo: import("../orchestration-api.js").ChainInfo): void;
|
|
12
14
|
getChainInfo<K extends string>(chainName: K): import("@agoric/vow").Vow<ActualChainInfo<K>>;
|
|
13
15
|
registerConnection(primaryChainId: string, counterpartyChainId: string, connectionInfo: import("../cosmos-api.js").IBCConnectionInfo): void;
|
|
14
16
|
updateConnection(primaryChainId: string, counterpartyChainId: string, connectionInfo: import("../cosmos-api.js").IBCConnectionInfo): void;
|
|
@@ -88,6 +90,12 @@ export type WithOrchestrationOpts = {
|
|
|
88
90
|
* published to vstorage
|
|
89
91
|
*/
|
|
90
92
|
publishAccountInfo?: boolean | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* - Overrides the default valueShape
|
|
95
|
+
* for ChainHub's `chainInfos: MapStore`. Intended to support a legacy version
|
|
96
|
+
* of ChainHub for FastUSDC.
|
|
97
|
+
*/
|
|
98
|
+
chainInfoValueShape?: Pattern;
|
|
91
99
|
};
|
|
92
100
|
export type OrchestrationTools = Omit<ReturnType<typeof provideOrchestration>, "zone">;
|
|
93
101
|
import type { Baggage } from '@agoric/vat-data';
|
|
@@ -97,4 +105,5 @@ import type { Remote } from '@agoric/vow';
|
|
|
97
105
|
import type { CosmosInterchainService } from '../exos/exo-interfaces.js';
|
|
98
106
|
import type { TimerService } from '@agoric/time';
|
|
99
107
|
import type { NameHub } from '@agoric/vats';
|
|
108
|
+
import type { Pattern } from '@endo/patterns';
|
|
100
109
|
//# sourceMappingURL=start-helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-helper.d.ts","sourceRoot":"","sources":["start-helper.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start-helper.d.ts","sourceRoot":"","sources":["start-helper.js"],"names":[],"mappings":"AA2DO,0CARI,GAAG,WACH,OAAO,gBACP,mBAAmB,cACnB,UAAU,SAElB;IAA4D,mBAAmB,GAAvE,qBAAqB,CAAC,qBAAqB,CAAC;CACpD;+BAmGU,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA5DX,CAAC;;;;;;;;;;;;;;;;;;;;;sBA2IqlX,CAAC;;;;;;;;;;;;;;;;;;;;EA9C5lX;AA+BM,kCAfgC,EAAE,SAA3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,EAGhC,EAAE,SAFM,mBAAmB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC;CACvB,EACQ,CAAC,cACH,CACN,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EACZ,WAAW,EAAE,EAAE,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,kBAAkB,KACtB,OAAO,CAAC,CAAC,CAAC,SACP,qBAAqB,GACnB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAgBzE;kCA/MU;IACR,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,oBAAoB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC,CAAC;IAClC,YAAY,EAAE,OAAO,YAAY,CAAC,CAAC;IACnC,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;CAC9B;;;;;;;;;;;;;0BAQU,OAAO;;iCAwJP,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,CAAC;6BA/KzC,kBAAkB;0BAGrB,cAAc;gCALR,gCAAgC;4BAIpC,aAAa;6CAGI,2BAA2B;kCANtC,cAAc;6BAEnB,cAAc;6BAGd,gBAAgB"}
|
|
@@ -19,6 +19,7 @@ import { makeZcfTools } from './zcf-tools.js';
|
|
|
19
19
|
* @import {NameHub} from '@agoric/vats';
|
|
20
20
|
* @import {Remote} from '@agoric/vow';
|
|
21
21
|
* @import {Zone} from '@agoric/zone';
|
|
22
|
+
* @import {Pattern} from '@endo/patterns';
|
|
22
23
|
* @import {CosmosInterchainService} from '../exos/exo-interfaces.js';
|
|
23
24
|
*/
|
|
24
25
|
|
|
@@ -37,6 +38,9 @@ import { makeZcfTools } from './zcf-tools.js';
|
|
|
37
38
|
* @property {boolean} [publishAccountInfo] - Controls whether account
|
|
38
39
|
* information (address, channel identifiers for ICAs) should be automatically
|
|
39
40
|
* published to vstorage
|
|
41
|
+
* @property {Pattern} [chainInfoValueShape] - Overrides the default valueShape
|
|
42
|
+
* for ChainHub's `chainInfos: MapStore`. Intended to support a legacy version
|
|
43
|
+
* of ChainHub for FastUSDC.
|
|
40
44
|
*/
|
|
41
45
|
|
|
42
46
|
/**
|
|
@@ -49,6 +53,8 @@ import { makeZcfTools } from './zcf-tools.js';
|
|
|
49
53
|
* @param {Baggage} baggage
|
|
50
54
|
* @param {OrchestrationPowers} remotePowers
|
|
51
55
|
* @param {Marshaller} marshaller
|
|
56
|
+
* @param {object} [opts]
|
|
57
|
+
* @param {WithOrchestrationOpts['chainInfoValueShape']} [opts.chainInfoValueShape]
|
|
52
58
|
* @internal
|
|
53
59
|
*/
|
|
54
60
|
export const provideOrchestration = (
|
|
@@ -56,6 +62,7 @@ export const provideOrchestration = (
|
|
|
56
62
|
baggage,
|
|
57
63
|
remotePowers,
|
|
58
64
|
marshaller,
|
|
65
|
+
opts = {},
|
|
59
66
|
) => {
|
|
60
67
|
// separate zones
|
|
61
68
|
const zones = (() => {
|
|
@@ -78,7 +85,9 @@ export const provideOrchestration = (
|
|
|
78
85
|
|
|
79
86
|
const vowTools = prepareVowTools(zones.vows);
|
|
80
87
|
|
|
81
|
-
const chainHub = makeChainHub(zones.chainHub, agoricNames, vowTools
|
|
88
|
+
const chainHub = makeChainHub(zones.chainHub, agoricNames, vowTools, {
|
|
89
|
+
chainInfoValueShape: opts.chainInfoValueShape,
|
|
90
|
+
});
|
|
82
91
|
|
|
83
92
|
const zoeTools = makeZoeTools(zcf, vowTools);
|
|
84
93
|
|
|
@@ -213,11 +222,13 @@ export const withOrchestration =
|
|
|
213
222
|
(contractFn, opts) => async (zcf, privateArgs, baggage) => {
|
|
214
223
|
const { marshaller, ...allOrchPowers } = privateArgs;
|
|
215
224
|
const { storageNode: _, ...requiredOrchPowers } = allOrchPowers;
|
|
225
|
+
const { publishAccountInfo, chainInfoValueShape } = opts ?? {};
|
|
216
226
|
const { zone, ...tools } = provideOrchestration(
|
|
217
227
|
zcf,
|
|
218
228
|
baggage,
|
|
219
|
-
|
|
229
|
+
publishAccountInfo ? allOrchPowers : requiredOrchPowers,
|
|
220
230
|
marshaller,
|
|
231
|
+
{ chainInfoValueShape },
|
|
221
232
|
);
|
|
222
233
|
return contractFn(zcf, privateArgs, zone, tools);
|
|
223
234
|
};
|