@agoric/orchestration 0.1.1-dev-90906b1.0 → 0.1.1-dev-4202f3e.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.
Files changed (38) hide show
  1. package/package.json +15 -15
  2. package/src/cosmos-api.d.ts +38 -17
  3. package/src/cosmos-api.d.ts.map +1 -1
  4. package/src/cosmos-api.ts +40 -14
  5. package/src/examples/stakeAtom.contract.d.ts.map +1 -1
  6. package/src/examples/stakeAtom.contract.js +9 -6
  7. package/src/examples/stakeBld.contract.d.ts +66 -6
  8. package/src/examples/stakeBld.contract.d.ts.map +1 -1
  9. package/src/examples/stakeBld.contract.js +80 -39
  10. package/src/examples/swapExample.contract.d.ts.map +1 -1
  11. package/src/examples/swapExample.contract.js +1 -0
  12. package/src/exos/chainAccountKit.d.ts.map +1 -1
  13. package/src/exos/chainAccountKit.js +0 -1
  14. package/src/exos/local-chain-account-kit.d.ts +97 -0
  15. package/src/exos/local-chain-account-kit.d.ts.map +1 -0
  16. package/src/exos/local-chain-account-kit.js +253 -0
  17. package/src/facade.d.ts +1 -1
  18. package/src/facade.d.ts.map +1 -1
  19. package/src/facade.js +1 -1
  20. package/src/orchestration-api.d.ts +5 -5
  21. package/src/orchestration-api.d.ts.map +1 -1
  22. package/src/orchestration-api.ts +5 -5
  23. package/src/proposals/start-stakeAtom.d.ts.map +1 -1
  24. package/src/proposals/start-stakeBld.d.ts +92 -10
  25. package/src/proposals/start-stakeBld.d.ts.map +1 -1
  26. package/src/proposals/start-stakeBld.js +16 -3
  27. package/src/typeGuards.d.ts +1 -0
  28. package/src/typeGuards.d.ts.map +1 -1
  29. package/src/typeGuards.js +12 -1
  30. package/src/utils/mockChainInfo.d.ts +4 -0
  31. package/src/utils/mockChainInfo.d.ts.map +1 -0
  32. package/src/utils/mockChainInfo.js +86 -0
  33. package/src/utils/time.d.ts +25 -0
  34. package/src/utils/time.d.ts.map +1 -0
  35. package/src/utils/time.js +38 -0
  36. package/src/exos/localchainAccountKit.d.ts +0 -62
  37. package/src/exos/localchainAccountKit.d.ts.map +0 -1
  38. package/src/exos/localchainAccountKit.js +0 -155
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/orchestration",
3
- "version": "0.1.1-dev-90906b1.0+90906b1",
3
+ "version": "0.1.1-dev-4202f3e.0+4202f3e",
4
4
  "description": "Chain abstraction for Agoric's orchestration clients",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -31,19 +31,19 @@
31
31
  },
32
32
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
33
33
  "dependencies": {
34
- "@agoric/assert": "0.6.1-dev-90906b1.0+90906b1",
35
- "@agoric/cosmic-proto": "0.4.1-dev-90906b1.0+90906b1",
36
- "@agoric/ertp": "0.16.3-dev-90906b1.0+90906b1",
37
- "@agoric/internal": "0.3.3-dev-90906b1.0+90906b1",
38
- "@agoric/network": "0.1.1-dev-90906b1.0+90906b1",
39
- "@agoric/notifier": "0.6.3-dev-90906b1.0+90906b1",
40
- "@agoric/store": "0.9.3-dev-90906b1.0+90906b1",
41
- "@agoric/time": "0.3.3-dev-90906b1.0+90906b1",
42
- "@agoric/vat-data": "0.5.3-dev-90906b1.0+90906b1",
43
- "@agoric/vats": "0.15.2-dev-90906b1.0+90906b1",
44
- "@agoric/vow": "0.1.1-dev-90906b1.0+90906b1",
45
- "@agoric/zoe": "0.26.3-dev-90906b1.0+90906b1",
46
- "@agoric/zone": "0.2.3-dev-90906b1.0+90906b1",
34
+ "@agoric/assert": "0.6.1-dev-4202f3e.0+4202f3e",
35
+ "@agoric/cosmic-proto": "0.4.1-dev-4202f3e.0+4202f3e",
36
+ "@agoric/ertp": "0.16.3-dev-4202f3e.0+4202f3e",
37
+ "@agoric/internal": "0.3.3-dev-4202f3e.0+4202f3e",
38
+ "@agoric/network": "0.1.1-dev-4202f3e.0+4202f3e",
39
+ "@agoric/notifier": "0.6.3-dev-4202f3e.0+4202f3e",
40
+ "@agoric/store": "0.9.3-dev-4202f3e.0+4202f3e",
41
+ "@agoric/time": "0.3.3-dev-4202f3e.0+4202f3e",
42
+ "@agoric/vat-data": "0.5.3-dev-4202f3e.0+4202f3e",
43
+ "@agoric/vats": "0.15.2-dev-4202f3e.0+4202f3e",
44
+ "@agoric/vow": "0.1.1-dev-4202f3e.0+4202f3e",
45
+ "@agoric/zoe": "0.26.3-dev-4202f3e.0+4202f3e",
46
+ "@agoric/zone": "0.2.3-dev-4202f3e.0+4202f3e",
47
47
  "@endo/base64": "^1.0.5",
48
48
  "@endo/far": "^1.1.2",
49
49
  "@endo/marshal": "^1.5.0",
@@ -85,5 +85,5 @@
85
85
  "typeCoverage": {
86
86
  "atLeast": 97.38
87
87
  },
88
- "gitHead": "90906b18157a86d7f5ce5aea4eaa1508360ade1a"
88
+ "gitHead": "4202f3e330bdc7b185643d0b74939dd0392af390"
89
89
  }
@@ -4,6 +4,11 @@ import type { TxBody } from '@agoric/cosmic-proto/cosmos/tx/v1beta1/tx.js';
4
4
  import type { Brand, Payment, Purse } from '@agoric/ertp/src/types.js';
5
5
  import type { Port } from '@agoric/network';
6
6
  import type { LocalIbcAddress, RemoteIbcAddress } from '@agoric/vats/tools/ibc-utils.js';
7
+ import { MsgTransfer } from '@agoric/cosmic-proto/ibc/applications/transfer/v1/tx.js';
8
+ import type { State as IBCConnectionState } from '@agoric/cosmic-proto/ibc/core/connection/v1/connection.js';
9
+ import type { Order, State as IBCChannelState } from '@agoric/cosmic-proto/ibc/core/channel/v1/channel.js';
10
+ import { IBCChannelID, IBCConnectionID } from '@agoric/vats';
11
+ import { MapStore } from '@agoric/store';
7
12
  import type { AmountArg, ChainAddress, DenomAmount } from './types.js';
8
13
  /** A helper type for type extensions. */
9
14
  export type TypeUrl = string;
@@ -16,28 +21,39 @@ export type CosmosValidatorAddress = ChainAddress & {
16
21
  address: `${string}valoper${string}`;
17
22
  addressEncoding: 'bech32';
18
23
  };
24
+ /** Represents an IBC Connection between two chains, which can contain multiple Channels. */
25
+ export type IBCConnectionInfo = {
26
+ id: IBCConnectionID;
27
+ client_id: string;
28
+ state: IBCConnectionState;
29
+ counterparty: {
30
+ client_id: string;
31
+ connection_id: IBCConnectionID;
32
+ prefix: {
33
+ key_prefix: string;
34
+ };
35
+ };
36
+ versions: {
37
+ identifier: string;
38
+ features: string[];
39
+ }[];
40
+ delay_period: bigint;
41
+ transferChannel: {
42
+ portId: string;
43
+ channelId: IBCChannelID;
44
+ counterPartyPortId: string;
45
+ counterPartyChannelId: IBCChannelID;
46
+ ordering: Order;
47
+ state: IBCChannelState;
48
+ version: string;
49
+ };
50
+ };
19
51
  /**
20
52
  * Info for a Cosmos-based chain.
21
53
  */
22
54
  export type CosmosChainInfo = {
23
55
  chainId: string;
24
- ibcConnectionInfo: {
25
- id: string;
26
- client_id: string;
27
- state: 'OPEN' | 'TRYOPEN' | 'INIT' | 'CLOSED';
28
- counterparty: {
29
- client_id: string;
30
- connection_id: string;
31
- prefix: {
32
- key_prefix: string;
33
- };
34
- };
35
- versions: {
36
- identifier: string;
37
- features: string[];
38
- }[];
39
- delay_period: bigint;
40
- };
56
+ connections: MapStore<string, IBCConnectionInfo>;
41
57
  icaEnabled: boolean;
42
58
  icqEnabled: boolean;
43
59
  pfmEnabled: boolean;
@@ -156,4 +172,9 @@ export interface IcaAccount {
156
172
  export type LiquidStakingMethods = {
157
173
  liquidStake: (amount: AmountArg) => Promise<void>;
158
174
  };
175
+ export type IBCMsgTransferOptions = {
176
+ timeoutHeight?: MsgTransfer['timeoutHeight'];
177
+ timeoutTimestamp?: MsgTransfer['timeoutTimestamp'];
178
+ memo?: string;
179
+ };
159
180
  //# sourceMappingURL=cosmos-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos-api.d.ts","sourceRoot":"","sources":["cosmos-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACpB,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvE,yCAAyC;AACzC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAG7B,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAElD,OAAO,EAAE,GAAG,MAAM,UAAU,MAAM,EAAE,CAAC;IACrC,eAAe,EAAE,QAAQ,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;QAC9C,YAAY,EAAE;YACZ,SAAS,EAAE,MAAM,CAAC;YAClB,aAAa,EAAE,MAAM,CAAC;YACtB,MAAM,EAAE;gBACN,UAAU,EAAE,MAAM,CAAC;aACpB,CAAC;SACH,CAAC;QACF,QAAQ,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAC;QACvD,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,cAAc,EAAE,OAAO,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE5C;;;OAGG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1E;;OAEG;IACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE9D;;OAEG;IACH,sBAAsB,EAAE,CACtB,SAAS,EAAE,sBAAsB,KAC9B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC,gBAAgB,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD,eAAe,EAAE,CACf,YAAY,EAAE,sBAAsB,EACpC,YAAY,CAAC,EAAE,sBAAsB,KAClC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3B;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzC;;;;OAIG;IACH,SAAS,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC1E;AACD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,EAAE,CACR,SAAS,EAAE,sBAAsB,EACjC,MAAM,EAAE,SAAS,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;;;OAOG;IACH,UAAU,EAAE,CACV,YAAY,EAAE,sBAAsB,EACpC,YAAY,EAAE,sBAAsB,EACpC,MAAM,EAAE,SAAS,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;OAGG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE9C;;;;OAIG;IACH,cAAc,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC/E;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,UAAU,EAAE,MAAM,YAAY,CAAC;IAE/B;;;;OAIG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD;;;;;OAKG;IACH,gBAAgB,EAAE,CAChB,IAAI,EAAE,OAAO,EAAE,EACf,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,6CAA6C;IAC7C,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,sEAAsE;IACtE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C;;OAEG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;IACzC,gDAAgD;IAChD,eAAe,EAAE,MAAM,eAAe,CAAC;IACvC,oDAAoD;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD,CAAC"}
1
+ {"version":3,"file":"cosmos-api.d.ts","sourceRoot":"","sources":["cosmos-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACpB,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,IAAI,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC7G,OAAO,KAAK,EACV,KAAK,EACL,KAAK,IAAI,eAAe,EACzB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvE,yCAAyC;AACzC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAG7B,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAElD,OAAO,EAAE,GAAG,MAAM,UAAU,MAAM,EAAE,CAAC;IACrC,eAAe,EAAE,QAAQ,CAAC;CAC3B,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,eAAe,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,eAAe,CAAC;QAC/B,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,YAAY,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB,EAAE,YAAY,CAAC;QACpC,QAAQ,EAAE,KAAK,CAAC;QAChB,KAAK,EAAE,eAAe,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACjD,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,cAAc,EAAE,OAAO,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE5C;;;OAGG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1E;;OAEG;IACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE9D;;OAEG;IACH,sBAAsB,EAAE,CACtB,SAAS,EAAE,sBAAsB,KAC9B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC,gBAAgB,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD,eAAe,EAAE,CACf,YAAY,EAAE,sBAAsB,EACpC,YAAY,CAAC,EAAE,sBAAsB,KAClC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3B;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzC;;;;OAIG;IACH,SAAS,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC1E;AACD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,EAAE,CACR,SAAS,EAAE,sBAAsB,EACjC,MAAM,EAAE,SAAS,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;;;OAOG;IACH,UAAU,EAAE,CACV,YAAY,EAAE,sBAAsB,EACpC,YAAY,EAAE,sBAAsB,EACpC,MAAM,EAAE,SAAS,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;OAGG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE9C;;;;OAIG;IACH,cAAc,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC/E;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,UAAU,EAAE,MAAM,YAAY,CAAC;IAE/B;;;;OAIG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD;;;;;OAKG;IACH,gBAAgB,EAAE,CAChB,IAAI,EAAE,OAAO,EAAE,EACf,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,6CAA6C;IAC7C,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,sEAAsE;IACtE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C;;OAEG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;IACzC,gDAAgD;IAChD,eAAe,EAAE,MAAM,eAAe,CAAC;IACvC,oDAAoD;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC"}
package/src/cosmos-api.ts CHANGED
@@ -11,6 +11,14 @@ import type {
11
11
  LocalIbcAddress,
12
12
  RemoteIbcAddress,
13
13
  } from '@agoric/vats/tools/ibc-utils.js';
14
+ import { MsgTransfer } from '@agoric/cosmic-proto/ibc/applications/transfer/v1/tx.js';
15
+ import type { State as IBCConnectionState } from '@agoric/cosmic-proto/ibc/core/connection/v1/connection.js';
16
+ import type {
17
+ Order,
18
+ State as IBCChannelState,
19
+ } from '@agoric/cosmic-proto/ibc/core/channel/v1/channel.js';
20
+ import { IBCChannelID, IBCConnectionID } from '@agoric/vats';
21
+ import { MapStore } from '@agoric/store';
14
22
  import type { AmountArg, ChainAddress, DenomAmount } from './types.js';
15
23
 
16
24
  /** A helper type for type extensions. */
@@ -29,25 +37,37 @@ export type CosmosValidatorAddress = ChainAddress & {
29
37
  addressEncoding: 'bech32';
30
38
  };
31
39
 
40
+ /** Represents an IBC Connection between two chains, which can contain multiple Channels. */
41
+ export type IBCConnectionInfo = {
42
+ id: IBCConnectionID; // e.g. connection-0
43
+ client_id: string; // '07-tendermint-0'
44
+ state: IBCConnectionState;
45
+ counterparty: {
46
+ client_id: string;
47
+ connection_id: IBCConnectionID;
48
+ prefix: {
49
+ key_prefix: string;
50
+ };
51
+ };
52
+ versions: { identifier: string; features: string[] }[];
53
+ delay_period: bigint;
54
+ transferChannel: {
55
+ portId: string;
56
+ channelId: IBCChannelID;
57
+ counterPartyPortId: string;
58
+ counterPartyChannelId: IBCChannelID;
59
+ ordering: Order;
60
+ state: IBCChannelState;
61
+ version: string; // e.eg. 'ics20-1'
62
+ };
63
+ };
64
+
32
65
  /**
33
66
  * Info for a Cosmos-based chain.
34
67
  */
35
68
  export type CosmosChainInfo = {
36
69
  chainId: string;
37
- ibcConnectionInfo: {
38
- id: string; // e.g. connection-0
39
- client_id: string; // '07-tendermint-0'
40
- state: 'OPEN' | 'TRYOPEN' | 'INIT' | 'CLOSED';
41
- counterparty: {
42
- client_id: string;
43
- connection_id: string;
44
- prefix: {
45
- key_prefix: string;
46
- };
47
- };
48
- versions: { identifier: string; features: string[] }[];
49
- delay_period: bigint;
50
- };
70
+ connections: MapStore<string, IBCConnectionInfo>; // chainId or wellKnownName
51
71
  icaEnabled: boolean;
52
72
  icqEnabled: boolean;
53
73
  pfmEnabled: boolean;
@@ -197,3 +217,9 @@ export interface IcaAccount {
197
217
  export type LiquidStakingMethods = {
198
218
  liquidStake: (amount: AmountArg) => Promise<void>;
199
219
  };
220
+
221
+ export type IBCMsgTransferOptions = {
222
+ timeoutHeight?: MsgTransfer['timeoutHeight'];
223
+ timeoutTimestamp?: MsgTransfer['timeoutTimestamp'];
224
+ memo?: string;
225
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"stakeAtom.contract.d.ts","sourceRoot":"","sources":["stakeAtom.contract.js"],"names":[],"mappings":";;;;;;;;;AA+CO,2BATI,GAAG,CAAC,cAAc,CAAC;;;;;;;;;iBAGb,WAAW;gBACZ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FAgFooH,OAAO,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GAH1qH;;;;eAvFc,MAAM;;0BAyFP,OAAO,KAAK;iCAtHmB,kBAAkB;kCAW9B,cAAc;6BAFnB,kBAAkB"}
1
+ {"version":3,"file":"stakeAtom.contract.d.ts","sourceRoot":"","sources":["stakeAtom.contract.js"],"names":[],"mappings":";;;;;;;;;AAiDO,2BATI,GAAG,CAAC,cAAc,CAAC;;;;;;;;;iBAGb,WAAW;gBACZ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FAiFqiH,OAAO,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GAH3kH;;;;eAxFc,MAAM;;0BA0FP,OAAO,KAAK;iCAxHmB,kBAAkB;kCAY9B,cAAc;6BAFnB,kBAAkB"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * @file Example contract that uses orchestration
3
3
  */
4
+
4
5
  import { makeTracer, StorageNodeShape } from '@agoric/internal';
5
- import { makeDurableZone } from '@agoric/zone/durable.js';
6
6
  import { V as E } from '@agoric/vow/vat.js';
7
- import { M } from '@endo/patterns';
8
7
  import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport';
8
+ import { InvitationShape } from '@agoric/zoe/src/typeGuards.js';
9
+ import { makeDurableZone } from '@agoric/zone/durable.js';
10
+ import { M } from '@endo/patterns';
9
11
  import { prepareStakingAccountKit } from '../exos/stakingAccountKit.js';
10
12
 
11
13
  const trace = makeTracer('StakeAtom');
@@ -61,7 +63,7 @@ export const start = async (zcf, privateArgs, baggage) => {
61
63
  zcf,
62
64
  );
63
65
 
64
- async function makeAccount() {
66
+ async function makeAccountKit() {
65
67
  const account = await E(orchestration).makeAccount(
66
68
  hostConnectionId,
67
69
  controllerConnectionId,
@@ -94,19 +96,20 @@ export const start = async (zcf, privateArgs, baggage) => {
94
96
  'StakeAtom',
95
97
  M.interface('StakeAtomI', {
96
98
  makeAccount: M.callWhen().returns(M.remotable('ChainAccount')),
97
- makeAcountInvitationMaker: M.call().returns(M.promise()),
99
+ makeAcountInvitationMaker: M.callWhen().returns(InvitationShape),
98
100
  }),
99
101
  {
100
102
  async makeAccount() {
101
103
  trace('makeAccount');
102
- return makeAccount().then(({ account }) => account);
104
+ const { account } = await makeAccountKit();
105
+ return account;
103
106
  },
104
107
  makeAcountInvitationMaker() {
105
108
  trace('makeCreateAccountInvitation');
106
109
  return zcf.makeInvitation(
107
110
  async seat => {
108
111
  seat.exit();
109
- return makeAccount();
112
+ return makeAccountKit();
110
113
  },
111
114
  'wantStakingAccount',
112
115
  undefined,
@@ -2,20 +2,22 @@ export function start(zcf: ZCF, privateArgs: {
2
2
  localchain: import("@agoric/vats/src/localchain.js").LocalChain;
3
3
  marshaller: Marshaller;
4
4
  storageNode: StorageNode;
5
+ timerService: TimerService;
6
+ timerBrand: TimerBrand;
5
7
  }, baggage: import("@agoric/vat-data").Baggage): Promise<{
6
8
  publicFacet: import("@endo/exo").Guarded<{
7
9
  makeStakeBldInvitation(): Promise<Invitation<{
8
10
  publicSubscribers: {
9
11
  account: {
10
12
  description: string;
11
- subscriber: globalThis.Subscriber<import("../exos/localchainAccountKit.js").LocalChainAccountNotification>;
13
+ subscriber: globalThis.Subscriber<import("../exos/local-chain-account-kit.js").LocalChainAccountNotification>;
12
14
  storagePath: Promise<string>;
13
15
  };
14
16
  };
15
17
  invitationMakers: import("@endo/exo").Guarded<{
16
- Delegate(validatorAddress: any, amount: any): Promise<Invitation<(import("@agoric/cosmic-proto/cosmos/staking/v1beta1/tx.js").MsgDelegateResponse & {
18
+ Delegate(validatorAddress: any, amount: any): Promise<Invitation<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/tx.js").MsgDelegateResponse & {
17
19
  '@type': "/cosmos.staking.v1beta1.MsgDelegateResponse";
18
- })[], undefined>>;
20
+ }, undefined>>;
19
21
  CloseAccount(): never;
20
22
  TransferAccount(): never;
21
23
  }>;
@@ -23,17 +25,75 @@ export function start(zcf: ZCF, privateArgs: {
23
25
  getPublicTopics(): {
24
26
  account: {
25
27
  description: string;
26
- subscriber: globalThis.Subscriber<import("../exos/localchainAccountKit.js").LocalChainAccountNotification>;
28
+ subscriber: globalThis.Subscriber<import("../exos/local-chain-account-kit.js").LocalChainAccountNotification>;
27
29
  storagePath: Promise<string>;
28
30
  };
29
31
  };
30
- makeDelegateInvitation(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<(import("@agoric/cosmic-proto/cosmos/staking/v1beta1/tx.js").MsgDelegateResponse & {
32
+ makeDelegateInvitation(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/tx.js").MsgDelegateResponse & {
31
33
  '@type': "/cosmos.staking.v1beta1.MsgDelegateResponse";
32
- })[], undefined>>;
34
+ }, undefined>>;
33
35
  makeCloseAccountInvitation(): never;
34
36
  makeTransferAccountInvitation(): never;
37
+ deposit(payment: Payment<"nat">, optAmountShape?: Pattern): Promise<globalThis.Amount>;
38
+ withdraw(amount: Amount<"nat">): Promise<globalThis.Payment>;
39
+ getAddress(): string;
40
+ transfer(amount: import("../orchestration-api.js").AmountArg, destination: import("../orchestration-api.js").ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): Promise<void>;
41
+ }>;
42
+ }, undefined>>;
43
+ makeAccount(): Promise<import("@endo/exo").Guarded<{
44
+ getPublicTopics(): {
45
+ account: {
46
+ description: string;
47
+ subscriber: globalThis.Subscriber<import("../exos/local-chain-account-kit.js").LocalChainAccountNotification>;
48
+ storagePath: Promise<string>;
49
+ };
50
+ };
51
+ makeDelegateInvitation(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/tx.js").MsgDelegateResponse & {
52
+ '@type': "/cosmos.staking.v1beta1.MsgDelegateResponse";
53
+ }, undefined>>;
54
+ makeCloseAccountInvitation(): never;
55
+ makeTransferAccountInvitation(): never;
56
+ deposit(payment: Payment<"nat">, optAmountShape?: Pattern): Promise<globalThis.Amount>;
57
+ withdraw(amount: Amount<"nat">): Promise<globalThis.Payment>;
58
+ getAddress(): string;
59
+ transfer(amount: import("../orchestration-api.js").AmountArg, destination: import("../orchestration-api.js").ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): Promise<void>;
60
+ }>>;
61
+ makeAcountInvitationMaker(): Promise<Invitation<{
62
+ publicSubscribers: {
63
+ account: {
64
+ description: string;
65
+ subscriber: globalThis.Subscriber<import("../exos/local-chain-account-kit.js").LocalChainAccountNotification>;
66
+ storagePath: Promise<string>;
67
+ };
68
+ };
69
+ invitationMakers: import("@endo/exo").Guarded<{
70
+ Delegate(validatorAddress: any, amount: any): Promise<Invitation<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/tx.js").MsgDelegateResponse & {
71
+ '@type': "/cosmos.staking.v1beta1.MsgDelegateResponse";
72
+ }, undefined>>;
73
+ CloseAccount(): never;
74
+ TransferAccount(): never;
75
+ }>;
76
+ account: import("@endo/exo").Guarded<{
77
+ getPublicTopics(): {
78
+ account: {
79
+ description: string;
80
+ subscriber: globalThis.Subscriber<import("../exos/local-chain-account-kit.js").LocalChainAccountNotification>;
81
+ storagePath: Promise<string>;
82
+ };
83
+ };
84
+ makeDelegateInvitation(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/tx.js").MsgDelegateResponse & {
85
+ '@type': "/cosmos.staking.v1beta1.MsgDelegateResponse";
86
+ }, undefined>>;
87
+ makeCloseAccountInvitation(): never;
88
+ makeTransferAccountInvitation(): never;
89
+ deposit(payment: Payment<"nat">, optAmountShape?: Pattern): Promise<globalThis.Amount>;
90
+ withdraw(amount: Amount<"nat">): Promise<globalThis.Payment>;
91
+ getAddress(): string;
92
+ transfer(amount: import("../orchestration-api.js").AmountArg, destination: import("../orchestration-api.js").ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): Promise<void>;
35
93
  }>;
36
94
  }, undefined>>;
37
95
  }>;
38
96
  }>;
97
+ import type { TimerService } from '@agoric/time';
98
+ import type { TimerBrand } from '@agoric/time';
39
99
  //# sourceMappingURL=stakeBld.contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stakeBld.contract.d.ts","sourceRoot":"","sources":["stakeBld.contract.js"],"names":[],"mappings":"AAyBO,2BARI,GAAG,eACH;IACV,UAAc,EAAE,OAAO,gCAAgC,EAAE,UAAU,CAAC;IACpE,UAAc,EAAE,UAAU,CAAC;IAC3B,WAAe,EAAE,WAAW,CAAC;CAC1B,WACO,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;6EA0DyqC,OAAO,KAAK,CAAC;;;;;;;;GADluC"}
1
+ {"version":3,"file":"stakeBld.contract.d.ts","sourceRoot":"","sources":["stakeBld.contract.js"],"names":[],"mappings":"AAgCO,2BAVI,GAAG;gBAEG,OAAO,gCAAgC,EAAE,UAAU;gBACnD,UAAU;iBACT,WAAW;;;YAIlB,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;6EA4FipC,OAAO,KAAK,CAAC;;;;;iCAzEnqC,QAAQ,KAAK,CAAC,mBAElD,OAAO;iCAoB0D,OAAO,KAC5E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDA;kCA1G0C,cAAc;gCAAd,cAAc"}
@@ -1,15 +1,20 @@
1
1
  /**
2
2
  * @file Stake BLD contract
3
- *
4
3
  */
5
-
6
4
  import { makeTracer } from '@agoric/internal';
5
+ import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js';
6
+ import { withdrawFromSeat } from '@agoric/zoe/src/contractSupport/zoeHelpers.js';
7
+ import { InvitationShape } from '@agoric/zoe/src/typeGuards.js';
7
8
  import { makeDurableZone } from '@agoric/zone/durable.js';
8
- import { M } from '@endo/patterns';
9
9
  import { E } from '@endo/far';
10
- import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js';
11
- import { atomicTransfer } from '@agoric/zoe/src/contractSupport/atomicTransfer.js';
12
- import { prepareLocalchainAccountKit } from '../exos/localchainAccountKit.js';
10
+ import { deeplyFulfilled } from '@endo/marshal';
11
+ import { M } from '@endo/patterns';
12
+ import { prepareLocalChainAccountKit } from '../exos/local-chain-account-kit.js';
13
+ import { prepareMockChainInfo } from '../utils/mockChainInfo.js';
14
+
15
+ /**
16
+ * @import {TimerBrand, TimerService} from '@agoric/time';
17
+ */
13
18
 
14
19
  const trace = makeTracer('StakeBld');
15
20
 
@@ -20,12 +25,15 @@ const trace = makeTracer('StakeBld');
20
25
  * localchain: import('@agoric/vats/src/localchain.js').LocalChain;
21
26
  * marshaller: Marshaller;
22
27
  * storageNode: StorageNode;
28
+ * timerService: TimerService;
29
+ * timerBrand: TimerBrand;
23
30
  * }} privateArgs
24
31
  * @param {import("@agoric/vat-data").Baggage} baggage
25
32
  */
26
33
  export const start = async (zcf, privateArgs, baggage) => {
27
- const { BLD } = zcf.getTerms().brands;
34
+ const BLD = zcf.getTerms().brands.In;
28
35
 
36
+ // XXX is this safe to call before prepare statements are completed?
29
37
  const bldAmountShape = await E(BLD).getAmountShape();
30
38
 
31
39
  const zone = makeDurableZone(baggage);
@@ -34,48 +42,81 @@ export const start = async (zcf, privateArgs, baggage) => {
34
42
  baggage,
35
43
  privateArgs.marshaller,
36
44
  );
37
- const makeLocalchainAccountKit = prepareLocalchainAccountKit(
45
+
46
+ // Mocked until #8879
47
+ // Would expect this to be instantiated elsewhere, and passed in as a reference
48
+ const agoricChainInfo = prepareMockChainInfo(zone);
49
+
50
+ const makeLocalChainAccountKit = prepareLocalChainAccountKit(
38
51
  baggage,
39
52
  makeRecorderKit,
40
53
  zcf,
54
+ privateArgs.timerService,
55
+ privateArgs.timerBrand,
56
+ agoricChainInfo,
41
57
  );
42
58
 
43
- const publicFacet = zone.exo('StakeBld', undefined, {
44
- makeStakeBldInvitation() {
45
- return zcf.makeInvitation(
46
- async seat => {
47
- const { give } = seat.getProposal();
48
- trace('makeStakeBldInvitation', give);
49
- // XXX type appears local but it's remote
50
- const account = await E(privateArgs.localchain).makeAccount();
51
- const lcaSeatKit = zcf.makeEmptySeatKit();
52
- atomicTransfer(zcf, seat, lcaSeatKit.zcfSeat, give);
53
- seat.exit();
54
- trace('makeStakeBldInvitation tryExit lca userSeat');
55
- await E(lcaSeatKit.userSeat).tryExit();
56
- trace('awaiting payouts');
57
- const payouts = await E(lcaSeatKit.userSeat).getPayouts();
58
- const { holder, invitationMakers } = makeLocalchainAccountKit(
59
- account,
60
- privateArgs.storageNode,
61
- );
62
- trace('awaiting deposit');
63
- await E(account).deposit(await payouts.In);
59
+ async function makeLocalAccountKit() {
60
+ const account = await E(privateArgs.localchain).makeAccount();
61
+ const address = await E(account).getAddress();
62
+ return makeLocalChainAccountKit({
63
+ account,
64
+ address,
65
+ storageNode: privateArgs.storageNode,
66
+ });
67
+ }
64
68
 
65
- return {
69
+ const publicFacet = zone.exo(
70
+ 'StakeBld',
71
+ M.interface('StakeBldI', {
72
+ makeAccount: M.callWhen().returns(M.remotable('LocalChainAccountHolder')),
73
+ makeAcountInvitationMaker: M.callWhen().returns(InvitationShape),
74
+ makeStakeBldInvitation: M.callWhen().returns(InvitationShape),
75
+ }),
76
+ {
77
+ makeStakeBldInvitation() {
78
+ return zcf.makeInvitation(
79
+ async seat => {
80
+ const { give } = seat.getProposal();
81
+ trace('makeStakeBldInvitation', give);
82
+ const { holder, invitationMakers } = await makeLocalAccountKit();
83
+ const { In } = await deeplyFulfilled(
84
+ withdrawFromSeat(zcf, seat, give),
85
+ );
86
+ await E(holder).deposit(In);
87
+ seat.exit();
88
+ return harden({
89
+ publicSubscribers: holder.getPublicTopics(),
90
+ invitationMakers,
91
+ account: holder,
92
+ });
93
+ },
94
+ 'wantStake',
95
+ undefined,
96
+ M.splitRecord({
97
+ give: { In: bldAmountShape },
98
+ }),
99
+ );
100
+ },
101
+ async makeAccount() {
102
+ trace('makeAccount');
103
+ const { holder } = await makeLocalAccountKit();
104
+ return holder;
105
+ },
106
+ makeAcountInvitationMaker() {
107
+ trace('makeCreateAccountInvitation');
108
+ return zcf.makeInvitation(async seat => {
109
+ seat.exit();
110
+ const { holder, invitationMakers } = await makeLocalAccountKit();
111
+ return harden({
66
112
  publicSubscribers: holder.getPublicTopics(),
67
113
  invitationMakers,
68
114
  account: holder,
69
- };
70
- },
71
- 'wantStake',
72
- undefined,
73
- M.splitRecord({
74
- give: { In: bldAmountShape },
75
- }),
76
- );
115
+ });
116
+ }, 'wantLocalChainAccount');
117
+ },
77
118
  },
78
- });
119
+ );
79
120
 
80
121
  return { publicFacet };
81
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"swapExample.contract.d.ts","sourceRoot":"","sources":["swapExample.contract.js"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAUrB;AASK,0CAHI,KAAK;;;EAIsC;AAY/C,2BATI,GAAG;;;;6BAYqC,QAAQ,KAAK,CAAC,mBACrD,OAEX;6BAgBe,OAAO,KAAK,CAAC;;;2BAgBP,EAAE;;uBAuC4mC,OAAO,sBAAsB,EAAE,SAAS;;;4BAAyqB,OAAO,sBAAsB,EAAE,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;oBA7Dn1D,MAAM,CAAC,KAAK,CAAC;;;;;oBAAb,MAAM,CAAC,KAAK,CAAC;;;;GA4DxD;0BAjHsB,WAAW;gCAHiC,aAAa;kCACjD,cAAc;0BAItB,cAAc;4CAL8B,aAAa"}
1
+ {"version":3,"file":"swapExample.contract.d.ts","sourceRoot":"","sources":["swapExample.contract.js"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAUrB;AASK,0CAHI,KAAK;;;EAIsC;AAY/C,2BATI,GAAG;;;;6BAYqC,QAAQ,KAAK,CAAC,mBACrD,OAEX;6BAgBe,OAAO,KAAK,CAAC;;;2BAkBvB,EADD;;uBAuC4mC,OAAO,sBAAsB,EAAE,SAAS;;;4BAAyqB,OAAO,sBAAsB,EAAE,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;oBA9Dh0D,MAAM,CAAC,KAAK,CAAC;;;;;oBAAb,MAAM,CAAC,KAAK,CAAC;;;;GA6DxD;0BAlHsB,WAAW;gCAHiC,aAAa;kCACjD,cAAc;0BAItB,cAAc;4CAL8B,aAAa"}
@@ -84,6 +84,7 @@ export const start = async (zcf, privateArgs) => {
84
84
  // deposit funds from user seat to LocalChainAccount
85
85
  const payments = await withdrawFromSeat(zcf, seat, give);
86
86
  await deeplyFulfilled(objectMap(payments, localAccount.deposit));
87
+ seat.exit();
87
88
 
88
89
  // build swap instructions with orcUtils library
89
90
  const transferMsg = orcUtils.makeOsmosisSwap({
@@ -1 +1 @@
1
- {"version":3,"file":"chainAccountKit.d.ts","sourceRoot":"","sources":["chainAccountKit.js"],"names":[],"mappings":"AAgCA;;;;;;;;;;;GAaG;AAcI;;QAqBC;;WAEG;;;;;;QAyBH;;;;;;WAMG;wFAFU,OAAO,CAAC,MAAM,CAAC;QAY5B;;WAEG;;;QAaH;;;WAGG;wBADQ,KAAK;;;;QAahB;;;;WAIG;;;;;GAyBR;qCAzJW,0BAA0B;;;;;4BAuBX,MAAM;;;;8BAoIrB,UAAU,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;0BAvK1C,mBAAmB;0BACP,iBAAiB;kCAKrB,aAAa;6BAHlB,sBAAsB;4BACvB,8CAA8C;gCAHpC,iBAAiB;4BAC3B,aAAa"}
1
+ {"version":3,"file":"chainAccountKit.d.ts","sourceRoot":"","sources":["chainAccountKit.js"],"names":[],"mappings":"AA+BA;;;;;;;;;;;GAaG;AAcI;;QAqBC;;WAEG;;;;;;QAyBH;;;;;;WAMG;wFAFU,OAAO,CAAC,MAAM,CAAC;QAY5B;;WAEG;;;QAaH;;;WAGG;wBADQ,KAAK;;;;QAahB;;;;WAIG;;;;;GAyBR;qCAzJW,0BAA0B;;;;;4BAuBX,MAAM;;;;8BAoIrB,UAAU,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;0BAvK1C,mBAAmB;0BACP,iBAAiB;kCAKrB,aAAa;6BAHlB,sBAAsB;4BACvB,8CAA8C;gCAHpC,iBAAiB;4BAC3B,aAAa"}
@@ -1,5 +1,4 @@
1
1
  /** @file ChainAccount exo */
2
-
3
2
  import { NonNullish } from '@agoric/assert';
4
3
  import { makeTracer } from '@agoric/internal';
5
4
  import { V as E } from '@agoric/vow/vat.js';