@agoric/builders 0.1.1-orchestration-dev-096c4e8.0 → 0.1.1-other-dev-3eb1a1d.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.js +0 -2
- package/package.json +33 -31
- package/scripts/fast-usdc/init-fast-usdc.js +242 -0
- package/scripts/inter-protocol/add-STARS.js +8 -7
- package/scripts/inter-protocol/add-collateral-core.js +12 -8
- package/scripts/inter-protocol/init-core.js +6 -5
- package/scripts/inter-protocol/invite-committee-core.js +5 -4
- package/scripts/inter-protocol/manual-price-feed.js +4 -0
- package/scripts/inter-protocol/price-feed-core.js +5 -5
- package/scripts/inter-protocol/replace-electorate-core.js +163 -0
- package/scripts/inter-protocol/replace-feeDistributor.js +28 -0
- package/scripts/inter-protocol/updatePriceFeeds.js +118 -0
- package/scripts/orchestration/init-basic-flows.js +27 -0
- package/scripts/orchestration/init-stakeAtom.js +24 -0
- package/scripts/orchestration/init-stakeBld.js +24 -0
- package/scripts/orchestration/init-stakeOsmo.js +24 -0
- package/scripts/orchestration/write-chain-info.js +14 -0
- package/scripts/pegasus/init-core.js +4 -3
- package/scripts/smart-wallet/build-game1-start.js +5 -4
- package/scripts/smart-wallet/build-wallet-factory2-upgrade.js +4 -3
- package/scripts/smart-wallet/build-walletFactory-upgrade.js +4 -3
- package/scripts/testing/add-LEMONS.js +24 -0
- package/scripts/testing/add-OLIVES.js +23 -0
- package/scripts/testing/append-chain-info.js +48 -0
- package/scripts/testing/fix-buggy-sendAnywhere.js +143 -0
- package/scripts/testing/replace-feeDistributor-short.js +27 -0
- package/scripts/testing/restart-basic-flows.js +101 -0
- package/scripts/testing/restart-send-anywhere.js +101 -0
- package/scripts/testing/restart-stakeAtom.js +91 -0
- package/scripts/testing/restart-valueVow.js +82 -0
- package/scripts/testing/start-auto-stake-it.js +128 -0
- package/scripts/testing/start-buggy-sendAnywhere.js +143 -0
- package/scripts/testing/start-query-flows.js +135 -0
- package/scripts/testing/start-send-anywhere.js +136 -0
- package/scripts/testing/start-valueVow.js +93 -0
- package/scripts/testing/tweak-chain-info.js +51 -0
- package/scripts/vats/add-auction.js +31 -0
- package/scripts/vats/init-core.js +4 -3
- package/scripts/vats/init-localchain.js +4 -3
- package/scripts/vats/init-network.js +4 -3
- package/scripts/vats/init-orchestration.js +21 -0
- package/scripts/vats/init-transfer.js +19 -0
- package/scripts/vats/priceFeedSupport.js +90 -0
- package/scripts/vats/probe-zcf-bundle.js +4 -3
- package/scripts/vats/replace-provisioning.js +4 -3
- package/scripts/vats/replace-zoe.js +4 -3
- package/scripts/vats/restart-vats.js +4 -3
- package/scripts/vats/revive-kread.js +14 -0
- package/scripts/vats/test-localchain.js +4 -3
- package/scripts/vats/test-vtransfer.js +19 -0
- package/scripts/vats/updateAtomPriceFeed.js +22 -0
- package/scripts/vats/updateStAtomPriceFeed.js +22 -0
- package/scripts/vats/updateStOsmoPriceFeed.js +22 -0
- package/scripts/vats/updateStTiaPriceFeed.js +22 -0
- package/scripts/vats/updateStkAtomPriceFeed.js +22 -0
- package/scripts/vats/upgrade-bank.js +19 -0
- package/scripts/vats/upgrade-orch-core.js +24 -0
- package/scripts/vats/upgrade-provisionPool.js +21 -0
- package/scripts/vats/upgrade-zcf.js +19 -0
- package/scripts/vats/upgrade-zoe.js +4 -3
- package/scripts/vats/upgradeScaledPriceAuthorities.js +23 -0
- package/scripts/vats/upgradeVaults.js +24 -0
- package/tsconfig.json +0 -2
- package/scripts/inter-protocol/deploy-contracts.js +0 -110
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/builders",
|
|
3
|
-
"version": "0.1.1-
|
|
3
|
+
"version": "0.1.1-other-dev-3eb1a1d.0+3eb1a1d",
|
|
4
4
|
"description": "Build scripts for proposals to an Agoric chain",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"build:restart-vats-proposal": "echo This command has been deprecated. Please run this instead: agoric run scripts/vats/restart-vats.js",
|
|
12
12
|
"build:zcf-proposal": "echo This command has been deprecated. Please run this instead: agoric run scripts/vats/replace-zoe.js",
|
|
13
13
|
"prepack": "tsc --build tsconfig.build.json",
|
|
14
|
-
"postpack": "git clean -f '*.d.ts*'",
|
|
14
|
+
"postpack": "git clean -f '*.d.ts*' '*.tsbuildinfo'",
|
|
15
15
|
"test": "ava",
|
|
16
16
|
"test:xs": "exit 0",
|
|
17
17
|
"lint-fix": "yarn lint:eslint --fix",
|
|
@@ -23,35 +23,37 @@
|
|
|
23
23
|
"author": "Agoric",
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@agoric/ertp": "0.16.3-
|
|
27
|
-
"@agoric/
|
|
28
|
-
"@agoric/
|
|
29
|
-
"@agoric/notifier": "0.6.3-
|
|
30
|
-
"@agoric/smart-wallet": "0.5.4-
|
|
31
|
-
"@agoric/vat-data": "0.5.3-
|
|
32
|
-
"@agoric/vats": "0.15.2-
|
|
33
|
-
"@agoric/zoe": "0.26.3-
|
|
34
|
-
"@endo/bundle-source": "^3.
|
|
35
|
-
"@endo/captp": "^4.
|
|
36
|
-
"@endo/eventual-send": "^1.
|
|
37
|
-
"@endo/far": "^1.
|
|
38
|
-
"@endo/init": "^1.
|
|
39
|
-
"@endo/marshal": "^1.
|
|
40
|
-
"@endo/
|
|
41
|
-
"@endo/
|
|
26
|
+
"@agoric/ertp": "0.16.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
27
|
+
"@agoric/fast-usdc": "0.1.1-other-dev-3eb1a1d.0+3eb1a1d",
|
|
28
|
+
"@agoric/internal": "0.3.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
29
|
+
"@agoric/notifier": "0.6.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
30
|
+
"@agoric/smart-wallet": "0.5.4-other-dev-3eb1a1d.0+3eb1a1d",
|
|
31
|
+
"@agoric/vat-data": "0.5.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
32
|
+
"@agoric/vats": "0.15.2-other-dev-3eb1a1d.0+3eb1a1d",
|
|
33
|
+
"@agoric/zoe": "0.26.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
34
|
+
"@endo/bundle-source": "^3.5.0",
|
|
35
|
+
"@endo/captp": "^4.4.3",
|
|
36
|
+
"@endo/eventual-send": "^1.2.8",
|
|
37
|
+
"@endo/far": "^1.1.9",
|
|
38
|
+
"@endo/init": "^1.1.7",
|
|
39
|
+
"@endo/marshal": "^1.6.2",
|
|
40
|
+
"@endo/patterns": "^1.4.7",
|
|
41
|
+
"@endo/promise-kit": "^1.1.8",
|
|
42
|
+
"@endo/stream": "^1.2.8",
|
|
42
43
|
"import-meta-resolve": "^2.2.1"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
|
-
"@agoric/
|
|
46
|
-
"@agoric/
|
|
47
|
-
"@agoric/
|
|
48
|
-
"@agoric/
|
|
49
|
-
"@agoric/store": "0.9.3-
|
|
50
|
-
"@agoric/swing-store": "0.9.2-
|
|
51
|
-
"@agoric/swingset-liveslots": "0.10.3-
|
|
52
|
-
"@agoric/time": "0.3.3-
|
|
46
|
+
"@agoric/deploy-script-support": "0.10.4-other-dev-3eb1a1d.0+3eb1a1d",
|
|
47
|
+
"@agoric/governance": "0.10.4-other-dev-3eb1a1d.0+3eb1a1d",
|
|
48
|
+
"@agoric/inter-protocol": "0.16.2-other-dev-3eb1a1d.0+3eb1a1d",
|
|
49
|
+
"@agoric/orchestration": "0.1.1-other-dev-3eb1a1d.0+3eb1a1d",
|
|
50
|
+
"@agoric/store": "0.9.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
51
|
+
"@agoric/swing-store": "0.9.2-other-dev-3eb1a1d.0+3eb1a1d",
|
|
52
|
+
"@agoric/swingset-liveslots": "0.10.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
53
|
+
"@agoric/time": "0.3.3-other-dev-3eb1a1d.0+3eb1a1d",
|
|
54
|
+
"@endo/errors": "^1.2.8",
|
|
53
55
|
"ava": "^5.3.0",
|
|
54
|
-
"c8": "^
|
|
56
|
+
"c8": "^10.1.2"
|
|
55
57
|
},
|
|
56
58
|
"files": [
|
|
57
59
|
"CHANGELOG.md",
|
|
@@ -66,11 +68,11 @@
|
|
|
66
68
|
"access": "public"
|
|
67
69
|
},
|
|
68
70
|
"engines": {
|
|
69
|
-
"node": "
|
|
71
|
+
"node": "^18.12 || ^20.9"
|
|
70
72
|
},
|
|
71
73
|
"ava": {
|
|
72
74
|
"files": [
|
|
73
|
-
"test
|
|
75
|
+
"test/**/*.test.*"
|
|
74
76
|
],
|
|
75
77
|
"require": [
|
|
76
78
|
"@endo/init/debug.js"
|
|
@@ -79,7 +81,7 @@
|
|
|
79
81
|
"workerThreads": false
|
|
80
82
|
},
|
|
81
83
|
"typeCoverage": {
|
|
82
|
-
"atLeast":
|
|
84
|
+
"atLeast": 89.69
|
|
83
85
|
},
|
|
84
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "3eb1a1d2d75b2b4a94807cd3bf759bc9fc531f05"
|
|
85
87
|
}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { makeHelpers } from '@agoric/deploy-script-support';
|
|
3
|
+
import { AmountMath } from '@agoric/ertp';
|
|
4
|
+
import {
|
|
5
|
+
FastUSDCConfigShape,
|
|
6
|
+
getManifestForFastUSDC,
|
|
7
|
+
} from '@agoric/fast-usdc/src/fast-usdc.start.js';
|
|
8
|
+
import { toExternalConfig } from '@agoric/fast-usdc/src/utils/config-marshal.js';
|
|
9
|
+
import {
|
|
10
|
+
multiplyBy,
|
|
11
|
+
parseRatio,
|
|
12
|
+
} from '@agoric/zoe/src/contractSupport/ratio.js';
|
|
13
|
+
import { Far } from '@endo/far';
|
|
14
|
+
import { parseArgs } from 'node:util';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @import {CoreEvalBuilder, DeployScriptFunction} from '@agoric/deploy-script-support/src/externalTypes.js'
|
|
18
|
+
* @import {ParseArgsConfig} from 'node:util'
|
|
19
|
+
* @import {FastUSDCConfig} from '@agoric/fast-usdc/src/fast-usdc.start.js'
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
const { keys } = Object;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @type {Record<string, Pick<FastUSDCConfig, 'oracles' | 'feedPolicy'>>}
|
|
26
|
+
*
|
|
27
|
+
* TODO: determine OCW operator addresses
|
|
28
|
+
* meanwhile, use price oracle addresses (from updatePriceFeeds.js).
|
|
29
|
+
*/
|
|
30
|
+
const configurations = {
|
|
31
|
+
A3P_INTEGRATION: {
|
|
32
|
+
oracles: {
|
|
33
|
+
gov1: 'agoric1ee9hr0jyrxhy999y755mp862ljgycmwyp4pl7q',
|
|
34
|
+
gov2: 'agoric1wrfh296eu2z34p6pah7q04jjuyj3mxu9v98277',
|
|
35
|
+
gov3: 'agoric1ydzxwh6f893jvpaslmaz6l8j2ulup9a7x8qvvq',
|
|
36
|
+
},
|
|
37
|
+
feedPolicy: {
|
|
38
|
+
nobleAgoricChannelId: 'TODO',
|
|
39
|
+
nobleDomainId: 4,
|
|
40
|
+
chainPolicies: {
|
|
41
|
+
Arbitrum: {
|
|
42
|
+
cctpTokenMessengerAddress:
|
|
43
|
+
'0x19330d10D9Cc8751218eaf51E8885D058642E08A',
|
|
44
|
+
chainId: 42161,
|
|
45
|
+
confirmations: 2,
|
|
46
|
+
nobleContractAddress: '0x19330d10D9Cc8751218eaf51E8885D058642E08A',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
MAINNET: {
|
|
52
|
+
oracles: {
|
|
53
|
+
DSRV: 'agoric144rrhh4m09mh7aaffhm6xy223ym76gve2x7y78',
|
|
54
|
+
Stakin: 'agoric19d6gnr9fyp6hev4tlrg87zjrzsd5gzr5qlfq2p',
|
|
55
|
+
'01node': 'agoric19uscwxdac6cf6z7d5e26e0jm0lgwstc47cpll8',
|
|
56
|
+
'Simply Staking': 'agoric1krunjcqfrf7la48zrvdfeeqtls5r00ep68mzkr',
|
|
57
|
+
P2P: 'agoric1n4fcxsnkxe4gj6e24naec99hzmc4pjfdccy5nj',
|
|
58
|
+
},
|
|
59
|
+
feedPolicy: {
|
|
60
|
+
nobleAgoricChannelId: 'channel-21',
|
|
61
|
+
nobleDomainId: 4,
|
|
62
|
+
chainPolicies: {
|
|
63
|
+
Arbitrum: {
|
|
64
|
+
cctpTokenMessengerAddress:
|
|
65
|
+
'0x19330d10D9Cc8751218eaf51E8885D058642E08A',
|
|
66
|
+
chainId: 42161,
|
|
67
|
+
confirmations: 2,
|
|
68
|
+
nobleContractAddress: '0x19330d10D9Cc8751218eaf51E8885D058642E08A',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
DEVNET: {
|
|
74
|
+
oracles: {
|
|
75
|
+
DSRV: 'agoric1lw4e4aas9q84tq0q92j85rwjjjapf8dmnllnft',
|
|
76
|
+
Stakin: 'agoric1zj6vrrrjq4gsyr9lw7dplv4vyejg3p8j2urm82',
|
|
77
|
+
'01node': 'agoric1ra0g6crtsy6r3qnpu7ruvm7qd4wjnznyzg5nu4',
|
|
78
|
+
'Simply Staking': 'agoric1qj07c7vfk3knqdral0sej7fa6eavkdn8vd8etf',
|
|
79
|
+
P2P: 'agoric10vjkvkmpp9e356xeh6qqlhrny2htyzp8hf88fk',
|
|
80
|
+
},
|
|
81
|
+
feedPolicy: {
|
|
82
|
+
nobleAgoricChannelId: 'TODO',
|
|
83
|
+
nobleDomainId: 4,
|
|
84
|
+
chainPolicies: {
|
|
85
|
+
Arbitrum: {
|
|
86
|
+
cctpTokenMessengerAddress: '0xTODO',
|
|
87
|
+
chainId: 421614,
|
|
88
|
+
confirmations: 2,
|
|
89
|
+
nobleContractAddress: '0xTODO',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
EMERYNET: {
|
|
95
|
+
oracles: {
|
|
96
|
+
gov1: 'agoric1ldmtatp24qlllgxmrsjzcpe20fvlkp448zcuce',
|
|
97
|
+
gov2: 'agoric140dmkrz2e42ergjj7gyvejhzmjzurvqeq82ang',
|
|
98
|
+
},
|
|
99
|
+
feedPolicy: {
|
|
100
|
+
nobleAgoricChannelId: 'TODO',
|
|
101
|
+
nobleDomainId: 4,
|
|
102
|
+
chainPolicies: {
|
|
103
|
+
Arbitrum: {
|
|
104
|
+
cctpTokenMessengerAddress: '0xTODO',
|
|
105
|
+
chainId: 421614,
|
|
106
|
+
confirmations: 2,
|
|
107
|
+
nobleContractAddress: '0xTODO',
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/** @type {ParseArgsConfig['options']} */
|
|
115
|
+
const options = {
|
|
116
|
+
flatFee: { type: 'string', default: '0.01' },
|
|
117
|
+
variableRate: { type: 'string', default: '0.01' },
|
|
118
|
+
maxVariableFee: { type: 'string', default: '5' },
|
|
119
|
+
contractRate: { type: 'string', default: '0.2' },
|
|
120
|
+
net: { type: 'string' },
|
|
121
|
+
oracle: { type: 'string', multiple: true },
|
|
122
|
+
usdcDenom: {
|
|
123
|
+
type: 'string',
|
|
124
|
+
default:
|
|
125
|
+
'ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9',
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
const oraclesUsage = 'use --oracle name:address ...';
|
|
129
|
+
|
|
130
|
+
const feedPolicyUsage = 'use --feedPolicy <policy> ...';
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @typedef {{
|
|
134
|
+
* flatFee: string;
|
|
135
|
+
* variableRate: string;
|
|
136
|
+
* maxVariableFee: string;
|
|
137
|
+
* contractRate: string;
|
|
138
|
+
* net?: string;
|
|
139
|
+
* oracle?: string[];
|
|
140
|
+
* usdcDenom: string;
|
|
141
|
+
* feedPolicy?: string;
|
|
142
|
+
* }} FastUSDCOpts
|
|
143
|
+
*/
|
|
144
|
+
|
|
145
|
+
const crossVatContext = /** @type {const} */ ({
|
|
146
|
+
/** @type {Brand<'nat'>} */
|
|
147
|
+
USDC: Far('USDC Brand'),
|
|
148
|
+
});
|
|
149
|
+
const { USDC } = crossVatContext;
|
|
150
|
+
const USDC_DECIMALS = 6;
|
|
151
|
+
const unit = AmountMath.make(USDC, 10n ** BigInt(USDC_DECIMALS));
|
|
152
|
+
|
|
153
|
+
/** @type {CoreEvalBuilder} */
|
|
154
|
+
export const defaultProposalBuilder = async (
|
|
155
|
+
{ publishRef, install },
|
|
156
|
+
/** @type {FastUSDCConfig} */ config,
|
|
157
|
+
) => {
|
|
158
|
+
return harden({
|
|
159
|
+
sourceSpec: '@agoric/fast-usdc/src/fast-usdc.start.js',
|
|
160
|
+
/** @type {[string, Parameters<typeof getManifestForFastUSDC>[1]]} */
|
|
161
|
+
getManifestCall: [
|
|
162
|
+
getManifestForFastUSDC.name,
|
|
163
|
+
{
|
|
164
|
+
options: toExternalConfig(config, crossVatContext, FastUSDCConfigShape),
|
|
165
|
+
installKeys: {
|
|
166
|
+
fastUsdc: publishRef(
|
|
167
|
+
install('@agoric/fast-usdc/src/fast-usdc.contract.js'),
|
|
168
|
+
),
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
/** @type {DeployScriptFunction} */
|
|
176
|
+
export default async (homeP, endowments) => {
|
|
177
|
+
const { writeCoreEval } = await makeHelpers(homeP, endowments);
|
|
178
|
+
const { scriptArgs } = endowments;
|
|
179
|
+
|
|
180
|
+
/** @type {{ values: FastUSDCOpts }} */
|
|
181
|
+
// @ts-expect-error ensured by options
|
|
182
|
+
const {
|
|
183
|
+
values: { oracle: oracleArgs, net, usdcDenom, feedPolicy, ...fees },
|
|
184
|
+
} = parseArgs({ args: scriptArgs, options });
|
|
185
|
+
|
|
186
|
+
const parseFeedPolicy = () => {
|
|
187
|
+
if (net) {
|
|
188
|
+
if (!(net in configurations)) {
|
|
189
|
+
throw Error(`${net} not in ${keys(configurations)}`);
|
|
190
|
+
}
|
|
191
|
+
return configurations[net].feedPolicy;
|
|
192
|
+
}
|
|
193
|
+
if (!feedPolicy) throw Error(feedPolicyUsage);
|
|
194
|
+
return JSON.parse(feedPolicy);
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
const parseOracleArgs = () => {
|
|
198
|
+
if (net) {
|
|
199
|
+
if (!(net in configurations)) {
|
|
200
|
+
throw Error(`${net} not in ${keys(configurations)}`);
|
|
201
|
+
}
|
|
202
|
+
return configurations[net].oracles;
|
|
203
|
+
}
|
|
204
|
+
if (!oracleArgs) throw Error(oraclesUsage);
|
|
205
|
+
return Object.fromEntries(
|
|
206
|
+
oracleArgs.map(arg => {
|
|
207
|
+
const result = arg.match(/(?<name>[^:]+):(?<address>.+)/);
|
|
208
|
+
if (!(result && result.groups)) throw Error(oraclesUsage);
|
|
209
|
+
const { name, address } = result.groups;
|
|
210
|
+
return [name, address];
|
|
211
|
+
}),
|
|
212
|
+
);
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
/** @param {string} numeral */
|
|
216
|
+
const toAmount = numeral => multiplyBy(unit, parseRatio(numeral, USDC));
|
|
217
|
+
/** @param {string} numeral */
|
|
218
|
+
const toRatio = numeral => parseRatio(numeral, USDC);
|
|
219
|
+
const parseFeeConfigArgs = () => {
|
|
220
|
+
const { flatFee, variableRate, maxVariableFee, contractRate } = fees;
|
|
221
|
+
return {
|
|
222
|
+
flat: toAmount(flatFee),
|
|
223
|
+
variableRate: toRatio(variableRate),
|
|
224
|
+
maxVariable: toAmount(maxVariableFee),
|
|
225
|
+
contractRate: toRatio(contractRate),
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
/** @type {FastUSDCConfig} */
|
|
230
|
+
const config = harden({
|
|
231
|
+
oracles: parseOracleArgs(),
|
|
232
|
+
terms: {
|
|
233
|
+
usdcDenom,
|
|
234
|
+
},
|
|
235
|
+
feeConfig: parseFeeConfigArgs(),
|
|
236
|
+
feedPolicy: parseFeedPolicy(),
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
await writeCoreEval('start-fast-usdc', utils =>
|
|
240
|
+
defaultProposalBuilder(utils, config),
|
|
241
|
+
);
|
|
242
|
+
};
|
|
@@ -2,8 +2,8 @@ import { makeHelpers } from '@agoric/deploy-script-support';
|
|
|
2
2
|
import { defaultProposalBuilder as vaultProposalBuilder } from './add-collateral-core.js';
|
|
3
3
|
import { defaultProposalBuilder as oraclesProposalBuilder } from './price-feed-core.js';
|
|
4
4
|
|
|
5
|
-
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').
|
|
6
|
-
|
|
5
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
|
|
6
|
+
const starsVaultProposalBuilder = async powers => {
|
|
7
7
|
return vaultProposalBuilder(powers, {
|
|
8
8
|
interchainAssetOptions: {
|
|
9
9
|
// Values for the Stargaze token on Osmosis
|
|
@@ -17,8 +17,8 @@ export const starsVaultProposalBuilder = async powers => {
|
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').
|
|
21
|
-
|
|
20
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
|
|
21
|
+
const starsOraclesProposalBuilder = async powers => {
|
|
22
22
|
return oraclesProposalBuilder(powers, {
|
|
23
23
|
AGORIC_INSTANCE_NAME: `STARS-USD price feed`,
|
|
24
24
|
IN_BRAND_LOOKUP: ['agoricNames', 'oracleBrand', 'STARS'],
|
|
@@ -36,8 +36,9 @@ export const starsOraclesProposalBuilder = async powers => {
|
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
|
|
39
40
|
export default async (homeP, endowments) => {
|
|
40
|
-
const {
|
|
41
|
-
await
|
|
42
|
-
await
|
|
41
|
+
const { writeCoreEval } = await makeHelpers(homeP, endowments);
|
|
42
|
+
await writeCoreEval('add-STARS', starsVaultProposalBuilder);
|
|
43
|
+
await writeCoreEval('add-STARS-oracles', starsOraclesProposalBuilder);
|
|
43
44
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/* eslint-env node */
|
|
2
2
|
import { makeHelpers } from '@agoric/deploy-script-support';
|
|
3
3
|
|
|
4
4
|
import { getManifestForAddAssetToVault } from '@agoric/inter-protocol/src/proposals/addAssetToVault.js';
|
|
5
5
|
import { getManifestForPsm } from '@agoric/inter-protocol/src/proposals/startPSM.js';
|
|
6
6
|
import { makeInstallCache } from '@agoric/inter-protocol/src/proposals/utils.js';
|
|
7
7
|
|
|
8
|
-
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').
|
|
8
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
|
|
9
9
|
export const defaultProposalBuilder = async (
|
|
10
10
|
{ publishRef, install: install0, wrapInstall },
|
|
11
11
|
{
|
|
@@ -62,7 +62,7 @@ export const defaultProposalBuilder = async (
|
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').
|
|
65
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
|
|
66
66
|
export const psmProposalBuilder = async (
|
|
67
67
|
{ publishRef, install: install0, wrapInstall },
|
|
68
68
|
{ anchorOptions = /** @type {object} */ ({}) } = {},
|
|
@@ -103,16 +103,20 @@ export const psmProposalBuilder = async (
|
|
|
103
103
|
});
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
|
|
106
107
|
export default async (homeP, endowments) => {
|
|
107
|
-
const {
|
|
108
|
+
const { writeCoreEval } = await makeHelpers(homeP, endowments);
|
|
108
109
|
|
|
109
110
|
const tool = await makeInstallCache(homeP, {
|
|
110
111
|
loadBundle: spec => import(spec),
|
|
111
112
|
});
|
|
112
113
|
|
|
113
|
-
await
|
|
114
|
-
await
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
await writeCoreEval('gov-add-collateral', defaultProposalBuilder);
|
|
115
|
+
await writeCoreEval('gov-start-psm', opts =>
|
|
116
|
+
psmProposalBuilder({
|
|
117
|
+
...opts,
|
|
118
|
+
// @ts-expect-error XXX makeInstallCache types
|
|
119
|
+
wrapInstall: tool.wrapInstall,
|
|
120
|
+
}),
|
|
117
121
|
);
|
|
118
122
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/* eslint-env node */
|
|
2
2
|
/**
|
|
3
3
|
* @file can be run with `agoric deploy` after a chain is running (depends on
|
|
4
4
|
* chain state) Only works with "local" chain and not sim-chain b/c it needs
|
|
@@ -125,7 +125,7 @@ export const mainProposalBuilder = async ({
|
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
// Build proposal for sim-chain etc.
|
|
128
|
-
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').
|
|
128
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
|
|
129
129
|
export const defaultProposalBuilder = async (
|
|
130
130
|
{ publishRef, install },
|
|
131
131
|
options = {},
|
|
@@ -184,18 +184,19 @@ export const defaultProposalBuilder = async (
|
|
|
184
184
|
});
|
|
185
185
|
};
|
|
186
186
|
|
|
187
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
|
|
187
188
|
export default async (homeP, endowments) => {
|
|
188
|
-
const {
|
|
189
|
+
const { writeCoreEval } = await makeHelpers(homeP, endowments);
|
|
189
190
|
|
|
190
191
|
const tool = await makeInstallCache(homeP, {
|
|
191
192
|
loadBundle: spec => import(spec),
|
|
192
193
|
});
|
|
193
194
|
await Promise.all([
|
|
194
|
-
|
|
195
|
+
writeCoreEval('gov-econ-committee', opts =>
|
|
195
196
|
// @ts-expect-error XXX makeInstallCache types
|
|
196
197
|
committeeProposalBuilder({ ...opts, wrapInstall: tool.wrapInstall }),
|
|
197
198
|
),
|
|
198
|
-
|
|
199
|
+
writeCoreEval('gov-amm-vaults-etc', opts =>
|
|
199
200
|
// @ts-expect-error XXX makeInstallCache types
|
|
200
201
|
mainProposalBuilder({ ...opts, wrapInstall: tool.wrapInstall }),
|
|
201
202
|
),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/* eslint-env node */
|
|
2
2
|
import { makeHelpers } from '@agoric/deploy-script-support';
|
|
3
3
|
|
|
4
4
|
import { getManifestForInviteCommittee } from '@agoric/inter-protocol/src/proposals/committee-proposal.js';
|
|
5
5
|
|
|
6
6
|
// Build proposal for sim-chain etc.
|
|
7
|
-
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').
|
|
7
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
|
|
8
8
|
export const defaultProposalBuilder = async (
|
|
9
9
|
{ publishRef, install },
|
|
10
10
|
options = {},
|
|
@@ -36,7 +36,8 @@ export const defaultProposalBuilder = async (
|
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
|
|
39
40
|
export default async (homeP, endowments) => {
|
|
40
|
-
const {
|
|
41
|
-
await
|
|
41
|
+
const { writeCoreEval } = await makeHelpers(homeP, endowments);
|
|
42
|
+
await writeCoreEval('gov-invite-committee', defaultProposalBuilder);
|
|
42
43
|
};
|
|
@@ -48,6 +48,7 @@ export default async function priceAuthorityFromNotifier(
|
|
|
48
48
|
|
|
49
49
|
if (!aggregatorInstance) {
|
|
50
50
|
console.log('Autodetecting aggregator instance...');
|
|
51
|
+
// @ts-expect-error inspecific Home type
|
|
51
52
|
const purse = E(home.wallet).getPurse('Default Zoe invite purse');
|
|
52
53
|
const { value } = await E(purse).getCurrentAmount();
|
|
53
54
|
const invitations = value.filter(
|
|
@@ -81,6 +82,7 @@ export default async function priceAuthorityFromNotifier(
|
|
|
81
82
|
};
|
|
82
83
|
|
|
83
84
|
console.log('Getting wallet bridge...');
|
|
85
|
+
// @ts-expect-error inspecific Home type
|
|
84
86
|
const bridge = await E(home.wallet).getBridge();
|
|
85
87
|
|
|
86
88
|
// Consume an aggregator invitation for this instance.
|
|
@@ -94,6 +96,7 @@ export default async function priceAuthorityFromNotifier(
|
|
|
94
96
|
() => {},
|
|
95
97
|
);
|
|
96
98
|
|
|
99
|
+
// @ts-expect-error inspecific Home type
|
|
97
100
|
const walletAdmin = E(home.wallet).getAdminFacet();
|
|
98
101
|
|
|
99
102
|
console.log('=====================================================');
|
|
@@ -111,6 +114,7 @@ export default async function priceAuthorityFromNotifier(
|
|
|
111
114
|
const orKey = `offerResult ${id}`;
|
|
112
115
|
await E(home.scratch).set(
|
|
113
116
|
orKey,
|
|
117
|
+
// @ts-expect-error inspecific Home type
|
|
114
118
|
E(home.wallet).lookup('offerResult', id),
|
|
115
119
|
);
|
|
116
120
|
console.log(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/* eslint-env node */
|
|
2
2
|
import { makeHelpers } from '@agoric/deploy-script-support';
|
|
3
3
|
|
|
4
|
-
const DEFAULT_CONTRACT_TERMS = {
|
|
4
|
+
export const DEFAULT_CONTRACT_TERMS = {
|
|
5
5
|
POLL_INTERVAL: 30n,
|
|
6
6
|
maxSubmissionCount: 1000,
|
|
7
7
|
minSubmissionCount: 2,
|
|
@@ -11,7 +11,7 @@ const DEFAULT_CONTRACT_TERMS = {
|
|
|
11
11
|
maxSubmissionValue: 2n ** 256n,
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').
|
|
14
|
+
/** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
|
|
15
15
|
export const defaultProposalBuilder = async (
|
|
16
16
|
{ publishRef, install },
|
|
17
17
|
options = {},
|
|
@@ -84,7 +84,7 @@ export const createGov = async (homeP, endowments) => {
|
|
|
84
84
|
|
|
85
85
|
const oracleAddresses = ORACLE_ADDRESSES.split(',');
|
|
86
86
|
|
|
87
|
-
const {
|
|
87
|
+
const { writeCoreEval } = await makeHelpers(homeP, endowments);
|
|
88
88
|
|
|
89
89
|
const inLookup = JSON.parse(IN_BRAND_LOOKUP);
|
|
90
90
|
const outLookup = JSON.parse(OUT_BRAND_LOOKUP);
|
|
@@ -98,7 +98,7 @@ export const createGov = async (homeP, endowments) => {
|
|
|
98
98
|
brandIn: lookup(inLookup).catch(() => undefined),
|
|
99
99
|
brandOut: lookup(outLookup).catch(() => undefined),
|
|
100
100
|
});
|
|
101
|
-
await
|
|
101
|
+
await writeCoreEval('gov-price-feed', proposalBuilder); // gov-price-feed.js gov-price-feed-permit.json
|
|
102
102
|
};
|
|
103
103
|
|
|
104
104
|
export default createGov;
|