@agoric/orchestration 0.1.1-dev-d4385f0.0 → 0.1.1-dev-8657c4c.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/index.d.ts +2 -0
- package/index.js +2 -0
- package/package.json +16 -16
- package/src/chain-capabilities.d.ts +15 -0
- package/src/chain-capabilities.d.ts.map +1 -0
- package/src/chain-capabilities.js +60 -0
- package/src/cosmos-api.d.ts +5 -0
- package/src/cosmos-api.d.ts.map +1 -1
- package/src/cosmos-api.ts +5 -1
- package/src/examples/auto-stake-it.contract.d.ts +1 -0
- package/src/examples/auto-stake-it.contract.d.ts.map +1 -1
- package/src/examples/send-anywhere.contract.d.ts +27 -5
- package/src/examples/send-anywhere.contract.d.ts.map +1 -1
- package/src/examples/send-anywhere.contract.js +11 -0
- package/src/examples/staking-combinations.contract.d.ts +1 -0
- package/src/examples/staking-combinations.contract.d.ts.map +1 -1
- package/src/exos/chain-hub-admin.d.ts.map +1 -1
- package/src/exos/chain-hub-admin.js +1 -2
- package/src/exos/chain-hub.d.ts +0 -30
- package/src/exos/chain-hub.d.ts.map +1 -1
- package/src/exos/chain-hub.js +1 -6
- package/src/exos/local-chain-facade.d.ts +2 -0
- package/src/exos/local-chain-facade.d.ts.map +1 -1
- package/src/exos/orchestrator.d.ts +1 -0
- package/src/exos/orchestrator.d.ts.map +1 -1
- package/src/exos/remote-chain-facade.d.ts +1 -0
- package/src/exos/remote-chain-facade.d.ts.map +1 -1
- package/src/orchestration-api.d.ts +3 -0
- package/src/orchestration-api.d.ts.map +1 -1
- package/src/orchestration-api.ts +3 -0
- package/src/proposals/start-send-anywhere.d.ts +93 -0
- package/src/proposals/start-send-anywhere.d.ts.map +1 -0
- package/src/proposals/start-send-anywhere.js +119 -0
- package/src/typeGuards.d.ts +4 -0
- package/src/typeGuards.d.ts.map +1 -1
- package/src/typeGuards.js +10 -0
- package/src/utils/chain-hub-helper.d.ts +8 -0
- package/src/utils/chain-hub-helper.d.ts.map +1 -0
- package/src/utils/chain-hub-helper.js +53 -0
- package/src/utils/registry.d.ts +1 -0
- package/src/utils/registry.d.ts.map +1 -1
- package/src/utils/start-helper.d.ts +1 -0
- package/src/utils/start-helper.d.ts.map +1 -1
- package/src/utils/start-helper.js +1 -0
package/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export * from "./src/exos/chain-hub-admin.js";
|
|
|
4
4
|
export * from "./src/typeGuards.js";
|
|
5
5
|
export * from "./src/utils/denomHash.js";
|
|
6
6
|
export { withOrchestration } from "./src/utils/start-helper.js";
|
|
7
|
+
export { withChainCapabilities } from "./src/chain-capabilities.js";
|
|
8
|
+
export { registerChainsAndAssets } from "./src/utils/chain-hub-helper.js";
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/index.js
CHANGED
|
@@ -10,3 +10,5 @@ export * from './src/typeGuards.js';
|
|
|
10
10
|
export * from './src/utils/denomHash.js';
|
|
11
11
|
|
|
12
12
|
export { withOrchestration } from './src/utils/start-helper.js';
|
|
13
|
+
export { withChainCapabilities } from './src/chain-capabilities.js';
|
|
14
|
+
export { registerChainsAndAssets } from './src/utils/chain-hub-helper.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/orchestration",
|
|
3
|
-
"version": "0.1.1-dev-
|
|
3
|
+
"version": "0.1.1-dev-8657c4c.0+8657c4c",
|
|
4
4
|
"description": "Chain abstraction for Agoric's orchestration clients",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -33,19 +33,19 @@
|
|
|
33
33
|
},
|
|
34
34
|
"homepage": "https://github.com/Agoric/agoric-sdk#readme",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@agoric/async-flow": "0.1.1-dev-
|
|
37
|
-
"@agoric/cosmic-proto": "0.4.1-dev-
|
|
38
|
-
"@agoric/ertp": "0.16.3-dev-
|
|
39
|
-
"@agoric/internal": "0.3.3-dev-
|
|
40
|
-
"@agoric/network": "0.1.1-dev-
|
|
41
|
-
"@agoric/notifier": "0.6.3-dev-
|
|
42
|
-
"@agoric/store": "0.9.3-dev-
|
|
43
|
-
"@agoric/time": "0.3.3-dev-
|
|
44
|
-
"@agoric/vat-data": "0.5.3-dev-
|
|
45
|
-
"@agoric/vats": "0.15.2-dev-
|
|
46
|
-
"@agoric/vow": "0.1.1-dev-
|
|
47
|
-
"@agoric/zoe": "0.26.3-dev-
|
|
48
|
-
"@agoric/zone": "0.2.3-dev-
|
|
36
|
+
"@agoric/async-flow": "0.1.1-dev-8657c4c.0+8657c4c",
|
|
37
|
+
"@agoric/cosmic-proto": "0.4.1-dev-8657c4c.0+8657c4c",
|
|
38
|
+
"@agoric/ertp": "0.16.3-dev-8657c4c.0+8657c4c",
|
|
39
|
+
"@agoric/internal": "0.3.3-dev-8657c4c.0+8657c4c",
|
|
40
|
+
"@agoric/network": "0.1.1-dev-8657c4c.0+8657c4c",
|
|
41
|
+
"@agoric/notifier": "0.6.3-dev-8657c4c.0+8657c4c",
|
|
42
|
+
"@agoric/store": "0.9.3-dev-8657c4c.0+8657c4c",
|
|
43
|
+
"@agoric/time": "0.3.3-dev-8657c4c.0+8657c4c",
|
|
44
|
+
"@agoric/vat-data": "0.5.3-dev-8657c4c.0+8657c4c",
|
|
45
|
+
"@agoric/vats": "0.15.2-dev-8657c4c.0+8657c4c",
|
|
46
|
+
"@agoric/vow": "0.1.1-dev-8657c4c.0+8657c4c",
|
|
47
|
+
"@agoric/zoe": "0.26.3-dev-8657c4c.0+8657c4c",
|
|
48
|
+
"@agoric/zone": "0.2.3-dev-8657c4c.0+8657c4c",
|
|
49
49
|
"@endo/base64": "^1.0.9",
|
|
50
50
|
"@endo/errors": "^1.2.8",
|
|
51
51
|
"@endo/far": "^1.1.9",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@noble/hashes": "^1.5.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
57
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-8657c4c.0+8657c4c",
|
|
58
58
|
"@chain-registry/client": "^1.47.4",
|
|
59
59
|
"@cosmjs/amino": "^0.32.3",
|
|
60
60
|
"@cosmjs/proto-signing": "^0.32.3",
|
|
@@ -95,5 +95,5 @@
|
|
|
95
95
|
"typeCoverage": {
|
|
96
96
|
"atLeast": 97.23
|
|
97
97
|
},
|
|
98
|
-
"gitHead": "
|
|
98
|
+
"gitHead": "8657c4cfc5dcb48602f730574afe5efb6f8ffb24"
|
|
99
99
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function withChainCapabilities(chainInfo: Record<string, CosmosChainInfo>, opts?: {
|
|
2
|
+
PfmEnabled: Record<string, boolean>;
|
|
3
|
+
IcqEnabled: Record<string, boolean>;
|
|
4
|
+
}): Record<string, {
|
|
5
|
+
pfmEnabled: boolean;
|
|
6
|
+
icqEnabled: boolean;
|
|
7
|
+
bech32Prefix?: string;
|
|
8
|
+
chainId: string;
|
|
9
|
+
connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
|
|
10
|
+
stakingTokens?: Readonly<Array<{
|
|
11
|
+
denom: string;
|
|
12
|
+
}>>;
|
|
13
|
+
}>;
|
|
14
|
+
import type { CosmosChainInfo } from '@agoric/orchestration';
|
|
15
|
+
//# sourceMappingURL=chain-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-capabilities.d.ts","sourceRoot":"","sources":["chain-capabilities.js"],"names":[],"mappings":"AA+CO,iDANI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,SAC/B;IACN,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;;;;;;;;;GAcH;qCArD+C,uBAAuB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Contains ChainInfo that not available from a well-known chain registry.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { objectMap } from '@endo/patterns';
|
|
6
|
+
|
|
7
|
+
/** @import {CosmosChainInfo, KnownChains} from '@agoric/orchestration'; */
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Chains with the async-icq (icq-1) module available.
|
|
11
|
+
*
|
|
12
|
+
* @satisfies {Partial<Record<keyof KnownChains, boolean>>}
|
|
13
|
+
*/
|
|
14
|
+
const IcqEnabled = /** @type {const} */ ({
|
|
15
|
+
omniflixhub: true,
|
|
16
|
+
osmosis: true,
|
|
17
|
+
});
|
|
18
|
+
harden(IcqEnabled);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Chains with the packet-forward-middleware module available.
|
|
22
|
+
*
|
|
23
|
+
* @satisfies {Partial<Record<keyof KnownChains, boolean>>}
|
|
24
|
+
*/
|
|
25
|
+
const PfmEnabled = /** @type {const} */ ({
|
|
26
|
+
agoric: true,
|
|
27
|
+
celestia: true,
|
|
28
|
+
cosmoshub: true,
|
|
29
|
+
juno: true,
|
|
30
|
+
neutron: true,
|
|
31
|
+
noble: true,
|
|
32
|
+
omniflixhub: true,
|
|
33
|
+
osmosis: true,
|
|
34
|
+
secretnetwork: true,
|
|
35
|
+
stargaze: true,
|
|
36
|
+
stride: true,
|
|
37
|
+
umee: true,
|
|
38
|
+
});
|
|
39
|
+
harden(PfmEnabled);
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @param {Record<string, CosmosChainInfo>} chainInfo
|
|
43
|
+
* @param {{
|
|
44
|
+
* PfmEnabled: Record<string, boolean>;
|
|
45
|
+
* IcqEnabled: Record<string, boolean>;
|
|
46
|
+
* }} [opts]
|
|
47
|
+
*/
|
|
48
|
+
export const withChainCapabilities = (
|
|
49
|
+
chainInfo,
|
|
50
|
+
opts = {
|
|
51
|
+
PfmEnabled,
|
|
52
|
+
IcqEnabled,
|
|
53
|
+
},
|
|
54
|
+
) => {
|
|
55
|
+
return objectMap(chainInfo, (info, name) => ({
|
|
56
|
+
...info,
|
|
57
|
+
pfmEnabled: !!opts.PfmEnabled[name],
|
|
58
|
+
icqEnabled: !!opts.IcqEnabled[name],
|
|
59
|
+
}));
|
|
60
|
+
};
|
package/src/cosmos-api.d.ts
CHANGED
|
@@ -69,6 +69,11 @@ export type CosmosChainInfo = Readonly<{
|
|
|
69
69
|
chainId: string;
|
|
70
70
|
connections?: Record<string, IBCConnectionInfo>;
|
|
71
71
|
icqEnabled?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Note: developers must provide this value themselves for `.transfer` to work
|
|
74
|
+
* as expected. Please see examples for details.
|
|
75
|
+
*/
|
|
76
|
+
pfmEnabled?: boolean;
|
|
72
77
|
/**
|
|
73
78
|
* cf https://github.com/cosmos/chain-registry/blob/master/chain.schema.json#L117
|
|
74
79
|
*/
|
package/src/cosmos-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-api.d.ts","sourceRoot":"","sources":["cosmos-api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cosmos-api.d.ts","sourceRoot":"","sources":["cosmos-api.ts"],"names":[],"mappings":"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"}
|
package/src/cosmos-api.ts
CHANGED
|
@@ -97,7 +97,11 @@ export type CosmosChainInfo = Readonly<{
|
|
|
97
97
|
connections?: Record<string, IBCConnectionInfo>; // chainId or wellKnownName
|
|
98
98
|
// UNTIL https://github.com/Agoric/agoric-sdk/issues/9326
|
|
99
99
|
icqEnabled?: boolean;
|
|
100
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Note: developers must provide this value themselves for `.transfer` to work
|
|
102
|
+
* as expected. Please see examples for details.
|
|
103
|
+
*/
|
|
104
|
+
pfmEnabled?: boolean;
|
|
101
105
|
/**
|
|
102
106
|
* cf https://github.com/cosmos/chain-registry/blob/master/chain.schema.json#L117
|
|
103
107
|
*/
|
|
@@ -20,6 +20,7 @@ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: Orchestrati
|
|
|
20
20
|
chainId: string;
|
|
21
21
|
connections?: Record<string, import("../cosmos-api.js").IBCConnectionInfo>;
|
|
22
22
|
icqEnabled?: boolean;
|
|
23
|
+
pfmEnabled?: boolean;
|
|
23
24
|
stakingTokens?: Readonly<Array<{
|
|
24
25
|
denom: string;
|
|
25
26
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-stake-it.contract.d.ts","sourceRoot":"","sources":["auto-stake-it.contract.js"],"names":[],"mappings":"AAwEA;gBAhDiB,UAAU
|
|
1
|
+
{"version":3,"file":"auto-stake-it.contract.d.ts","sourceRoot":"","sources":["auto-stake-it.contract.js"],"names":[],"mappings":"AAwEA;gBAhDiB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDsB;4BAGnC,OAAO,KAAK;yCA9DgC,0BAA0B"}
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
* @import {Vow} from '@agoric/vow';
|
|
3
3
|
* @import {Zone} from '@agoric/zone';
|
|
4
4
|
* @import {OrchestrationPowers, OrchestrationTools} from '../utils/start-helper.js';
|
|
5
|
+
* @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
|
|
5
6
|
*/
|
|
6
7
|
export const SingleNatAmountRecord: import("@endo/patterns").Matcher;
|
|
7
8
|
export function contract(zcf: ZCF, privateArgs: OrchestrationPowers & {
|
|
8
9
|
marshaller: Marshaller;
|
|
10
|
+
chainInfo?: Record<string, CosmosChainInfo>;
|
|
11
|
+
assetInfo?: Record<Denom, DenomDetail & {
|
|
12
|
+
brandKey?: string;
|
|
13
|
+
}>;
|
|
9
14
|
}, zone: Zone, { chainHub, orchestrateAll, vowTools, zoeTools }: OrchestrationTools): Promise<{
|
|
10
15
|
publicFacet: import("@endo/exo").Guarded<{
|
|
11
16
|
makeSendInvitation(): Promise<Invitation<Vow<void>, {
|
|
@@ -14,12 +19,25 @@ export function contract(zcf: ZCF, privateArgs: OrchestrationPowers & {
|
|
|
14
19
|
}>>;
|
|
15
20
|
}>;
|
|
16
21
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
17
|
-
registerChain(chainName: string, chainInfo:
|
|
18
|
-
registerAsset(denom:
|
|
22
|
+
registerChain(chainName: string, chainInfo: CosmosChainInfo, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
|
|
23
|
+
registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
|
|
19
24
|
}>;
|
|
20
25
|
}>;
|
|
21
26
|
export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: OrchestrationPowers & {
|
|
22
27
|
marshaller: Marshaller;
|
|
28
|
+
chainInfo?: Record<string, Readonly<{
|
|
29
|
+
bech32Prefix?: string;
|
|
30
|
+
chainId: string;
|
|
31
|
+
connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
|
|
32
|
+
icqEnabled?: boolean;
|
|
33
|
+
pfmEnabled?: boolean;
|
|
34
|
+
stakingTokens?: Readonly<Array<{
|
|
35
|
+
denom: string;
|
|
36
|
+
}>>;
|
|
37
|
+
}>>;
|
|
38
|
+
assetInfo?: Record<Denom, DenomDetail & {
|
|
39
|
+
brandKey?: string;
|
|
40
|
+
}>;
|
|
23
41
|
}, baggage: import("@agoric/vat-data").Baggage) => Promise<{
|
|
24
42
|
publicFacet: import("@endo/exo").Guarded<{
|
|
25
43
|
makeSendInvitation(): Promise<Invitation<Vow<void>, {
|
|
@@ -31,16 +49,20 @@ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: Orchestrati
|
|
|
31
49
|
registerChain(chainName: string, chainInfo: Readonly<{
|
|
32
50
|
bech32Prefix?: string;
|
|
33
51
|
chainId: string;
|
|
34
|
-
connections?: Record<string, import("
|
|
52
|
+
connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
|
|
35
53
|
icqEnabled?: boolean;
|
|
54
|
+
pfmEnabled?: boolean;
|
|
36
55
|
stakingTokens?: Readonly<Array<{
|
|
37
56
|
denom: string;
|
|
38
57
|
}>>;
|
|
39
|
-
}>, connectionInfo: import("
|
|
40
|
-
registerAsset(denom:
|
|
58
|
+
}>, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
|
|
59
|
+
registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
|
|
41
60
|
}>;
|
|
42
61
|
}>;
|
|
43
62
|
import type { OrchestrationPowers } from '../utils/start-helper.js';
|
|
63
|
+
import type { CosmosChainInfo } from '@agoric/orchestration';
|
|
64
|
+
import type { Denom } from '@agoric/orchestration';
|
|
65
|
+
import type { DenomDetail } from '@agoric/orchestration';
|
|
44
66
|
import type { Zone } from '@agoric/zone';
|
|
45
67
|
import type { OrchestrationTools } from '../utils/start-helper.js';
|
|
46
68
|
import type { Vow } from '@agoric/vow';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"AAUA;;;;;GAKG;AAEH,qEAKE;AAeK,8BATI,GAAG,eACH,mBAAmB,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE,QACO,IAAI,oDACJ,kBAAkB;;;;;;;;;;;GA6D5B;AAGD;gBArEiB,UAAU;;;;;;;;;;;gBAEV,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;;;;;;;;;;;;;;;;;;;;;GAmElB;yCAtFS,0BAA0B;qCAC9B,uBAAuB;2BAAvB,uBAAuB;iCAAvB,uBAAuB;0BAFtD,cAAc;wCACqB,0BAA0B;yBAF9D,aAAa"}
|
|
@@ -4,6 +4,7 @@ import { M } from '@endo/patterns';
|
|
|
4
4
|
import { prepareChainHubAdmin } from '../exos/chain-hub-admin.js';
|
|
5
5
|
import { AnyNatAmountShape } from '../typeGuards.js';
|
|
6
6
|
import { withOrchestration } from '../utils/start-helper.js';
|
|
7
|
+
import { registerChainsAndAssets } from '../utils/chain-hub-helper.js';
|
|
7
8
|
import * as flows from './send-anywhere.flows.js';
|
|
8
9
|
import * as sharedFlows from './shared.flows.js';
|
|
9
10
|
|
|
@@ -11,6 +12,7 @@ import * as sharedFlows from './shared.flows.js';
|
|
|
11
12
|
* @import {Vow} from '@agoric/vow';
|
|
12
13
|
* @import {Zone} from '@agoric/zone';
|
|
13
14
|
* @import {OrchestrationPowers, OrchestrationTools} from '../utils/start-helper.js';
|
|
15
|
+
* @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
|
|
14
16
|
*/
|
|
15
17
|
|
|
16
18
|
export const SingleNatAmountRecord = M.and(
|
|
@@ -27,6 +29,8 @@ harden(SingleNatAmountRecord);
|
|
|
27
29
|
* @param {ZCF} zcf
|
|
28
30
|
* @param {OrchestrationPowers & {
|
|
29
31
|
* marshaller: Marshaller;
|
|
32
|
+
* chainInfo?: Record<string, CosmosChainInfo>;
|
|
33
|
+
* assetInfo?: Record<Denom, DenomDetail & { brandKey?: string }>;
|
|
30
34
|
* }} privateArgs
|
|
31
35
|
* @param {Zone} zone
|
|
32
36
|
* @param {OrchestrationTools} tools
|
|
@@ -82,6 +86,13 @@ export const contract = async (
|
|
|
82
86
|
},
|
|
83
87
|
);
|
|
84
88
|
|
|
89
|
+
registerChainsAndAssets(
|
|
90
|
+
chainHub,
|
|
91
|
+
zcf.getTerms().brands,
|
|
92
|
+
privateArgs.chainInfo,
|
|
93
|
+
privateArgs.assetInfo,
|
|
94
|
+
);
|
|
95
|
+
|
|
85
96
|
return { publicFacet, creatorFacet };
|
|
86
97
|
};
|
|
87
98
|
harden(contract);
|
|
@@ -12,6 +12,7 @@ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: Orchestrati
|
|
|
12
12
|
chainId: string;
|
|
13
13
|
connections?: Record<string, import("../cosmos-api.js").IBCConnectionInfo>;
|
|
14
14
|
icqEnabled?: boolean;
|
|
15
|
+
pfmEnabled?: boolean;
|
|
15
16
|
stakingTokens?: Readonly<Array<{
|
|
16
17
|
denom: string;
|
|
17
18
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking-combinations.contract.d.ts","sourceRoot":"","sources":["staking-combinations.contract.js"],"names":[],"mappings":"AAgKA;gBA3HiB,UAAU
|
|
1
|
+
{"version":3,"file":"staking-combinations.contract.d.ts","sourceRoot":"","sources":["staking-combinations.contract.js"],"names":[],"mappings":"AAgKA;gBA3HiB,UAAU;;;;;;;;;;;;;;;;;;;;GA2HsB;yCA5IS,0BAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-hub-admin.d.ts","sourceRoot":"","sources":["chain-hub-admin.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain-hub-admin.d.ts","sourceRoot":"","sources":["chain-hub-admin.js"],"names":[],"mappings":"AA+BO,2CAHI,IAAI,YACJ,QAAQ;IAeb;;;;;;OAMG;6BAHQ,MAAM,aACN,eAAe,kBACf,iBAAiB;IAe5B;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;GAU3B;4BAEa,UAAU,QAtDb,IAAI,YACJ,QAAQ;IAeb;;;;;;OAMG;6BAHQ,MAAM,aACN,eAAe,kBACf,iBAAiB;IAe5B;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;GAYkB;0BA3EvB,cAAc;8BAEG,gBAAgB;qCADI,uBAAuB;uCAAvB,uBAAuB;2BAAvB,uBAAuB;iCAC3C,gBAAgB"}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
/* eslint-disable no-restricted-syntax */
|
|
3
3
|
import { heapVowE } from '@agoric/vow/vat.js';
|
|
4
4
|
import { M } from '@endo/patterns';
|
|
5
|
-
import { CosmosChainInfoShape } from '../typeGuards.js';
|
|
6
|
-
import { DenomDetailShape } from './chain-hub.js';
|
|
5
|
+
import { CosmosChainInfoShape, DenomDetailShape } from '../typeGuards.js';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* @import {Zone} from '@agoric/zone';
|
package/src/exos/chain-hub.d.ts
CHANGED
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @import {NameHub} from '@agoric/vats';
|
|
3
|
-
* @import {Vow, VowTools} from '@agoric/vow';
|
|
4
|
-
* @import {Zone} from '@agoric/zone';
|
|
5
|
-
* @import {CosmosAssetInfo, CosmosChainInfo, IBCConnectionInfo} from '../cosmos-api.js';
|
|
6
|
-
* @import {ChainInfo, KnownChains} from '../chain-info.js';
|
|
7
|
-
* @import {ChainAddress, Denom} from '../orchestration-api.js';
|
|
8
|
-
* @import {Remote} from '@agoric/internal';
|
|
9
|
-
* @import {TypedPattern} from '@agoric/internal';
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* If K matches a known chain, narrow the type from generic ChainInfo
|
|
13
|
-
*
|
|
14
|
-
* @template {string} K
|
|
15
|
-
* @typedef {K extends keyof KnownChains
|
|
16
|
-
* ? ChainInfo & Omit<KnownChains[K], 'connections'>
|
|
17
|
-
* : ChainInfo} ActualChainInfo
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* @typedef {object} DenomDetail
|
|
22
|
-
* @property {string} baseName - name of issuing chain; e.g. cosmoshub
|
|
23
|
-
* @property {Denom} baseDenom - e.g. uatom
|
|
24
|
-
* @property {string} chainName - name of holding chain; e.g. agoric
|
|
25
|
-
* @property {Brand<'nat'>} [brand] - vbank brand, if registered
|
|
26
|
-
* @see {ChainHub} `registerAsset` method
|
|
27
|
-
*/
|
|
28
|
-
/** @type {TypedPattern<DenomDetail>} */
|
|
29
|
-
export const DenomDetailShape: TypedPattern<DenomDetail>;
|
|
30
1
|
export type HubName = (typeof HubName)[keyof typeof HubName];
|
|
31
2
|
export namespace HubName {
|
|
32
3
|
let Chain: "chain";
|
|
@@ -141,7 +112,6 @@ export type DenomDetail = {
|
|
|
141
112
|
brand?: globalThis.Brand<"nat"> | undefined;
|
|
142
113
|
};
|
|
143
114
|
export type ChainHub = ReturnType<typeof makeChainHub>;
|
|
144
|
-
import type { TypedPattern } from '@agoric/internal';
|
|
145
115
|
import type { IBCConnectionInfo } from '../cosmos-api.js';
|
|
146
116
|
import type { Zone } from '@agoric/zone';
|
|
147
117
|
import type { NameHub } from '@agoric/vats';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"sBA4CU,CAAC,OAAO,OAAO,EAAE,MAAM,OAAO,OAAO,CAAC;;;;;;AAYhD,oCAAoC;AACpC,gCAAuC;AACvC,8CAA8C;AAC9C,gDAAuD;AACvD,0CAA0C;AAC1C,uCAA8C;AAqBvC,wCAHI,MAAM,YACN,MAAM,UAUhB;AAoCM,wDALI,MAAM,kBACN,MAAM,YACN,iBAAiB,GACf,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAavC;AA4DM,mCAJI,IAAI,eACJ,OAAO,OAAO,CAAC,YACf,QAAQ;IAqHf;;;;;;;;;;;OAWG;wBAFQ,MAAM,aACN,eAAe;IAQ1B;;;;OAIG;iBAHmB,CAAC,SAAV,MAAQ,aACV,CAAC,GACC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IAYpC;;;;OAIG;uCAHQ,MAAM,uBACN,MAAM,kBACN,iBAAiB;IAW5B;;;;OAIG;+BAHQ,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,WAC5B,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAC1B,IAAI,iBAAiB,CAAC;IAmBnC;;;;;;;;OAQG;2BAPmB,EAAE,SAAX,MAAQ,EACC,EAAE,SAAX,MAAQ,eACV,EAAE,eACF,EAAE,GACA,IACZ,CAAK,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAC9D;IAOJ;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;IAatB;;;;;OAKG;oBAFQ,KAAK,GACH,WAAW,GAAG,SAAS;IAQpC;;;;;OAKG;oBAFQ,KAAK,GACH,KAAK,GAAG,SAAS;IAQ9B;;;;OAIG;8BAHQ,MAAM,GACJ,YAAY;GAmB5B;AAUM,yCAJI,QAAQ,QACR,MAAM,UACN,eAAe,EAAE,QAe3B;;;;4BAvcqB,CAAC,SAAV,MAAQ,IACR,CAAC,SAAS,MAAM,WAAW,GACjC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAC/C,SAAS;;;;;cAMF,MAAM;;;;eACN,KAAK;;;;eACL,MAAM;;;;;;uBAsaN,UAAU,CAAC,OAAO,YAAY,CAAC;uCA1byB,kBAAkB;0BADjE,cAAc;6BAFX,cAAc;4BAMf,kBAAkB;8BALX,aAAa;qCAEyB,kBAAkB;yBAFxD,aAAa;2BAIP,yBAAyB;kCAAzB,yBAAyB;qCAFO,kBAAkB;iCAC/C,kBAAkB;+BAAlB,kBAAkB"}
|
package/src/exos/chain-hub.js
CHANGED
|
@@ -7,6 +7,7 @@ import { VowShape } from '@agoric/vow';
|
|
|
7
7
|
import {
|
|
8
8
|
ChainAddressShape,
|
|
9
9
|
CosmosChainInfoShape,
|
|
10
|
+
DenomDetailShape,
|
|
10
11
|
IBCConnectionInfoShape,
|
|
11
12
|
} from '../typeGuards.js';
|
|
12
13
|
import { getBech32Prefix } from '../utils/address.js';
|
|
@@ -19,7 +20,6 @@ import { getBech32Prefix } from '../utils/address.js';
|
|
|
19
20
|
* @import {ChainInfo, KnownChains} from '../chain-info.js';
|
|
20
21
|
* @import {ChainAddress, Denom} from '../orchestration-api.js';
|
|
21
22
|
* @import {Remote} from '@agoric/internal';
|
|
22
|
-
* @import {TypedPattern} from '@agoric/internal';
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -40,11 +40,6 @@ import { getBech32Prefix } from '../utils/address.js';
|
|
|
40
40
|
* @property {Brand<'nat'>} [brand] - vbank brand, if registered
|
|
41
41
|
* @see {ChainHub} `registerAsset` method
|
|
42
42
|
*/
|
|
43
|
-
/** @type {TypedPattern<DenomDetail>} */
|
|
44
|
-
export const DenomDetailShape = M.splitRecord(
|
|
45
|
-
{ chainName: M.string(), baseName: M.string(), baseDenom: M.string() },
|
|
46
|
-
{ brand: BrandShape },
|
|
47
|
-
);
|
|
48
43
|
|
|
49
44
|
/**
|
|
50
45
|
* @enum {(typeof HubName)[keyof typeof HubName]}
|
|
@@ -3,6 +3,7 @@ export function prepareLocalChainFacade(zone: Zone, powers: LocalChainFacadePowe
|
|
|
3
3
|
chainId: string;
|
|
4
4
|
connections?: Record<string, IBCConnectionInfo>;
|
|
5
5
|
icqEnabled?: boolean;
|
|
6
|
+
pfmEnabled?: boolean;
|
|
6
7
|
stakingTokens?: Readonly<Array<{
|
|
7
8
|
denom: string;
|
|
8
9
|
}>>;
|
|
@@ -12,6 +13,7 @@ export function prepareLocalChainFacade(zone: Zone, powers: LocalChainFacadePowe
|
|
|
12
13
|
chainId: string;
|
|
13
14
|
connections?: Record<string, IBCConnectionInfo>;
|
|
14
15
|
icqEnabled?: boolean;
|
|
16
|
+
pfmEnabled?: boolean;
|
|
15
17
|
stakingTokens?: Readonly<Array<{
|
|
16
18
|
denom: string;
|
|
17
19
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-chain-facade.d.ts","sourceRoot":"","sources":["local-chain-facade.js"],"names":[],"mappings":"AA4LO,8CAJI,IAAI,UACJ,sBAAsB
|
|
1
|
+
{"version":3,"file":"local-chain-facade.d.ts","sourceRoot":"","sources":["local-chain-facade.js"],"names":[],"mappings":"AA4LO,8CAJI,IAAI,UACJ,sBAAsB;;;;;;;;;;;;;;;;;;;;IApFzB,6DAA6D;mBAA/C,IAAI,4BAA4B,CAAC,QAAQ,CAAC,CAAC;;;;;;;;;;GA0FhE;;;;;;;;;;;uBAnKa,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;;qCAO3B;IACR,gCAAgC,EAAE,gCAAgC,CAAC;IACnE,aAAa,EAAE,OAAO,uBAAuB,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,OAAO,YAAY,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;CACpB;mCAuJU,UAAU,CAAC,OAAO,uBAAuB,CAAC;+BAC1C,UAAU,CAAC,oBAAoB,CAAC;0BAvLvB,mBAAmB;uCASiE,aAAa;yBAHxF,aAAa;kDAEoC,kCAAkC;+BAJvF,8BAA8B;sDAIuB,kCAAkC;6CADzE,qBAAqB;4BALtC,kBAAkB;6BAGjB,cAAc;kCAJT,cAAc;gCAEgB,gCAAgC;8BAG7D,aAAa"}
|
|
@@ -56,6 +56,7 @@ declare function prepareOrchestratorKit(zone: Zone, { chainHub, makeLocalChainFa
|
|
|
56
56
|
chainId: string;
|
|
57
57
|
connections?: Record<string, IBCConnectionInfo>;
|
|
58
58
|
icqEnabled?: boolean;
|
|
59
|
+
pfmEnabled?: boolean;
|
|
59
60
|
stakingTokens?: Readonly<Array<{
|
|
60
61
|
denom: string;
|
|
61
62
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["orchestrator.js"],"names":[],"mappings":"AAiCA,0BAA0B;AAC1B;;;;GAIG;AAiJI,0CARI,IAAI,UACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;;;IAfI,+CAA+C;cAApC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;GAoBlD;;;;;+BAMY,UAAU,CAClB,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAC1C,CAAC,cAAc,CAAC;0BAnLG,mBAAmB;8BACE,gBAAgB;0CASrB,yBAAyB;2CACxB,0BAA0B;8BARlC,aAAa;2BASoC,aAAa;mCAVtC,oBAAoB;yBAC5C,aAAa;kCASoC,aAAa;4BAVtC,oBAAoB;AAuB5E;;;;;;;;GAQG;AACH,8CARW,IAAI,0FACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;IAwCE,2DAA2D;;QAEzD;;WAEG;qCADQ,gBAAgB,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["orchestrator.js"],"names":[],"mappings":"AAiCA,0BAA0B;AAC1B;;;;GAIG;AAiJI,0CARI,IAAI,UACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;;;IAfI,+CAA+C;cAApC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;GAoBlD;;;;;+BAMY,UAAU,CAClB,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAC1C,CAAC,cAAc,CAAC;0BAnLG,mBAAmB;8BACE,gBAAgB;0CASrB,yBAAyB;2CACxB,0BAA0B;8BARlC,aAAa;2BASoC,aAAa;mCAVtC,oBAAoB;yBAC5C,aAAa;kCASoC,aAAa;4BAVtC,oBAAoB;AAuB5E;;;;;;;;GAQG;AACH,8CARW,IAAI,0FACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;IAwCE,2DAA2D;;QAEzD;;WAEG;qCADQ,gBAAgB,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;IAQtC;;;OAGG;;QAED;;;;;;WAMG;0HADQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0DjB,+CAA+C;kBAApC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;;GAKlD;qCA3J2C,gBAAgB;uCAWqB,aAAa;+BAAb,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-chain-facade.d.ts","sourceRoot":"","sources":["remote-chain-facade.js"],"names":[],"mappings":"AAqQO,+CAHI,IAAI,UACJ,uBAAuB
|
|
1
|
+
{"version":3,"file":"remote-chain-facade.d.ts","sourceRoot":"","sources":["remote-chain-facade.js"],"names":[],"mappings":"AAqQO,+CAHI,IAAI,UACJ,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKjC;sCA1OY;IACR,8BAA8B,EAAE,UAAU,CAC9C,wCAA8C,CACzC,CAAC;IACF,aAAa,EAAE,OAAO,uBAAuB,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,KAAK,EAAE,OAAO,YAAY,CAAC,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB;qCAIS;IACR,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,iBAAiB,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;CAC1C;oCA6NU,UAAU,CAAC,OAAO,wBAAwB,CAAC;gCAC3C,UAAU,CAAC,qBAAqB,CAAC;0BA7PxB,mBAAmB;uCAS2D,aAAa;yBAJlF,aAAa;uDAGO,mCAAmC;6CAD7C,qBAAqB;4BAHtC,kBAAkB;kCADZ,cAAc;8BAEb,aAAa;qCAIwD,aAAa;mCAAb,aAAa"}
|
|
@@ -69,6 +69,9 @@ export interface Chain<CI extends ChainInfo> {
|
|
|
69
69
|
icqEnabled: true;
|
|
70
70
|
} ? ICQQueryFunction : CI['chainId'] extends `agoric${string}` ? QueryManyFn : never;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Used with `orch.getDenomInfo('ibc/1234')`. See {@link Orchestrator.getDenomInfo}
|
|
74
|
+
*/
|
|
72
75
|
export interface DenomInfo<HoldingChain extends keyof KnownChains, IssuingChain extends keyof KnownChains> {
|
|
73
76
|
/** The well-known Brand on Agoric for the direct asset */
|
|
74
77
|
brand?: Brand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestration-api.d.ts","sourceRoot":"","sources":["orchestration-api.ts"],"names":[],"mappings":"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"}
|
|
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
|
@@ -102,6 +102,9 @@ export interface Chain<CI extends ChainInfo> {
|
|
|
102
102
|
// TODO provide a way to get the local denom/brand/whatever for this chain
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
+
/**
|
|
106
|
+
* Used with `orch.getDenomInfo('ibc/1234')`. See {@link Orchestrator.getDenomInfo}
|
|
107
|
+
*/
|
|
105
108
|
export interface DenomInfo<
|
|
106
109
|
HoldingChain extends keyof KnownChains,
|
|
107
110
|
IssuingChain extends keyof KnownChains,
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export function startSendAnywhere({ consume: { agoricNames, board, chainStorage, chainTimerService, cosmosInterchainService, localchain, startUpgradable, }, installation: { consume: { sendAnywhere }, }, instance: { produce: { sendAnywhere: produceInstance }, }, issuer: { consume: { IST }, }, }: BootstrapPowers & {
|
|
2
|
+
installation: {
|
|
3
|
+
consume: {
|
|
4
|
+
sendAnywhere: Installation<(zcf: ZCF<Record<string, unknown>>, privateArgs: import("@agoric/orchestration").OrchestrationPowers & {
|
|
5
|
+
marshaller: Marshaller;
|
|
6
|
+
chainInfo?: Record<string, Readonly<{
|
|
7
|
+
bech32Prefix?: string;
|
|
8
|
+
chainId: string;
|
|
9
|
+
connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
|
|
10
|
+
icqEnabled?: boolean;
|
|
11
|
+
pfmEnabled?: boolean;
|
|
12
|
+
stakingTokens?: Readonly<Array<{
|
|
13
|
+
denom: string;
|
|
14
|
+
}>>;
|
|
15
|
+
}>>;
|
|
16
|
+
assetInfo?: Record<Denom, DenomDetail & {
|
|
17
|
+
brandKey?: string;
|
|
18
|
+
}>;
|
|
19
|
+
}, baggage: import("@agoric/vat-data").Baggage) => Promise<{
|
|
20
|
+
publicFacet: import("@endo/exo").Guarded<{
|
|
21
|
+
makeSendInvitation(): Promise<Invitation<import("@agoric/vow").Vow<void>, {
|
|
22
|
+
chainName: string;
|
|
23
|
+
destAddr: string;
|
|
24
|
+
}>>;
|
|
25
|
+
}>;
|
|
26
|
+
creatorFacet: import("@endo/exo").Guarded<{
|
|
27
|
+
registerChain(chainName: string, chainInfo: Readonly<{
|
|
28
|
+
bech32Prefix?: string;
|
|
29
|
+
chainId: string;
|
|
30
|
+
connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
|
|
31
|
+
icqEnabled?: boolean;
|
|
32
|
+
pfmEnabled?: boolean;
|
|
33
|
+
stakingTokens?: Readonly<Array<{
|
|
34
|
+
denom: string;
|
|
35
|
+
}>>;
|
|
36
|
+
}>, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
|
|
37
|
+
registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
|
|
38
|
+
}>;
|
|
39
|
+
}>>;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
}, { options: { chainInfo, assetInfo } }: {
|
|
43
|
+
options: {
|
|
44
|
+
chainInfo: Record<string, CosmosChainInfo>;
|
|
45
|
+
assetInfo: Record<Denom, DenomDetail & {
|
|
46
|
+
brandKey?: string;
|
|
47
|
+
}>;
|
|
48
|
+
};
|
|
49
|
+
}): Promise<void>;
|
|
50
|
+
export function getManifest({ restoreRef }: {
|
|
51
|
+
restoreRef: any;
|
|
52
|
+
}, { installationRef, options }: {
|
|
53
|
+
installationRef: any;
|
|
54
|
+
options: any;
|
|
55
|
+
}): {
|
|
56
|
+
manifest: {
|
|
57
|
+
[x: string]: {
|
|
58
|
+
consume: {
|
|
59
|
+
agoricNames: boolean;
|
|
60
|
+
board: boolean;
|
|
61
|
+
chainStorage: boolean;
|
|
62
|
+
chainTimerService: boolean;
|
|
63
|
+
cosmosInterchainService: boolean;
|
|
64
|
+
localchain: boolean;
|
|
65
|
+
startUpgradable: boolean;
|
|
66
|
+
};
|
|
67
|
+
installation: {
|
|
68
|
+
consume: {
|
|
69
|
+
sendAnywhere: boolean;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
instance: {
|
|
73
|
+
produce: {
|
|
74
|
+
sendAnywhere: boolean;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
issuer: {
|
|
78
|
+
consume: {
|
|
79
|
+
IST: boolean;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
installations: {
|
|
85
|
+
sendAnywhere: any;
|
|
86
|
+
};
|
|
87
|
+
options: any;
|
|
88
|
+
};
|
|
89
|
+
import type { Denom } from '@agoric/orchestration';
|
|
90
|
+
import type { DenomDetail } from '@agoric/orchestration';
|
|
91
|
+
import type { Installation } from '@agoric/zoe/src/zoeService/utils.js';
|
|
92
|
+
import type { CosmosChainInfo } from '@agoric/orchestration';
|
|
93
|
+
//# sourceMappingURL=start-send-anywhere.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-send-anywhere.d.ts","sourceRoot":"","sources":["start-send-anywhere.js"],"names":[],"mappings":"AAkCO,wSAdI,eAAe,GAAG;IACxB,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,YAAY,EAAE;;;;;;;;;;;;;4BA2BQ,CAAA;;;;;;;;;;;;;;;;;;;;;;eA3Ba,CAAC;SACrC,CAAC;KACH,CAAC;CACH,yCACO;IACN,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/D,CAAC;CACH,iBAqDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BN;2BA5GqD,uBAAuB;iCAAvB,uBAAuB;kCAD9C,qCAAqC;qCACd,uBAAuB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deeplyFulfilledObject,
|
|
3
|
+
makeTracer,
|
|
4
|
+
NonNullish,
|
|
5
|
+
} from '@agoric/internal';
|
|
6
|
+
import { E } from '@endo/far';
|
|
7
|
+
|
|
8
|
+
/// <reference types="@agoric/vats/src/core/types-ambient"/>
|
|
9
|
+
/**
|
|
10
|
+
* @import {Installation} from '@agoric/zoe/src/zoeService/utils.js';
|
|
11
|
+
* @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const trace = makeTracer('StartSA', true);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @import {start as StartFn} from '@agoric/orchestration/src/examples/send-anywhere.contract.js';
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @param {BootstrapPowers & {
|
|
22
|
+
* installation: {
|
|
23
|
+
* consume: {
|
|
24
|
+
* sendAnywhere: Installation<StartFn>;
|
|
25
|
+
* };
|
|
26
|
+
* };
|
|
27
|
+
* }} powers
|
|
28
|
+
* @param {{
|
|
29
|
+
* options: {
|
|
30
|
+
* chainInfo: Record<string, CosmosChainInfo>;
|
|
31
|
+
* assetInfo: Record<Denom, DenomDetail & { brandKey?: string }>;
|
|
32
|
+
* };
|
|
33
|
+
* }} config
|
|
34
|
+
*/
|
|
35
|
+
export const startSendAnywhere = async (
|
|
36
|
+
{
|
|
37
|
+
consume: {
|
|
38
|
+
agoricNames,
|
|
39
|
+
board,
|
|
40
|
+
chainStorage,
|
|
41
|
+
chainTimerService,
|
|
42
|
+
cosmosInterchainService,
|
|
43
|
+
localchain,
|
|
44
|
+
startUpgradable,
|
|
45
|
+
},
|
|
46
|
+
installation: {
|
|
47
|
+
consume: { sendAnywhere },
|
|
48
|
+
},
|
|
49
|
+
instance: {
|
|
50
|
+
// @ts-expect-error unknown instance
|
|
51
|
+
produce: { sendAnywhere: produceInstance },
|
|
52
|
+
},
|
|
53
|
+
issuer: {
|
|
54
|
+
consume: { IST },
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{ options: { chainInfo, assetInfo } },
|
|
58
|
+
) => {
|
|
59
|
+
trace(startSendAnywhere.name);
|
|
60
|
+
|
|
61
|
+
const marshaller = await E(board).getReadonlyMarshaller();
|
|
62
|
+
|
|
63
|
+
const privateArgs = await deeplyFulfilledObject(
|
|
64
|
+
harden({
|
|
65
|
+
agoricNames,
|
|
66
|
+
localchain,
|
|
67
|
+
marshaller,
|
|
68
|
+
orchestrationService: cosmosInterchainService,
|
|
69
|
+
storageNode: E(NonNullish(await chainStorage)).makeChildNode(
|
|
70
|
+
'send-anywhere',
|
|
71
|
+
),
|
|
72
|
+
timerService: chainTimerService,
|
|
73
|
+
chainInfo,
|
|
74
|
+
assetInfo,
|
|
75
|
+
}),
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
const { instance } = await E(startUpgradable)({
|
|
79
|
+
label: 'send-anywhere',
|
|
80
|
+
installation: sendAnywhere,
|
|
81
|
+
issuerKeywordRecord: { Stable: await IST },
|
|
82
|
+
privateArgs,
|
|
83
|
+
});
|
|
84
|
+
produceInstance.resolve(instance);
|
|
85
|
+
trace('done');
|
|
86
|
+
};
|
|
87
|
+
harden(startSendAnywhere);
|
|
88
|
+
|
|
89
|
+
export const getManifest = ({ restoreRef }, { installationRef, options }) => {
|
|
90
|
+
return {
|
|
91
|
+
manifest: {
|
|
92
|
+
[startSendAnywhere.name]: {
|
|
93
|
+
consume: {
|
|
94
|
+
agoricNames: true,
|
|
95
|
+
board: true,
|
|
96
|
+
chainStorage: true,
|
|
97
|
+
chainTimerService: true,
|
|
98
|
+
cosmosInterchainService: true,
|
|
99
|
+
localchain: true,
|
|
100
|
+
|
|
101
|
+
startUpgradable: true,
|
|
102
|
+
},
|
|
103
|
+
installation: {
|
|
104
|
+
consume: { sendAnywhere: true },
|
|
105
|
+
},
|
|
106
|
+
instance: {
|
|
107
|
+
produce: { sendAnywhere: true },
|
|
108
|
+
},
|
|
109
|
+
issuer: {
|
|
110
|
+
consume: { IST: true },
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
installations: {
|
|
115
|
+
sendAnywhere: restoreRef(installationRef),
|
|
116
|
+
},
|
|
117
|
+
options,
|
|
118
|
+
};
|
|
119
|
+
};
|
package/src/typeGuards.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
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 {TypedJson} from '@agoric/cosmic-proto';
|
|
7
|
+
* @import {DenomDetail} from './exos/chain-hub.js';
|
|
7
8
|
*/
|
|
8
9
|
/**
|
|
9
10
|
* Used for IBC Channel Connections that only send outgoing transactions. If
|
|
@@ -37,6 +38,8 @@ export const ChainInfoShape: TypedPattern<ChainInfo>;
|
|
|
37
38
|
export const DenomShape: import("@endo/patterns").Matcher;
|
|
38
39
|
/** @type {TypedPattern<DenomInfo<any, any>>} */
|
|
39
40
|
export const DenomInfoShape: TypedPattern<DenomInfo<any, any>>;
|
|
41
|
+
/** @type {TypedPattern<DenomDetail>} */
|
|
42
|
+
export const DenomDetailShape: TypedPattern<DenomDetail>;
|
|
40
43
|
/** @type {TypedPattern<DenomAmount>} */
|
|
41
44
|
export const DenomAmountShape: TypedPattern<DenomAmount>;
|
|
42
45
|
/** @type {TypedPattern<Amount<'nat'>>} */
|
|
@@ -85,6 +88,7 @@ import type { CosmosAssetInfo } from './types.js';
|
|
|
85
88
|
import type { CosmosChainInfo } from './types.js';
|
|
86
89
|
import type { ChainInfo } from './types.js';
|
|
87
90
|
import type { DenomInfo } from './types.js';
|
|
91
|
+
import type { DenomDetail } from './exos/chain-hub.js';
|
|
88
92
|
import type { DenomAmount } from './types.js';
|
|
89
93
|
import type { AmountArg } from './types.js';
|
|
90
94
|
import type { CosmosValidatorAddress } from './types.js';
|
package/src/typeGuards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["typeGuards.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["typeGuards.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;;;;GAIG;AACH;;;GAQE;AAEF,yCAAyC;AACzC,gCADW,aAAa,YAAY,CAAC,CAKnC;AAGF,sCAAsC;AACtC,0BADW,aAAa,SAAS,CAAC,CACoC;AAGtE,gBAAgB;AAChB,uEAUE;AAEF,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;AAEH,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CAatC;AAEF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CAG/B;AACH,0DAAqC;AAErC,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;kCAjNiK,YAAY;kCADhJ,kBAAkB;sCAEd,6CAA6C;qCADmF,YAAY;qCAAZ,YAAY;+BAAZ,YAAY;+BAAZ,YAAY;iCAIjJ,qBAAqB;iCAJgH,YAAY;+BAAZ,YAAY;4CAAZ,YAAY;+BAGnJ,sBAAsB;yCAHiH,YAAY"}
|
package/src/typeGuards.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BrandShape } from '@agoric/ertp/src/typeGuards.js';
|
|
1
2
|
import { VowShape } from '@agoric/vow';
|
|
2
3
|
import { M } from '@endo/patterns';
|
|
3
4
|
|
|
@@ -7,6 +8,7 @@ import { M } from '@endo/patterns';
|
|
|
7
8
|
* @import {Any as Proto3Msg} from '@agoric/cosmic-proto/google/protobuf/any.js';
|
|
8
9
|
* @import {TxBody} from '@agoric/cosmic-proto/cosmos/tx/v1beta1/tx.js';
|
|
9
10
|
* @import {TypedJson} from '@agoric/cosmic-proto';
|
|
11
|
+
* @import {DenomDetail} from './exos/chain-hub.js';
|
|
10
12
|
*/
|
|
11
13
|
|
|
12
14
|
/**
|
|
@@ -100,6 +102,7 @@ export const CosmosChainInfoShape = M.splitRecord(
|
|
|
100
102
|
stakingTokens: M.arrayOf({ denom: M.string() }),
|
|
101
103
|
// UNTIL https://github.com/Agoric/agoric-sdk/issues/9326
|
|
102
104
|
icqEnabled: M.boolean(),
|
|
105
|
+
pfmEnabled: M.boolean(),
|
|
103
106
|
},
|
|
104
107
|
);
|
|
105
108
|
|
|
@@ -118,6 +121,13 @@ export const DenomInfoShape = {
|
|
|
118
121
|
};
|
|
119
122
|
harden(DenomInfoShape);
|
|
120
123
|
|
|
124
|
+
/** @type {TypedPattern<DenomDetail>} */
|
|
125
|
+
export const DenomDetailShape = M.splitRecord(
|
|
126
|
+
{ chainName: M.string(), baseName: M.string(), baseDenom: M.string() },
|
|
127
|
+
{ brand: BrandShape },
|
|
128
|
+
);
|
|
129
|
+
harden(DenomDetailShape);
|
|
130
|
+
|
|
121
131
|
/** @type {TypedPattern<DenomAmount>} */
|
|
122
132
|
export const DenomAmountShape = { denom: DenomShape, value: M.nat() };
|
|
123
133
|
harden(DenomAmountShape);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function registerChainsAndAssets(chainHub: ChainHub, brands: Record<string, Brand<"nat">>, chainInfo: Record<string, CosmosChainInfo> | undefined, assetInfo: Record<Denom, DenomDetail & {
|
|
2
|
+
brandKey?: string;
|
|
3
|
+
}> | undefined): void;
|
|
4
|
+
import type { ChainHub } from '../types.js';
|
|
5
|
+
import type { CosmosChainInfo } from '../types.js';
|
|
6
|
+
import type { Denom } from '../types.js';
|
|
7
|
+
import type { DenomDetail } from '../types.js';
|
|
8
|
+
//# sourceMappingURL=chain-hub-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-hub-helper.d.ts","sourceRoot":"","sources":["chain-hub-helper.js"],"names":[],"mappings":"AAcO,kDALI,QAAQ,UACR,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,aAC5B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,aAC3C,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,QAwCxE;8BAnD+D,aAAa;qCAAb,aAAa;2BAAb,aAAa;iCAAb,aAAa"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import {ChainHub, CosmosChainInfo, Denom, DenomDetail} from '../types.js';
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Registers chains, connections, assets in the provided chainHub.
|
|
7
|
+
*
|
|
8
|
+
* If either is not provided, registration will be skipped.
|
|
9
|
+
*
|
|
10
|
+
* @param {ChainHub} chainHub
|
|
11
|
+
* @param {Record<string, Brand<'nat'>>} brands
|
|
12
|
+
* @param {Record<string, CosmosChainInfo> | undefined} chainInfo
|
|
13
|
+
* @param {Record<Denom, DenomDetail & { brandKey?: string }> | undefined} assetInfo
|
|
14
|
+
*/
|
|
15
|
+
export const registerChainsAndAssets = (
|
|
16
|
+
chainHub,
|
|
17
|
+
brands,
|
|
18
|
+
chainInfo,
|
|
19
|
+
assetInfo,
|
|
20
|
+
) => {
|
|
21
|
+
if (!chainInfo) {
|
|
22
|
+
console.log('No chain info provided, returning early.');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const conns = {};
|
|
27
|
+
for (const [chainName, allInfo] of Object.entries(chainInfo)) {
|
|
28
|
+
const { connections, ...info } = allInfo;
|
|
29
|
+
chainHub.registerChain(chainName, info);
|
|
30
|
+
conns[info.chainId] = connections;
|
|
31
|
+
}
|
|
32
|
+
const registeredPairs = new Set();
|
|
33
|
+
for (const [pChainId, connInfos] of Object.entries(conns)) {
|
|
34
|
+
for (const [cChainId, connInfo] of Object.entries(connInfos)) {
|
|
35
|
+
const pair = [pChainId, cChainId].sort().join('');
|
|
36
|
+
if (!registeredPairs.has(pair)) {
|
|
37
|
+
chainHub.registerConnection(pChainId, cChainId, connInfo);
|
|
38
|
+
registeredPairs.add(pair);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (!assetInfo) {
|
|
44
|
+
console.log('No asset info provided, returning early.');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
for (const [denom, info] of Object.entries(assetInfo)) {
|
|
48
|
+
const infoWithBrand = info.brandKey
|
|
49
|
+
? { ...info, brand: brands[info.brandKey] }
|
|
50
|
+
: info;
|
|
51
|
+
chainHub.registerAsset(denom, infoWithBrand);
|
|
52
|
+
}
|
|
53
|
+
};
|
package/src/utils/registry.d.ts
CHANGED
|
@@ -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;;;;;;;;;;;GA8CzD;yCAvHqC,wBAAwB;uCACT,kBAAkB"}
|
|
@@ -5,6 +5,7 @@ export function provideOrchestration(zcf: ZCF, baggage: Baggage, remotePowers: O
|
|
|
5
5
|
[durableName: string]: import("../orchestration-api.js").OrchestrationFlow<import("@agoric/async-flow").GuestInterface<HC>>;
|
|
6
6
|
}>(guestFns: GFM, hostCtx: HC) => { [N in keyof GFM]: HostForGuest<GFM[N]>; };
|
|
7
7
|
};
|
|
8
|
+
baggage: Baggage;
|
|
8
9
|
chainHub: import("@endo/exo").Guarded<{
|
|
9
10
|
registerChain(name: string, chainInfo: import("../cosmos-api.js").CosmosChainInfo): void;
|
|
10
11
|
getChainInfo<K extends string>(chainName: K): import("@agoric/vow").Vow<ActualChainInfo<K>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-helper.d.ts","sourceRoot":"","sources":["start-helper.js"],"names":[],"mappings":"AA8CO,0CANI,GAAG,WACH,OAAO,gBACP,mBAAmB,cACnB,UAAU;+BAiGR,IAAI
|
|
1
|
+
{"version":3,"file":"start-helper.d.ts","sourceRoot":"","sources":["start-helper.js"],"names":[],"mappings":"AA8CO,0CANI,GAAG,WACH,OAAO,gBACP,mBAAmB,cACnB,UAAU;+BAiGR,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;sBA/BS,CAAC;;;;;;;;;;;;;;;;;;;;;sBA0G09Y,CAAC;;;;;;;;;;;;;;;;;;;;EAzCr/Y;AA8BM,kCAdgC,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,GACL,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAYzE;kCA5LU;IACR,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,oBAAoB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IACtD,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,YAAY,EAAE,OAAO,YAAY,CAAC,CAAC;IACnC,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;CAC9B;iCAkJU,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,CAAC;6BAhKzC,kBAAkB;0BAGrB,cAAc;gCALR,gCAAgC;4BAIpC,aAAa;6CAEI,2BAA2B;kCAL1B,cAAc;6BAE/B,cAAc"}
|