@agoric/orchestration 0.1.1-calypso-dev-84eb287.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 (120) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -0
  3. package/index.d.ts +4 -0
  4. package/index.js +7 -0
  5. package/package.json +95 -0
  6. package/src/chain-info.d.ts +2318 -0
  7. package/src/chain-info.d.ts.map +1 -0
  8. package/src/chain-info.js +114 -0
  9. package/src/cosmos-api.d.ts +174 -0
  10. package/src/cosmos-api.d.ts.map +1 -0
  11. package/src/cosmos-api.ts +231 -0
  12. package/src/ethereum-api.d.ts +8 -0
  13. package/src/ethereum-api.d.ts.map +1 -0
  14. package/src/ethereum-api.ts +7 -0
  15. package/src/examples/sendAnywhere.contract.d.ts +31 -0
  16. package/src/examples/sendAnywhere.contract.d.ts.map +1 -0
  17. package/src/examples/sendAnywhere.contract.js +171 -0
  18. package/src/examples/stakeBld.contract.d.ts +121 -0
  19. package/src/examples/stakeBld.contract.d.ts.map +1 -0
  20. package/src/examples/stakeBld.contract.js +133 -0
  21. package/src/examples/stakeIca.contract.d.ts +93 -0
  22. package/src/examples/stakeIca.contract.d.ts.map +1 -0
  23. package/src/examples/stakeIca.contract.js +143 -0
  24. package/src/examples/swapExample.contract.d.ts +34 -0
  25. package/src/examples/swapExample.contract.d.ts.map +1 -0
  26. package/src/examples/swapExample.contract.js +155 -0
  27. package/src/examples/unbondExample.contract.d.ts +21 -0
  28. package/src/examples/unbondExample.contract.d.ts.map +1 -0
  29. package/src/examples/unbondExample.contract.js +105 -0
  30. package/src/exos/README.md +56 -0
  31. package/src/exos/agoric-names-tools.d.ts +27 -0
  32. package/src/exos/agoric-names-tools.d.ts.map +1 -0
  33. package/src/exos/agoric-names-tools.js +109 -0
  34. package/src/exos/chain-account-kit.d.ts +88 -0
  35. package/src/exos/chain-account-kit.d.ts.map +1 -0
  36. package/src/exos/chain-account-kit.js +210 -0
  37. package/src/exos/chain-hub.d.ts +77 -0
  38. package/src/exos/chain-hub.d.ts.map +1 -0
  39. package/src/exos/chain-hub.js +214 -0
  40. package/src/exos/cosmos-orchestration-account.d.ts +207 -0
  41. package/src/exos/cosmos-orchestration-account.d.ts.map +1 -0
  42. package/src/exos/cosmos-orchestration-account.js +536 -0
  43. package/src/exos/icq-connection-kit.d.ts +50 -0
  44. package/src/exos/icq-connection-kit.d.ts.map +1 -0
  45. package/src/exos/icq-connection-kit.js +135 -0
  46. package/src/exos/local-chain-facade.d.ts +81 -0
  47. package/src/exos/local-chain-facade.d.ts.map +1 -0
  48. package/src/exos/local-chain-facade.js +113 -0
  49. package/src/exos/local-orchestration-account.d.ts +176 -0
  50. package/src/exos/local-orchestration-account.d.ts.map +1 -0
  51. package/src/exos/local-orchestration-account.js +446 -0
  52. package/src/exos/orchestrator.d.ts +91 -0
  53. package/src/exos/orchestrator.d.ts.map +1 -0
  54. package/src/exos/orchestrator.js +141 -0
  55. package/src/exos/remote-chain-facade.d.ts +144 -0
  56. package/src/exos/remote-chain-facade.d.ts.map +1 -0
  57. package/src/exos/remote-chain-facade.js +145 -0
  58. package/src/facade.d.ts +57 -0
  59. package/src/facade.d.ts.map +1 -0
  60. package/src/facade.js +132 -0
  61. package/src/fetched-chain-info.d.ts +2311 -0
  62. package/src/fetched-chain-info.d.ts.map +1 -0
  63. package/src/fetched-chain-info.js +2288 -0
  64. package/src/internal.d.ts +13 -0
  65. package/src/internal.d.ts.map +1 -0
  66. package/src/internal.ts +20 -0
  67. package/src/orchestration-api.d.ts +158 -0
  68. package/src/orchestration-api.d.ts.map +1 -0
  69. package/src/orchestration-api.ts +201 -0
  70. package/src/proposals/orchestration-proposal.d.ts +53 -0
  71. package/src/proposals/orchestration-proposal.d.ts.map +1 -0
  72. package/src/proposals/orchestration-proposal.js +179 -0
  73. package/src/proposals/revise-chain-info.d.ts +21 -0
  74. package/src/proposals/revise-chain-info.d.ts.map +1 -0
  75. package/src/proposals/revise-chain-info.js +44 -0
  76. package/src/proposals/start-stakeAtom.d.ts +109 -0
  77. package/src/proposals/start-stakeAtom.d.ts.map +1 -0
  78. package/src/proposals/start-stakeAtom.js +105 -0
  79. package/src/proposals/start-stakeBld.d.ts +154 -0
  80. package/src/proposals/start-stakeBld.d.ts.map +1 -0
  81. package/src/proposals/start-stakeBld.js +103 -0
  82. package/src/proposals/start-stakeOsmo.d.ts +108 -0
  83. package/src/proposals/start-stakeOsmo.d.ts.map +1 -0
  84. package/src/proposals/start-stakeOsmo.js +106 -0
  85. package/src/service.d.ts +97 -0
  86. package/src/service.d.ts.map +1 -0
  87. package/src/service.js +259 -0
  88. package/src/typeGuards.d.ts +55 -0
  89. package/src/typeGuards.d.ts.map +1 -0
  90. package/src/typeGuards.js +104 -0
  91. package/src/types.d.ts +11 -0
  92. package/src/types.d.ts.map +1 -0
  93. package/src/types.ts +11 -0
  94. package/src/utils/address.d.ts +14 -0
  95. package/src/utils/address.d.ts.map +1 -0
  96. package/src/utils/address.js +79 -0
  97. package/src/utils/cosmos.d.ts +9 -0
  98. package/src/utils/cosmos.d.ts.map +1 -0
  99. package/src/utils/cosmos.js +36 -0
  100. package/src/utils/orc.d.ts +17 -0
  101. package/src/utils/orc.d.ts.map +1 -0
  102. package/src/utils/orc.js +38 -0
  103. package/src/utils/orchestrationAccount.d.ts +10 -0
  104. package/src/utils/orchestrationAccount.d.ts.map +1 -0
  105. package/src/utils/orchestrationAccount.js +22 -0
  106. package/src/utils/packet.d.ts +57 -0
  107. package/src/utils/packet.d.ts.map +1 -0
  108. package/src/utils/packet.js +112 -0
  109. package/src/utils/registry.d.ts +13 -0
  110. package/src/utils/registry.d.ts.map +1 -0
  111. package/src/utils/registry.js +131 -0
  112. package/src/utils/start-helper.d.ts +51 -0
  113. package/src/utils/start-helper.d.ts.map +1 -0
  114. package/src/utils/start-helper.js +109 -0
  115. package/src/utils/time.d.ts +31 -0
  116. package/src/utils/time.d.ts.map +1 -0
  117. package/src/utils/time.js +63 -0
  118. package/src/vat-orchestration.d.ts +58 -0
  119. package/src/vat-orchestration.d.ts.map +1 -0
  120. package/src/vat-orchestration.js +24 -0
@@ -0,0 +1,44 @@
1
+ import { makeTracer } from '@agoric/internal';
2
+ import { registerChain } from '../chain-info.js';
3
+
4
+ const trace = makeTracer('ReviseChainInfo', true);
5
+
6
+ /** @import {CosmosChainInfo} from '../types.js'; */
7
+
8
+ /**
9
+ * This will add news values AND overwrite any existing values. Voters on a
10
+ * proposal of core-eval must be careful not to overwrite any values operating
11
+ * in production.
12
+ *
13
+ * @param {BootstrapPowers} powers
14
+ * @param {{ options: { chainInfo: Record<string, CosmosChainInfo> } }} opt
15
+ */
16
+ export const reviseChainInfo = async (
17
+ { consume: { agoricNamesAdmin } },
18
+ { options: { chainInfo } },
19
+ ) => {
20
+ trace('init-chainInfo');
21
+
22
+ assert(chainInfo, 'chainInfo is required');
23
+
24
+ trace(chainInfo);
25
+
26
+ // Now register the names
27
+ for await (const [name, info] of Object.entries(chainInfo)) {
28
+ await registerChain(agoricNamesAdmin, name, info, trace);
29
+ }
30
+ };
31
+ harden(reviseChainInfo);
32
+
33
+ export const getManifestForReviseChains = (_powers, { chainInfo }) => ({
34
+ manifest: {
35
+ [reviseChainInfo.name]: {
36
+ consume: {
37
+ agoricNamesAdmin: true,
38
+ },
39
+ },
40
+ },
41
+ options: {
42
+ chainInfo,
43
+ },
44
+ });
@@ -0,0 +1,109 @@
1
+ export function startStakeAtom({ consume: { agoricNames, board, chainStorage, chainTimerService, orchestration, startUpgradable, }, installation: { consume: { stakeIca }, }, instance: { produce: { stakeAtom: produceInstance }, }, }: BootstrapPowers & {
2
+ installation: {
3
+ consume: {
4
+ stakeIca: Installation<(zcf: ZCF<StakeIcaTerms>, privateArgs: {
5
+ orchestration: import("../service.js").OrchestrationService;
6
+ storageNode: StorageNode;
7
+ marshaller: Marshaller;
8
+ timer: import("@agoric/time").TimerService;
9
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
10
+ publicFacet: import("@endo/exo").Guarded<{
11
+ makeAccount(): Promise<import("@endo/exo").Guarded<{
12
+ asContinuingOffer(): {
13
+ publicSubscribers: {
14
+ account: {
15
+ description: string;
16
+ subscriber: globalThis.Subscriber<import("../exos/cosmos-orchestration-account.js").ComosOrchestrationAccountNotification>;
17
+ storagePath: Promise<string>;
18
+ };
19
+ };
20
+ invitationMakers: import("@endo/exo").Guarded<{
21
+ Delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
22
+ Redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
23
+ WithdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): Promise<Invitation<import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount[]>, undefined>>;
24
+ Undelegate(delegations: Omit<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/staking.js").Delegation, "delegatorAddress">[]): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
25
+ CloseAccount(): never;
26
+ TransferAccount(): never;
27
+ }>;
28
+ holder: import("@endo/exo").Guarded<any>;
29
+ };
30
+ getPublicTopics(): {
31
+ account: {
32
+ description: string;
33
+ subscriber: globalThis.Subscriber<import("../exos/cosmos-orchestration-account.js").ComosOrchestrationAccountNotification>;
34
+ storagePath: Promise<string>;
35
+ };
36
+ };
37
+ getAddress(): import("../orchestration-api.js").ChainAddress;
38
+ delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): import("@agoric/vow").Vow<undefined>;
39
+ deposit(payment: any): void;
40
+ getBalances(): import("@agoric/vow").Vow<never>;
41
+ redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): import("@agoric/vow").Vow<undefined>;
42
+ withdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount[]>;
43
+ getBalance(denom: import("../orchestration-api.js").DenomArg): import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount>;
44
+ send(toAccount: any, amount: any): import("@agoric/vow").Vow<never>;
45
+ transfer(amount: any, msg: any): import("@agoric/vow").Vow<never>;
46
+ transferSteps(amount: any, msg: any): import("@agoric/vow").Vow<never>;
47
+ withdrawRewards(): import("@agoric/vow").Vow<never>;
48
+ undelegate(delegations: Omit<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/staking.js").Delegation, "delegatorAddress">[]): import("@agoric/vow").Vow<undefined>;
49
+ }>>;
50
+ makeAccountInvitationMaker(): Promise<Invitation<{
51
+ publicSubscribers: {
52
+ account: {
53
+ description: string;
54
+ subscriber: globalThis.Subscriber<import("../exos/cosmos-orchestration-account.js").ComosOrchestrationAccountNotification>;
55
+ storagePath: Promise<string>;
56
+ };
57
+ };
58
+ invitationMakers: import("@endo/exo").Guarded<{
59
+ Delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
60
+ Redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
61
+ WithdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): Promise<Invitation<import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount[]>, undefined>>;
62
+ Undelegate(delegations: Omit<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/staking.js").Delegation, "delegatorAddress">[]): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
63
+ CloseAccount(): never;
64
+ TransferAccount(): never;
65
+ }>;
66
+ holder: import("@endo/exo").Guarded<any>;
67
+ }, undefined>>;
68
+ }>;
69
+ }>>;
70
+ };
71
+ };
72
+ }): Promise<void>;
73
+ export function getManifestForStakeAtom({ restoreRef }: {
74
+ restoreRef: any;
75
+ }, { installKeys, ...options }: {
76
+ [x: string]: any;
77
+ installKeys: any;
78
+ }): {
79
+ manifest: {
80
+ [x: string]: {
81
+ consume: {
82
+ agoricNames: boolean;
83
+ board: boolean;
84
+ chainStorage: boolean;
85
+ chainTimerService: boolean;
86
+ orchestration: boolean;
87
+ startUpgradable: boolean;
88
+ };
89
+ installation: {
90
+ consume: {
91
+ stakeIca: boolean;
92
+ };
93
+ };
94
+ instance: {
95
+ produce: {
96
+ stakeAtom: boolean;
97
+ };
98
+ };
99
+ };
100
+ };
101
+ installations: {
102
+ stakeIca: any;
103
+ };
104
+ options: {
105
+ [x: string]: any;
106
+ };
107
+ };
108
+ import type { StakeIcaTerms } from '../examples/stakeIca.contract';
109
+ //# sourceMappingURL=start-stakeAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-stakeAtom.d.ts","sourceRoot":"","sources":["start-stakeAtom.js"],"names":[],"mappings":"AAuBO,yOAVI,eAAe,GAAG;IAC5B,YAAgB,EAAE;QAClB,OAAa,EAAE;YACf,QAAgB,EAAE,YAAY,CAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA0D,CACjD,CAAC;SACH,CAAC;KACH,CAAC;CACH,iBAoDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BN;mCAjG4C,+BAA+B"}
@@ -0,0 +1,105 @@
1
+ import { makeTracer } from '@agoric/internal';
2
+ import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
3
+ import { heapVowE as E } from '@agoric/vow/vat.js';
4
+ import { makeChainHub } from '../exos/chain-hub.js';
5
+
6
+ /**
7
+ * @import {IBCConnectionID} from '@agoric/vats';
8
+ * @import {StakeIcaSF, StakeIcaTerms} from '../examples/stakeIca.contract';
9
+ */
10
+
11
+ const trace = makeTracer('StartStakeAtom', true);
12
+
13
+ /**
14
+ * @param {BootstrapPowers & {
15
+ * installation: {
16
+ * consume: {
17
+ * stakeIca: Installation<
18
+ * import('../examples/stakeIca.contract.js').start
19
+ * >;
20
+ * };
21
+ * };
22
+ * }} powers
23
+ */
24
+ export const startStakeAtom = async ({
25
+ consume: {
26
+ agoricNames,
27
+ board,
28
+ chainStorage,
29
+ chainTimerService,
30
+ orchestration,
31
+ startUpgradable,
32
+ },
33
+ installation: {
34
+ consume: { stakeIca },
35
+ },
36
+ instance: {
37
+ produce: { stakeAtom: produceInstance },
38
+ },
39
+ }) => {
40
+ const VSTORAGE_PATH = 'stakeAtom';
41
+ trace('startStakeAtom');
42
+ await null;
43
+
44
+ const storageNode = await makeStorageNodeChild(chainStorage, VSTORAGE_PATH);
45
+ const marshaller = await E(board).getPublishingMarshaller();
46
+
47
+ const chainHub = makeChainHub(await agoricNames);
48
+
49
+ const [_, cosmoshub, connectionInfo] = await E.when(
50
+ chainHub.getChainsAndConnection('agoric', 'cosmoshub'),
51
+ );
52
+
53
+ /** @type {StartUpgradableOpts<StakeIcaSF>} */
54
+ const startOpts = {
55
+ label: 'stakeAtom',
56
+ installation: stakeIca,
57
+ terms: {
58
+ chainId: cosmoshub.chainId,
59
+ hostConnectionId: connectionInfo.id,
60
+ controllerConnectionId: connectionInfo.counterparty.connection_id,
61
+ bondDenom: cosmoshub.stakingTokens[0].denom,
62
+ icqEnabled: cosmoshub.icqEnabled,
63
+ },
64
+ privateArgs: {
65
+ orchestration: await orchestration,
66
+ storageNode,
67
+ marshaller,
68
+ timer: await chainTimerService,
69
+ },
70
+ };
71
+
72
+ const { instance } = await E(startUpgradable)(startOpts);
73
+ produceInstance.resolve(instance);
74
+ };
75
+ harden(startStakeAtom);
76
+
77
+ export const getManifestForStakeAtom = (
78
+ { restoreRef },
79
+ { installKeys, ...options },
80
+ ) => {
81
+ return {
82
+ manifest: {
83
+ [startStakeAtom.name]: {
84
+ consume: {
85
+ agoricNames: true,
86
+ board: true,
87
+ chainStorage: true,
88
+ chainTimerService: true,
89
+ orchestration: true,
90
+ startUpgradable: true,
91
+ },
92
+ installation: {
93
+ consume: { stakeIca: true },
94
+ },
95
+ instance: {
96
+ produce: { stakeAtom: true },
97
+ },
98
+ },
99
+ },
100
+ installations: {
101
+ stakeIca: restoreRef(installKeys.stakeIca),
102
+ },
103
+ options,
104
+ };
105
+ };
@@ -0,0 +1,154 @@
1
+ export function startStakeBld({ consume: { agoricNames: agoricNamesP, board, chainStorage, chainTimerService: chainTimerServiceP, localchain, startUpgradable, }, installation: { consume: { stakeBld }, }, instance: { produce: { stakeBld: produceInstance }, }, issuer: { consume: { [Stake.symbol]: stakeIssuer }, }, }: BootstrapPowers & {
2
+ installation: {
3
+ consume: {
4
+ stakeBld: Installation<(zcf: ZCF, privateArgs: {
5
+ agoricNames: import("@agoric/internal").Remote<import("@agoric/vats").NameHub>;
6
+ localchain: import("@agoric/internal").Remote<import("@agoric/vats/src/localchain.js").LocalChain>;
7
+ marshaller: Marshaller;
8
+ storageNode: StorageNode;
9
+ timerService: import("@agoric/time").TimerService;
10
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
11
+ publicFacet: import("@endo/exo").Guarded<{
12
+ makeStakeBldInvitation(): Promise<Invitation<{
13
+ publicSubscribers: {
14
+ account: {
15
+ description: string;
16
+ subscriber: globalThis.Subscriber<import("../exos/local-orchestration-account.js").LocalChainAccountNotification>;
17
+ storagePath: Promise<string>;
18
+ };
19
+ };
20
+ invitationMakers: import("@endo/exo").Guarded<{
21
+ Delegate(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<import("@agoric/vow").Vow<Record<unknown, unknown>>, undefined>>;
22
+ Undelegate(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<import("@agoric/vow").Vow<import("@agoric/time").TimestampRecord>, undefined>>;
23
+ CloseAccount(): never;
24
+ }>;
25
+ account: import("@endo/exo").Guarded<{
26
+ getBalance(denom: import("../orchestration-api.js").DenomArg): import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount>;
27
+ getBalances(): import("@agoric/vow").Vow<never>;
28
+ getPublicTopics(): {
29
+ account: {
30
+ description: string;
31
+ subscriber: globalThis.Subscriber<import("../exos/local-orchestration-account.js").LocalChainAccountNotification>;
32
+ storagePath: Promise<string>;
33
+ };
34
+ };
35
+ delegate(validatorAddress: string, ertpAmount: Amount<"nat">): import("@agoric/vow").Vow<Record<unknown, unknown>>;
36
+ undelegate(validatorAddress: string, ertpAmount: Amount<"nat">): import("@agoric/vow").Vow<void | import("@agoric/time").TimestampRecord>;
37
+ deposit(payment: globalThis.Payment<"nat">): import("@agoric/vow").Vow<void>;
38
+ withdraw(amount: import("@agoric/ertp/src/types.js").NatAmount): import("@agoric/vow").Vow<globalThis.Payment<"nat"> | import("@agoric/vow").Vow<globalThis.Payment<"nat">>>;
39
+ executeTx(messages: {
40
+ '@type': string;
41
+ }[]): import("@agoric/vow").Vow<import("@agoric/cosmic-proto").JsonSafe<{
42
+ '@type': string;
43
+ }>[]>;
44
+ getAddress(): import("../orchestration-api.js").ChainAddress;
45
+ send(toAccount: any, amount: any): import("@agoric/vow").Vow<never>;
46
+ transfer(amount: import("../orchestration-api.js").AmountArg, destination: import("../orchestration-api.js").ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): import("@agoric/vow").Vow<void>;
47
+ transferSteps(amount: import("../orchestration-api.js").AmountArg, msg: import("../orchestration-api.js").TransferMsg): import("@agoric/vow").Vow<void>;
48
+ }>;
49
+ }, undefined>>;
50
+ makeAccount(): Promise<import("@endo/exo").Guarded<{
51
+ getBalance(denom: import("../orchestration-api.js").DenomArg): import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount>;
52
+ getBalances(): import("@agoric/vow").Vow<never>;
53
+ getPublicTopics(): {
54
+ account: {
55
+ description: string;
56
+ subscriber: globalThis.Subscriber<import("../exos/local-orchestration-account.js").LocalChainAccountNotification>;
57
+ storagePath: Promise<string>;
58
+ };
59
+ };
60
+ delegate(validatorAddress: string, ertpAmount: Amount<"nat">): import("@agoric/vow").Vow<Record<unknown, unknown>>;
61
+ undelegate(validatorAddress: string, ertpAmount: Amount<"nat">): import("@agoric/vow").Vow<void | import("@agoric/time").TimestampRecord>;
62
+ deposit(payment: globalThis.Payment<"nat">): import("@agoric/vow").Vow<void>;
63
+ withdraw(amount: import("@agoric/ertp/src/types.js").NatAmount): import("@agoric/vow").Vow<globalThis.Payment<"nat"> | import("@agoric/vow").Vow<globalThis.Payment<"nat">>>;
64
+ executeTx(messages: {
65
+ '@type': string;
66
+ }[]): import("@agoric/vow").Vow<import("@agoric/cosmic-proto").JsonSafe<{
67
+ '@type': string;
68
+ }>[]>;
69
+ getAddress(): import("../orchestration-api.js").ChainAddress;
70
+ send(toAccount: any, amount: any): import("@agoric/vow").Vow<never>;
71
+ transfer(amount: import("../orchestration-api.js").AmountArg, destination: import("../orchestration-api.js").ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): import("@agoric/vow").Vow<void>;
72
+ transferSteps(amount: import("../orchestration-api.js").AmountArg, msg: import("../orchestration-api.js").TransferMsg): import("@agoric/vow").Vow<void>;
73
+ }>>;
74
+ makeAccountInvitationMaker(): Promise<Invitation<{
75
+ publicSubscribers: {
76
+ account: {
77
+ description: string;
78
+ subscriber: globalThis.Subscriber<import("../exos/local-orchestration-account.js").LocalChainAccountNotification>;
79
+ storagePath: Promise<string>;
80
+ };
81
+ };
82
+ invitationMakers: import("@endo/exo").Guarded<{
83
+ Delegate(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<import("@agoric/vow").Vow<Record<unknown, unknown>>, undefined>>;
84
+ Undelegate(validatorAddress: string, ertpAmount: Amount<"nat">): Promise<Invitation<import("@agoric/vow").Vow<import("@agoric/time").TimestampRecord>, undefined>>;
85
+ CloseAccount(): never;
86
+ }>;
87
+ account: import("@endo/exo").Guarded<{
88
+ getBalance(denom: import("../orchestration-api.js").DenomArg): import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount>;
89
+ getBalances(): import("@agoric/vow").Vow<never>;
90
+ getPublicTopics(): {
91
+ account: {
92
+ description: string;
93
+ subscriber: globalThis.Subscriber<import("../exos/local-orchestration-account.js").LocalChainAccountNotification>;
94
+ storagePath: Promise<string>;
95
+ };
96
+ };
97
+ delegate(validatorAddress: string, ertpAmount: Amount<"nat">): import("@agoric/vow").Vow<Record<unknown, unknown>>;
98
+ undelegate(validatorAddress: string, ertpAmount: Amount<"nat">): import("@agoric/vow").Vow<void | import("@agoric/time").TimestampRecord>;
99
+ deposit(payment: globalThis.Payment<"nat">): import("@agoric/vow").Vow<void>;
100
+ withdraw(amount: import("@agoric/ertp/src/types.js").NatAmount): import("@agoric/vow").Vow<globalThis.Payment<"nat"> | import("@agoric/vow").Vow<globalThis.Payment<"nat">>>;
101
+ executeTx(messages: {
102
+ '@type': string;
103
+ }[]): import("@agoric/vow").Vow<import("@agoric/cosmic-proto").JsonSafe<{
104
+ '@type': string;
105
+ }>[]>;
106
+ getAddress(): import("../orchestration-api.js").ChainAddress;
107
+ send(toAccount: any, amount: any): import("@agoric/vow").Vow<never>;
108
+ transfer(amount: import("../orchestration-api.js").AmountArg, destination: import("../orchestration-api.js").ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): import("@agoric/vow").Vow<void>;
109
+ transferSteps(amount: import("../orchestration-api.js").AmountArg, msg: import("../orchestration-api.js").TransferMsg): import("@agoric/vow").Vow<void>;
110
+ }>;
111
+ }, undefined>>;
112
+ }>;
113
+ }>>;
114
+ };
115
+ };
116
+ }): Promise<void>;
117
+ export function getManifestForStakeBld({ restoreRef }: {
118
+ restoreRef: any;
119
+ }, { installKeys }: {
120
+ installKeys: any;
121
+ }): {
122
+ manifest: {
123
+ [x: string]: {
124
+ consume: {
125
+ agoricNames: boolean;
126
+ board: boolean;
127
+ chainStorage: boolean;
128
+ chainTimerService: boolean;
129
+ localchain: boolean;
130
+ startUpgradable: boolean;
131
+ };
132
+ installation: {
133
+ consume: {
134
+ stakeBld: boolean;
135
+ };
136
+ };
137
+ instance: {
138
+ produce: {
139
+ stakeBld: boolean;
140
+ };
141
+ };
142
+ issuer: {
143
+ consume: {
144
+ BLD: boolean;
145
+ };
146
+ };
147
+ };
148
+ };
149
+ installations: {
150
+ stakeBld: any;
151
+ };
152
+ };
153
+ import { Stake } from '@agoric/internal/src/tokens.js';
154
+ //# sourceMappingURL=start-stakeBld.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-stakeBld.d.ts","sourceRoot":"","sources":["start-stakeBld.js"],"names":[],"mappings":"AAkBO,6TAVI,eAAe,GAAG;IAC5B,YAAgB,EAAE;QAClB,OAAa,EAAE;YACf,QAAgB,EAAE,YAAY,CAC9B;;;;;;+BAiCqB,kBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAjC2B,CACxD,CAAC;SACH,CAAC;KACH,CAAC;CACH,iBAwDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BN;sBApGqB,gCAAgC"}
@@ -0,0 +1,103 @@
1
+ import { makeTracer } from '@agoric/internal';
2
+ import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
3
+ import { Stake } from '@agoric/internal/src/tokens.js';
4
+ import { E } from '@endo/far';
5
+
6
+ const trace = makeTracer('StartStakeBld', true);
7
+
8
+ /**
9
+ * @param {BootstrapPowers & {
10
+ * installation: {
11
+ * consume: {
12
+ * stakeBld: Installation<
13
+ * import('../../src/examples/stakeBld.contract.js').start
14
+ * >;
15
+ * };
16
+ * };
17
+ * }} powers
18
+ */
19
+ export const startStakeBld = async ({
20
+ consume: {
21
+ agoricNames: agoricNamesP,
22
+ board,
23
+ chainStorage,
24
+ chainTimerService: chainTimerServiceP,
25
+ localchain,
26
+ startUpgradable,
27
+ },
28
+ installation: {
29
+ consume: { stakeBld },
30
+ },
31
+ instance: {
32
+ produce: { stakeBld: produceInstance },
33
+ },
34
+ issuer: {
35
+ consume: { [Stake.symbol]: stakeIssuer },
36
+ },
37
+ }) => {
38
+ const VSTORAGE_PATH = 'stakeBld';
39
+ trace('startStakeBld');
40
+
41
+ const storageNode = await makeStorageNodeChild(chainStorage, VSTORAGE_PATH);
42
+
43
+ // NB: committee must only publish what it intended to be public
44
+ const marshaller = await E(board).getPublishingMarshaller();
45
+
46
+ const [agoricNames, timerService] = await Promise.all([
47
+ agoricNamesP,
48
+ chainTimerServiceP,
49
+ ]);
50
+
51
+ /**
52
+ * @type {StartUpgradableOpts<
53
+ * import('../../src/examples/stakeBld.contract.js').start
54
+ * >}
55
+ */
56
+ const startOpts = {
57
+ label: 'stakeBld',
58
+ installation: stakeBld,
59
+ issuerKeywordRecord: harden({ In: await stakeIssuer }),
60
+ terms: {},
61
+ privateArgs: {
62
+ agoricNames,
63
+ localchain: await localchain,
64
+ timerService,
65
+ storageNode,
66
+ marshaller,
67
+ },
68
+ };
69
+
70
+ const { instance } = await E(startUpgradable)(startOpts);
71
+ produceInstance.resolve(instance);
72
+ trace('done');
73
+ };
74
+ harden(startStakeBld);
75
+
76
+ export const getManifestForStakeBld = ({ restoreRef }, { installKeys }) => {
77
+ return {
78
+ manifest: {
79
+ [startStakeBld.name]: {
80
+ consume: {
81
+ agoricNames: true,
82
+ board: true,
83
+ chainStorage: true,
84
+ chainTimerService: true,
85
+ localchain: true,
86
+ startUpgradable: true,
87
+ },
88
+ installation: {
89
+ consume: { stakeBld: true },
90
+ },
91
+ instance: {
92
+ produce: { stakeBld: true },
93
+ },
94
+ issuer: {
95
+ consume: { [Stake.symbol]: true },
96
+ },
97
+ },
98
+ },
99
+ installations: {
100
+ stakeBld: restoreRef(installKeys.stakeBld),
101
+ },
102
+ };
103
+ };
@@ -0,0 +1,108 @@
1
+ export function startStakeOsmo({ consume: { agoricNames, board, chainStorage, chainTimerService, orchestration, startUpgradable, }, installation: { consume: { stakeIca }, }, instance: { produce: { stakeOsmo: produceInstance }, }, }: BootstrapPowers & {
2
+ installation: {
3
+ consume: {
4
+ stakeIca: Installation<(zcf: ZCF<StakeIcaTerms>, privateArgs: {
5
+ orchestration: import("../service.js").OrchestrationService;
6
+ storageNode: StorageNode;
7
+ marshaller: Marshaller;
8
+ timer: import("@agoric/time").TimerService;
9
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
10
+ publicFacet: import("@endo/exo").Guarded<{
11
+ makeAccount(): Promise<import("@endo/exo").Guarded<{
12
+ asContinuingOffer(): {
13
+ publicSubscribers: {
14
+ account: {
15
+ description: string;
16
+ subscriber: globalThis.Subscriber<import("../exos/cosmos-orchestration-account.js").ComosOrchestrationAccountNotification>;
17
+ storagePath: Promise<string>;
18
+ };
19
+ };
20
+ invitationMakers: import("@endo/exo").Guarded<{
21
+ Delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
22
+ Redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
23
+ WithdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): Promise<Invitation<import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount[]>, undefined>>;
24
+ Undelegate(delegations: Omit<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/staking.js").Delegation, "delegatorAddress">[]): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
25
+ CloseAccount(): never;
26
+ TransferAccount(): never;
27
+ }>;
28
+ holder: import("@endo/exo").Guarded<any>;
29
+ };
30
+ getPublicTopics(): {
31
+ account: {
32
+ description: string;
33
+ subscriber: globalThis.Subscriber<import("../exos/cosmos-orchestration-account.js").ComosOrchestrationAccountNotification>;
34
+ storagePath: Promise<string>;
35
+ };
36
+ };
37
+ getAddress(): import("../orchestration-api.js").ChainAddress;
38
+ delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): import("@agoric/vow").Vow<undefined>;
39
+ deposit(payment: any): void;
40
+ getBalances(): import("@agoric/vow").Vow<never>;
41
+ redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): import("@agoric/vow").Vow<undefined>;
42
+ withdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount[]>;
43
+ getBalance(denom: import("../orchestration-api.js").DenomArg): import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount>;
44
+ send(toAccount: any, amount: any): import("@agoric/vow").Vow<never>;
45
+ transfer(amount: any, msg: any): import("@agoric/vow").Vow<never>;
46
+ transferSteps(amount: any, msg: any): import("@agoric/vow").Vow<never>;
47
+ withdrawRewards(): import("@agoric/vow").Vow<never>;
48
+ undelegate(delegations: Omit<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/staking.js").Delegation, "delegatorAddress">[]): import("@agoric/vow").Vow<undefined>;
49
+ }>>;
50
+ makeAccountInvitationMaker(): Promise<Invitation<{
51
+ publicSubscribers: {
52
+ account: {
53
+ description: string;
54
+ subscriber: globalThis.Subscriber<import("../exos/cosmos-orchestration-account.js").ComosOrchestrationAccountNotification>;
55
+ storagePath: Promise<string>;
56
+ };
57
+ };
58
+ invitationMakers: import("@endo/exo").Guarded<{
59
+ Delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
60
+ Redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
61
+ WithdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): Promise<Invitation<import("@agoric/vow").Vow<import("../orchestration-api.js").DenomAmount[]>, undefined>>;
62
+ Undelegate(delegations: Omit<import("@agoric/cosmic-proto/cosmos/staking/v1beta1/staking.js").Delegation, "delegatorAddress">[]): Promise<Invitation<import("@agoric/vow").Vow<undefined>, undefined>>;
63
+ CloseAccount(): never;
64
+ TransferAccount(): never;
65
+ }>;
66
+ holder: import("@endo/exo").Guarded<any>;
67
+ }, undefined>>;
68
+ }>;
69
+ }>>;
70
+ };
71
+ };
72
+ }): Promise<void>;
73
+ export function getManifestForStakeOsmo({ restoreRef }: {
74
+ restoreRef: any;
75
+ }, { installKeys, ...options }: {
76
+ [x: string]: any;
77
+ installKeys: any;
78
+ }): {
79
+ manifest: {
80
+ [x: string]: {
81
+ consume: {
82
+ agoricNames: boolean;
83
+ board: boolean;
84
+ chainStorage: boolean;
85
+ chainTimerService: boolean;
86
+ orchestration: boolean;
87
+ startUpgradable: boolean;
88
+ };
89
+ installation: {
90
+ consume: {
91
+ stakeIca: boolean;
92
+ };
93
+ };
94
+ instance: {
95
+ produce: {
96
+ stakeOsmo: boolean;
97
+ };
98
+ };
99
+ };
100
+ };
101
+ installations: {
102
+ stakeIca: any;
103
+ };
104
+ options: {
105
+ [x: string]: any;
106
+ };
107
+ };
108
+ //# sourceMappingURL=start-stakeOsmo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-stakeOsmo.d.ts","sourceRoot":"","sources":["start-stakeOsmo.js"],"names":[],"mappings":"AAuBO,yOAVI,eAAe,GAAG;IAC5B,YAAgB,EAAE;QAClB,OAAa,EAAE;YACf,QAAgB,EAAE,YAAY,CAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA0D,CACjD,CAAC;SACH,CAAC;KACH,CAAC;CACH,iBAqDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BN"}