Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: combine master and dev-upgrade-18 for rc6 #10772

Merged
merged 797 commits into from
Dec 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
797 commits
Select commit Hold shift + click to select a range
843ad24
refactor: mockStream, concise flags
dckc Dec 3, 2024
ccb969e
refactor: move mockStream(...) to fast-usdc/tools/
dckc Dec 3, 2024
8674c75
refactor: move flags() to fast-usdc/tools/
dckc Dec 3, 2024
13e68a9
chore: use AGORIC_NET for agoric RPC endpoint in transfer cmd
dckc Dec 3, 2024
4c92dbb
docs(fast-usdc): add cli help text re AGORIC_NET
dckc Dec 3, 2024
918eabe
chore(fast-usdc): regen snapshots with AGORIC_NET docs
dckc Dec 4, 2024
d6a7ffb
feat(fast-usdc): operator attest cli command (#10610)
mergify[bot] Dec 4, 2024
f0447c5
test(fast-usdc): count computrons for advancement
samsiegart Dec 4, 2024
db7d1e3
chore: remove unused type imports
samsiegart Dec 4, 2024
39d3796
ci: fast-usdc bootstrap tests in xs
samsiegart Dec 4, 2024
8b9c8db
test(fast-usdc): count computrons for advancement (#10621)
mergify[bot] Dec 4, 2024
e596a01
don't reschedule auction's price notifier if we already have one (#10…
Chris-Hibbert Dec 4, 2024
eb975f1
feat: `ForwardOpts` accepts `intermediateRecipient`
0xpatrickdev Dec 4, 2024
24bd0cf
chore: improve trace logs
0xpatrickdev Dec 4, 2024
80d279e
chore: remove `blockTimestamp` from `CctpTxEvidence`
0xpatrickdev Dec 4, 2024
9664aaa
chore: cosmos-orch-account does not require staking denom
0xpatrickdev Dec 4, 2024
4bb39bd
chore: `bridgeUtils.setAckBehavior`
0xpatrickdev Dec 5, 2024
944df0b
chore: provide noble ica for `intermediateRecipient`
0xpatrickdev Dec 4, 2024
64a6dce
chore: `bridgeUtils.setBech32Prefix`
0xpatrickdev Dec 5, 2024
1847618
chore: bridge supports unique address per ICA
0xpatrickdev Dec 5, 2024
ef9088c
chore: fusdc multichain support (#10626)
mergify[bot] Dec 6, 2024
a1856f3
chore: add dATOM brand name to DEVNET config
Dec 6, 2024
3653dc7
chore: add dATOM brand name to DEVNET config (#10634)
mergify[bot] Dec 6, 2024
ad4e83e
fix(telemetry): Empty context persisted when remaining beans are nega…
usmanmani1122 Dec 6, 2024
1b25d99
chore(deps): yarn dedupe
turadg Dec 5, 2024
f2061de
chore(deps): remove obsolete patch for acorn
turadg Dec 5, 2024
3636200
chore(deps): dev version of cosmic-proto
turadg Dec 5, 2024
4c91d52
chore(deps): bump typescript-eslint to 8.17.0
turadg Dec 5, 2024
f41d7c6
chore(deps): bump prettier to 3.4.2
turadg Dec 5, 2024
679a153
chore(deps): bump ts-blank-space to 0.4.4
turadg Dec 5, 2024
8aa9c48
chore(deps): npx yarn-deduplicate
turadg Dec 5, 2024
27b60cf
chore(deps): bump eslint-plugin-github to 5.1.4
turadg Dec 5, 2024
881a2f2
chore(deps): npx yarn-deduplicate
turadg Dec 5, 2024
9fe92db
lint: update config for typescript-eslint v8
turadg Dec 5, 2024
57574e2
chore(deps): bump eslint to 8.57.1
turadg Dec 5, 2024
28af099
chore(deps): bump eslint-plugin-import to 2.31.0
turadg Dec 5, 2024
e250d8c
chore(deps): npx yarn-deduplicate
turadg Dec 5, 2024
01c61d6
chore: rm broken/obsolete test
turadg Dec 5, 2024
11179de
lint: disable type-aware linting for .dts
turadg Dec 5, 2024
5908077
lint: align tsconfig with eslint config
turadg Dec 5, 2024
c14cb78
chore(types): update coverage
turadg Dec 6, 2024
a66f6a1
misc dep bumps (#10630)
mergify[bot] Dec 6, 2024
8e6dd19
refactor(fast-usdc): move FastUSDCConfig to types.ts
dckc Dec 3, 2024
db283e1
feat(fast-usdc): core-eval to update feed policy
dckc Dec 3, 2024
27462fc
chore(fast-usdc): add deploy config from builder
dckc Dec 3, 2024
c13594f
refactor(boot): organize fast-usdc imports
dckc Dec 3, 2024
e82135f
test(boot): core-eval to change fastUsdc.feedPolicy
dckc Dec 3, 2024
da831d9
chore(deps): boot depends on fast-usdc
dckc Dec 3, 2024
58fb1bc
chore(builders): sync fast-usdc options config, usage to code
dckc Dec 3, 2024
8ded3d8
feat(builders): fast-usdc policy update builder
dckc Dec 3, 2024
1645d7e
feat(fast-usdc): core-eval to change fastUsdc.feedPolicy (#10609)
mergify[bot] Dec 8, 2024
fcc7b1c
chore(SwingSet): Improve anachrophobia messages
gibson042 Nov 13, 2024
1b6eb14
chore(SwingSet): Use consistent prefixes for delivery/syscall numbers…
gibson042 Nov 13, 2024
56d1c14
chore(SwingSet): Improve anachrophobia messages (#10469)
mergify[bot] Dec 9, 2024
82447f3
fix(z:acceptance): fix flakey `z:acceptance/vaults.test.js`
anilhelvaci Dec 8, 2024
74ab972
fix(z:acceptance): fix flakey `z:acceptance/vaults.test.js` (#10643)
mergify[bot] Dec 9, 2024
56330f4
chore(vat-upgrade): upgrade agoricNames, test old values are preserved
anilhelvaci Dec 4, 2024
e35d9d6
chore(vat-upgrade): enhance test coverage of agoricNames functionalit…
anilhelvaci Dec 4, 2024
cd35800
chore(vat-upgrade): simulate what init-chain-info.js is doing
anilhelvaci Dec 7, 2024
86e3b2d
chore(vat-upgrade): upgrade agoricNames, test old values are preserve…
mergify[bot] Dec 9, 2024
046779f
chore(a3p-integration): exit on error in fast-usdc a3p test
dckc Dec 6, 2024
eb82ae3
feat(fast-usdc): limited operation before connecting to noble
dckc Dec 9, 2024
508a3e0
feat(builders): --noNoble option for init-fast-usdc
dckc Dec 9, 2024
c9ba09e
chore(a3p-integration): use --noNoble for fast-usdc
dckc Dec 9, 2024
340ef0d
chore(fast-usdc): limited operation before connecting to noble (#10641)
mergify[bot] Dec 10, 2024
1f47164
fix: vstorage fastUsdc path
turadg Dec 6, 2024
fe99b81
refactor: makeStatusNode to statusNode eref
turadg Dec 6, 2024
057977f
docs: composite keys
turadg Dec 6, 2024
6ddc959
test: replace lookupPending with vstorage test
turadg Dec 6, 2024
b04cb98
refactor: recordStatus -> publishStatus
turadg Dec 6, 2024
a4dc42f
docs: advance() skips OBSERVED
turadg Dec 7, 2024
b424550
refactor: initPendingTx and setPendingTxStatus
turadg Dec 7, 2024
c7a3167
refactor(types): don't export internal keys
turadg Dec 7, 2024
5751bf5
refactor: simplify db keys
turadg Dec 7, 2024
f77b0ec
lint: cleanup unused eslint-disable
turadg Dec 10, 2024
1231911
misc fastUsdc vstorage cleanup (#10661)
mergify[bot] Dec 10, 2024
4c0c372
feat(fast-usdc): cli for lp deposit and withdraw
samsiegart Dec 6, 2024
c1ae023
feat(fast-usdc): cli for lp deposit and withdraw (#10636)
mergify[bot] Dec 10, 2024
a74161c
refactor: Don't reschedule vault's priceNotifier if one exists
Chris-Hibbert Dec 10, 2024
34f026b
Don't reschedule vault's priceNotifier if one exists (#10668)
mergify[bot] Dec 11, 2024
4d17a3f
chore: publish account addresses to storage
0xpatrickdev Dec 10, 2024
092ad4a
chore: publish `PoolMetrics` to child node
0xpatrickdev Dec 10, 2024
bd2a960
test: `fastUsdc` vstorage coverage
0xpatrickdev Dec 10, 2024
475e720
chore: fusdc `getStaticInfo` PF method
0xpatrickdev Dec 10, 2024
5affa34
chore: fusdc vstorage (#10639)
mergify[bot] Dec 11, 2024
dbad30b
feat(vats): first cut of Address Hooks in JS
michaelfig Dec 3, 2024
5014cf9
build(deps): regenerate `yarn.lock`s
michaelfig Dec 6, 2024
159098b
feat(vtransfer): port some `address-hooks.js` functions to Go
michaelfig Dec 8, 2024
c8ad417
docs(cosmic-proto): generate initial typedoc
michaelfig Dec 10, 2024
945fef1
feat: `bech32` Address Hooks (#10613)
mergify[bot] Dec 11, 2024
3b478fb
fix(telemetry): timer-poll run.id (#10672)
mhofman Dec 11, 2024
fbae24c
fix(client-utils): only call `fetch` as a function, not a method (#10…
erights Dec 11, 2024
a3872d0
chore(types): stdout optional
turadg Dec 11, 2024
e115474
chore(types): add typescript
turadg Dec 11, 2024
10302ad
test: vstorageKit.agoricNames
turadg Dec 11, 2024
1c69d39
chore!: remove agoricNames from VstorageKit
turadg Dec 11, 2024
15976b5
refactor: s/makeWalletUtils/makeSmartWalletKit
turadg Dec 11, 2024
b7180b0
refactor: fu cmds with SmartWalletKit
turadg Dec 11, 2024
fdcf70c
refactor: backwards-compat for wallet-utils
turadg Dec 11, 2024
97e431f
test: replace rpc.js with client-utils
turadg Dec 11, 2024
36a986b
test: DRYer z:acceptance test-lib
turadg Dec 11, 2024
501be3a
test: base makeAgdWalletUtils on SmartWalletKit
turadg Dec 11, 2024
8f9f075
synchronous makeVstorageKit (#10670)
mergify[bot] Dec 11, 2024
8955990
chore: `ChainPolicy` schema
0xpatrickdev Dec 12, 2024
bdf5c17
chore: fusdc `ChainPolicy` schema (#10679)
mergify[bot] Dec 12, 2024
01a15d0
test(a3p): add mintHolder upgrade test and helpers
Jorge-Lopes Dec 10, 2024
02fde3c
chore(a3p): add submission and update client-utils version
Jorge-Lopes Dec 10, 2024
6ef9705
chore(mintHolder): add mintHolder null upgrade core-eval
Jorge-Lopes Dec 11, 2024
aa864ce
fix(a3p): remove usage of duplicated code
Jorge-Lopes Dec 12, 2024
059601c
test(a3p): test mintHolder functionalities after contract null upgrad…
mergify[bot] Dec 12, 2024
12510e9
chore: resolve `withdrawToSeat` TODO with comment
0xpatrickdev Dec 9, 2024
d04c5ea
fix: do not stringify logs
0xpatrickdev Dec 12, 2024
b7065e7
chore: return advance payment to LP if `zoeTools.localTransfer` fails
0xpatrickdev Dec 12, 2024
81517e2
chore: do not call `shutdownWithFailure()` if `atomicRearrange()` fails
0xpatrickdev Dec 12, 2024
50c1bd1
refactor: `LP.borrowerFacet` expects `Amount`, not `AmountKWR`
0xpatrickdev Dec 12, 2024
4feddb0
chore: fusdc recovery paths (#10659)
mergify[bot] Dec 12, 2024
e3c2665
fix(address-hooks): throw if the version is unsupported
michaelfig Dec 11, 2024
d17e55b
fix(cosmos): return an error if version is unsupported
michaelfig Dec 11, 2024
80fee60
fix(address-hooks): use `harden` (or `freeze`)
michaelfig Dec 11, 2024
ddff762
fix(address-hooks): version robustness and hardening (#10683)
mergify[bot] Dec 13, 2024
e86a5e1
chore: `decodeAddressHook` `throws` annotation
0xpatrickdev Dec 11, 2024
6091992
chore: use address-hook encoding
0xpatrickdev Dec 11, 2024
254e849
chore: fusdc uses bech32 address hook encoding (#10682)
mergify[bot] Dec 13, 2024
14fa39b
chore: `setupTestKeys` optionally takes mnemonics
0xpatrickdev Dec 4, 2024
6cb025a
chore: export denom tools
0xpatrickdev Dec 4, 2024
1f4b4c6
chore: `WalletDriver` type
0xpatrickdev Dec 4, 2024
46f94d5
refactor: `commonBuilderOpts`
0xpatrickdev Dec 5, 2024
e124d85
chore: `flags` supports mutli option
0xpatrickdev Dec 5, 2024
e60589f
chore: ensure latest view on vbank entries
0xpatrickdev Dec 10, 2024
46f5743
test: fast-usdc advance happy path
0xpatrickdev Dec 4, 2024
2c4d7cd
chore: `await` `deleteTestKeys`
0xpatrickdev Dec 11, 2024
a56f407
chore: ava `failFast: true`
0xpatrickdev Dec 11, 2024
c7a005e
test: fusdc multichain (#10618)
mergify[bot] Dec 13, 2024
adbd7d3
chore(provisionPool): add governedParamOverrides to privateArgs
Jorge-Lopes Dec 6, 2024
e4fc720
chore(provisionPool): simplify defining of governedParamOverrides
Jorge-Lopes Dec 9, 2024
be7c97f
chore(governance): add overrides argument to handleParamGovernance
Jorge-Lopes Dec 10, 2024
6c5ccde
chore(provisionPool): allow the overriding of governed param
Jorge-Lopes Dec 10, 2024
6e25d9f
chore(provisionPool): allow overriding PerAccountInitialAmount during…
mergify[bot] Dec 13, 2024
c883c39
feat: record instances that will be replaced so we can manage them
Chris-Hibbert Dec 11, 2024
1581127
refactor: provideRetiredInstances
turadg Dec 12, 2024
d35659b
Record instances that will be replaced so we can manage them (#10680)
mergify[bot] Dec 13, 2024
6b6a241
test: add retry logic to `provisionSmartWallet`
0xpatrickdev Dec 13, 2024
0cdb981
chore: restore skipped test
0xpatrickdev Dec 13, 2024
4823e85
chore: `provisionSmartWallet` flake (#10691)
mergify[bot] Dec 13, 2024
140c1be
Save the contractKit for the auctioneer before overwriting it (#10694)
Chris-Hibbert Dec 14, 2024
3e27c74
test: add proposal w/300 E(chainTimerService).getTimerBrand() calls (…
Chris-Hibbert Dec 16, 2024
ab3fcb5
build(deps): use backport of cosmos-sdk v0.46.15
michaelfig Dec 16, 2024
c025cb7
fix(cosmic-swingset): expect chain --halt-height exit status > 1
michaelfig Dec 16, 2024
5939b2a
build(deps): use backport of cosmos-sdk v0.46.15 (#10704)
mergify[bot] Dec 16, 2024
092056b
test: advance and settle as a macro
0xpatrickdev Dec 13, 2024
1eb9eb1
chore: "oracles accept" handles already accepted invs
0xpatrickdev Dec 13, 2024
4ce1540
test(acceptance): skip make proposal and vote; seems flaky
dckc Dec 16, 2024
9e124c3
test(multichain): fusdc "advance and settle" as a macro (#10692)
mergify[bot] Dec 17, 2024
1eb858d
chore(vaultFactory): add core-eval for null upgrade vaultFactory
Jorge-Lopes Dec 2, 2024
662fa2c
chore(a3p): add new submissions from governance acceptance tests
Jorge-Lopes Dec 2, 2024
75c8a12
chore(governance):Refactor makeGovernanceDriver methods to be contrac…
Jorge-Lopes Dec 9, 2024
c9bd9a4
fix(a3p): change test execution order
Jorge-Lopes Dec 11, 2024
4b660fd
test(a3p): extend governance testing coverage
Jorge-Lopes Dec 11, 2024
938d615
chore(a3p): refactor makeVStorage to be aligned with batchQuery.js
Jorge-Lopes Dec 11, 2024
dccf7bc
test(a3p): extend governance test with proposals history
Jorge-Lopes Dec 13, 2024
dc7388c
chore(vaultFactory): include insightful comments
Jorge-Lopes Dec 16, 2024
ecddebd
fix(a3p): minor fixes to governance test and helpers
Jorge-Lopes Dec 16, 2024
bc1f87a
fix(vaultFactory): fix proposal description
Jorge-Lopes Dec 16, 2024
cc4c1a2
fix(a3p): remove duplicated await
Jorge-Lopes Dec 17, 2024
28b4884
chore: switch using waitForElectionResult, eliminate flakiness
anilhelvaci Dec 17, 2024
9835fb0
test(a3p): extend governance test coverage for acceptance proposal (#…
mergify[bot] Dec 17, 2024
293ac50
lint: tsc checkJs
turadg Dec 16, 2024
3c63de2
chore(deps): link agoric-sdk
turadg Dec 16, 2024
b5698ce
feat: getValues for sequence nodes
turadg Dec 13, 2024
fd09c05
refactor: distinguish NFA address
turadg Dec 14, 2024
71b1859
test: trace logger
turadg Dec 17, 2024
fd05a7e
feat: simplify seenTxs key
turadg Dec 14, 2024
6df7f1f
feat: pureDataMarshaller
turadg Dec 16, 2024
01315f1
test: getPureData helper
turadg Dec 16, 2024
ebdb5e9
test: provide smartWalletKit
turadg Dec 16, 2024
f99e7b8
feat: include 'sender' in CctpTxEvidence
turadg Dec 13, 2024
aebb4d7
feat: vstorage status --> txns
turadg Dec 6, 2024
fc8bb1e
refactor: txnsNode
turadg Dec 17, 2024
1637c1d
test: shorten node path
turadg Dec 13, 2024
2916c8f
feat: publish CctpTxEvidence
turadg Dec 7, 2024
d82f7e7
test: observe node sequence
turadg Dec 13, 2024
f0078ee
feat: deleteCompletedTxs
turadg Dec 13, 2024
dbf3934
feat: consistent publishTxnRecord (record)
turadg Dec 14, 2024
00e7a8d
chore(types): import CctpTxEvidence
turadg Dec 17, 2024
19d5e03
feat: defaultSerializer util
turadg Dec 16, 2024
c20866d
test: use defaultSerializer
turadg Dec 16, 2024
7e62d8f
feat: publish OBSERVED with first evidence
turadg Dec 16, 2024
ccb9e28
feat(types): TransactionRecord
turadg Dec 16, 2024
a2813f6
transaction vstorage (#10633)
mergify[bot] Dec 17, 2024
bfca51a
Add AssetReserve to Upgrade 19 with A3P test coverage (#10541)
iomekam Dec 17, 2024
32f1398
feat: add an accessor for the vaultDirector's parameters
Chris-Hibbert Dec 16, 2024
adb17dd
feat: add an accessor for the vaultDirector's parameters (#10707)
mergify[bot] Dec 17, 2024
02c111b
feat: storage-test-utils report missing data
turadg Dec 17, 2024
12627ee
test: DRY setup of status-manager test
turadg Dec 17, 2024
8c5bf85
test: quieter advancer test
turadg Dec 17, 2024
28cc2f6
refactor: inline publishStatus
turadg Dec 17, 2024
e3f49be
refactor: full marshaller
turadg Dec 17, 2024
8846972
feat: record fee split in transaction
turadg Dec 17, 2024
9418efc
record transaction fees (#10715)
mergify[bot] Dec 17, 2024
caf6d7a
chore: constrain fast-usdc config for Mainnet
turadg Dec 17, 2024
621e22f
test: disabled operators
turadg Dec 17, 2024
0b57a65
refactor: TransactionFeed attest
turadg Dec 17, 2024
1e52a41
refactor: sync submitEvidence
turadg Dec 17, 2024
fb4ff30
refactor: attest by operatorId
turadg Dec 17, 2024
bc28201
feat: operator majority logic
turadg Dec 17, 2024
cd2a40c
feat: error on conflicting evidence
turadg Dec 17, 2024
9e5f628
Operator attestation policy (#10721)
mergify[bot] Dec 18, 2024
2828444
feat(fast-usdc): detect transfer completion in cli
samsiegart Dec 17, 2024
6fbd20a
feat(fast-usdc): detect transfer completion in cli (#10717)
mergify[bot] Dec 18, 2024
702e494
test: turn on test of priceAuthority registry
Chris-Hibbert Dec 18, 2024
274240a
Turn on test of priceAuthority registry (#10731)
mergify[bot] Dec 18, 2024
ae1963e
feat(fast-usdc): add FastLP/ufastlp to vbank
dckc Dec 17, 2024
b7aa5f0
test(boot): FastLP/ufastlp is in published.agoricNames.vbankAsset
dckc Dec 17, 2024
2ba4a95
test(boot): FastLP balance not in wallet record
dckc Dec 17, 2024
26d3b0f
test: get FastLP/ufastlp balance from x/bank query
dckc Dec 17, 2024
3815e4c
chore: walletDriver supports getAddress()
dckc Dec 18, 2024
c1d2b71
feat: add FastLP to vbank (#10709)
mergify[bot] Dec 18, 2024
6f49369
tools: makeTestAddress helper
0xpatrickdev Dec 18, 2024
45eeee0
chore: mock `VLOCALCHAIN_ALLOCATE_ADDRESS` handler returns valid bech32
0xpatrickdev Dec 17, 2024
5ad59bd
chore: `makeFakeLocalchainBridge` accepts `makeAddressFn`
0xpatrickdev Dec 17, 2024
e06f12a
chore: `advancer` validates `settlementAddress`
0xpatrickdev Dec 17, 2024
7b7ceb9
chore: `advancer` validates `settlementAccount` address (#10723)
mergify[bot] Dec 18, 2024
1f25ee2
refactor(orchestration,time,zoe): Avoid name convention conflict (#10…
erights Dec 20, 2024
ff6737a
feat(fast-usdc): support risk assessment arg
samsiegart Dec 20, 2024
9cb1472
feat(fast-usdc): support risk assessment arg (#10753)
mergify[bot] Dec 20, 2024
c2c9be3
feat: save the outgoing EC Charter instance and kit
Chris-Hibbert Dec 19, 2024
355a2e1
chore: from review: add trace, minor cleanups
Chris-Hibbert Dec 20, 2024
e5813b9
feat: save the outgoing EC Charter instance and kit (#10749)
mergify[bot] Dec 20, 2024
3a77937
chore: add failing test of slotToVal memory leak for watchPromise
warner Dec 20, 2024
874196c
fix(liveslots): avoid slotToVal memory leak for watched promises
warner Dec 20, 2024
4472050
fix(liveslots): avoid slotToVal memory leak for watched promises (#10…
mergify[bot] Dec 21, 2024
2bc73ce
chore: slog.slog in ci artifacts
0xpatrickdev Dec 20, 2024
fef1774
chore: `slog.slog` in `multichain-testing` ci artifacts (#10759)
mergify[bot] Dec 21, 2024
837776e
feat: migrate upgrade of v7-board from upgrade 19 to upgrade 18 (#10…
Chris-Hibbert Dec 21, 2024
39d8f59
chore(cosmic-swingset): Add `phase` to cosmic-swingset-run-{start,fin…
gibson042 Dec 23, 2024
a944f4c
feat(cosmos): Support arbitrary core eval builder arguments (#10767)
gibson042 Dec 23, 2024
7c55ba8
chore: provision gov4 in PREPARE
mujahidkay Nov 19, 2024
d575daa
Cherry-pick u18 branch a3p test change (#10768)
mergify[bot] Dec 23, 2024
59fa82c
fix(agd): upgrade all orchestration vats to new liveslots
michaelfig Dec 23, 2024
2253ae6
refactor(vats): rename `upgrade-orch-core` to `upgrade-vats-generic`
michaelfig Dec 23, 2024
e543d46
chore(agd): upgrade all orchestration vats to new liveslots (#10764)
mergify[bot] Dec 24, 2024
9a8b29b
test: Look for new vat cleanup budget parameter in a3p-integration
gibson042 Dec 23, 2024
aeb35aa
chore: Add core-eval for terminating mainnet v110 zcf-b1-9f877-stkATO…
gibson042 Dec 20, 2024
b5c4eaa
chore: Generalize new core-eval to terminate any governor instances
gibson042 Dec 20, 2024
7ec7851
chore: Add unreleased-upgrade core-eval to terminate a3p-integration …
gibson042 Dec 20, 2024
61a5896
chore: Add post-upgrade core-eval proposal for terminating v26 zcf-b1…
gibson042 Dec 23, 2024
10b789b
chore: Add core-eval for terminating v110 zcf-b1-9f877-stkATOM-USD_pr…
mergify[bot] Dec 24, 2024
7d2eea8
build(deps): update to CometBFT with ping fix
michaelfig Dec 24, 2024
e06691f
build(deps): update to CometBFT with ping fix (#10770)
mergify[bot] Dec 24, 2024
38d4747
Merge branch 'dev-upgrade-18' into mk/u18-merge
mujahidkay Dec 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# also ignored in packages/cosmic-proto/.eslintignore, but IDE's pick up the root config
packages/cosmic-proto/dist
packages/cosmic-proto/node_modules/
packages/cosmic-proto/coverage/
packages/cosmic-proto/dist/
packages/cosmic-proto/proto/
packages/cosmic-proto/src/codegen/
43 changes: 29 additions & 14 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,12 @@ module.exports = {
root: true,
parser: '@typescript-eslint/parser',
parserOptions: {
// Works for us!
EXPERIMENTAL_useProjectService: true,
useProjectService: true,
sourceType: 'module',
project: [
'./packages/*/tsconfig.json',
'./packages/*/tsconfig.json',
'./packages/wallet/*/tsconfig.json',
'./tsconfig.json',
],
projectService: {
allowDefaultProject: ['*.js'],
defaultProject: 'tsconfig.json',
},
tsconfigRootDir: __dirname,
extraFileExtensions: ['.cjs'],
},
Expand Down Expand Up @@ -141,6 +138,9 @@ module.exports = {
// CI has a separate format check but keep this warn to maintain that "eslint --fix" prettifies
// UNTIL https://github.com/Agoric/agoric-sdk/issues/4339
'prettier/prettier': 'warn',

// Not a risk with our coding style
'no-use-before-define': 'off',
},
settings: {
jsdoc: {
Expand Down Expand Up @@ -174,8 +174,8 @@ module.exports = {
{
files: [
'packages/**/demo/**/*.js',
'packages/*/test/**/*.js',
'packages/*/test/**/*.test.js',
'packages/*/test/**/*.*s',
'packages/*/test/**/*.test.*s',
'packages/wallet/api/test/**/*.js',
],
rules: {
Expand All @@ -185,12 +185,23 @@ module.exports = {
// NOTE: This rule is enabled for the repository in general. We turn it
// off for test code for now.
'@jessie.js/safe-await-separator': 'off',

// Like `'ava/no-only-test`, but works with @endo/ses-ava
'no-restricted-properties': [
'error',
{
object: 'test',
property: 'only',
message:
'Do not commit .only tests - they prevent other tests from running',
},
],
},
},
{
// These tests use EV() instead of E(), which are easy to confuse.
// Help by erroring when E() packages are imported.
files: ['packages/boot/test/**/*.test.*'],
files: ['packages/boot/test/**/*.test.*s'],
rules: {
'no-restricted-imports': [
'error',
Expand Down Expand Up @@ -226,12 +237,16 @@ module.exports = {
{
files: ['*.d.ts'],
rules: {
// Irrelevant in a typedef
'no-use-before-define': 'off',
// Linter confuses the type declaration with value declaration
'no-redeclare': 'off',
},
},
{
// disable type-aware linting for these files that have can have a .d.ts twin
// because it can't go into tsconfig (because that would cause tsc build to overwrite the .d.ts twin)
files: ['exported.*', 'types-index.*', 'types-ambient.*', 'types.*'],
extends: ['plugin:@typescript-eslint/disable-type-checked'],
},
{
// disable type-aware linting in HTML
files: ['*.html'],
Expand All @@ -243,7 +258,7 @@ module.exports = {
files: ['a3p-integration/**'],
extends: ['plugin:@typescript-eslint/disable-type-checked'],
parserOptions: {
EXPERIMENTAL_useProjectService: false,
useProjectService: false,
project: false,
},
rules: {
Expand Down
12 changes: 6 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@
v ✰ Thanks for creating a PR! ✰
☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -->

<!-- Most PRs should close a specific issue. All PRs should at least reference one or more issues. Edit and/or delete the following lines as appropriate (note: you don't need both `refs` and `closes` for the same one): -->

closes: #XXXX
refs: #XXXX

<!-- Integration testing generally doesn't run until a PR is labeled for merge, but can be opted into for every push by adding label 'force:integration', and can be customized to use non-default external targets by including lines here that **start** with leading-`#` directives:
* (https://github.com/Agoric/documentation) #documentation-branch: $BRANCH_NAME
* (https://github.com/endojs/endo) #endo-branch: $BRANCH_NAME
Expand All @@ -16,6 +11,11 @@ refs: #XXXX
These directives should be removed before adding a merge label, so final integration tests run against default targets.
-->

<!-- Most PRs should close a specific issue. All PRs should at least reference one or more issues. Edit and/or delete the following lines as appropriate (note: you don't need both `refs` and `closes` for the same one): -->

closes: #XXXX
refs: #XXXX

## Description
<!-- Add a description of the changes that this PR introduces and the files that are the most critical to review. -->

Expand All @@ -32,4 +32,4 @@ These directives should be removed before adding a merge label, so final integra
<!-- Every PR should of course come with tests of its own functionality. What additional tests are still needed beyond those unit tests? How does this affect CI, other test automation, or the testnet? -->

### Upgrade Considerations
<!-- What aspects of this PR are relevant to upgrading live production systems, and how should they be addressed? -->
<!-- What aspects of this PR are relevant to upgrading live production systems, and how should they be addressed? What steps should be followed to verify that its changes have been included in a release (ollinet/emerynet/mainnet/etc.) and work successfully there? If the process is elaborate, consider adding a script to scripts/verification/. -->
65 changes: 65 additions & 0 deletions .github/actions/ci-test-result.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#! /usr/bin/env node
const fs = require('node:fs');
const process = require('node:process');
const { sendMetricsToGCP, makeTimeSeries } = require('./gcp-monitoring.cjs');

const resultFiles = process.argv.slice(2);

const tapResultRegex = new RegExp(
`(^(?<status>not )?ok (?<num>[0-9]+) - (?<name>.+?)(?: %ava-dur=(?<duration>[0-9]+)ms)?(?:# (?<comments>.+?))?$(?<output>(\n^#.+?$)*)(?<failure>(\n^(?:(?!(?:not|ok) ))[^\n\r]+?$)*))`,
'gms',
);
let timeSeriesData = [];

function processTAP(packageName, tapbody) {
let m;
const returnValue = [];
// eslint-disable-next-line no-cond-assign
while ((m = tapResultRegex.exec(tapbody))) {
if (m.groups.name) {
const testCaseName = `${m.groups.name}`.replace(/["<>]/g, '').trim();

let skipped = false;
let succeeded = true;
let todo = false;
if (m.groups.status) {
succeeded = false;
}
if (m.groups.comments) {
if (m.groups.comments.match(/SKIP/gi)) {
skipped = true;
}
if (m.groups.comments.match(/TODO/gi)) {
todo = true;
skipped = true;
succeeded = true;
}
}
returnValue.push({
labels: {
test_name: testCaseName,
package: packageName,
test_status:
succeeded && !(todo || skipped)
? 'succeeded'
: !succeeded
? 'failed'
: 'skipped',
},
value: Number(succeeded && !(todo || skipped)),
});
}
}
return returnValue;
}

for (const file of resultFiles) {
const resultsBody = fs.readFileSync(file, 'utf-8');
const packageName = file.split('/').at(-2);

const response = processTAP(packageName, resultsBody);
timeSeriesData.push(...response);
}

const timeSeries = makeTimeSeries(timeSeriesData);
sendMetricsToGCP(timeSeries);
169 changes: 169 additions & 0 deletions .github/actions/dump-ci-stats-to-gcp-metrics.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
const Monitoring = require('@google-cloud/monitoring');

const gcpCredentials = JSON.parse(process.env.GCP_CREDENTIALS);
const monitoring = new Monitoring.MetricServiceClient({
projectId: gcpCredentials.project_id,
credentials: {
client_email: gcpCredentials.client_email,
private_key: gcpCredentials.private_key,
},
});

async function sendMetricsToGCP(metricType, metricValue, labels) {
const projectId = gcpCredentials.project_id;

const request = {
name: monitoring.projectPath(projectId),
timeSeries: [
{
metric: {
type: `custom.googleapis.com/github/${metricType}`,
labels: labels,
},
resource: {
type: 'global',
labels: {
project_id: projectId,
},
},
points: [
{
interval: {
endTime: {
seconds: Math.floor(Date.now() / 1000),
},
},
value: {
doubleValue: metricValue,
},
},
],
},
],
};
try {
await monitoring.createTimeSeries(request);
console.log(`Metric ${metricType} sent successfully.`);
} catch (error) {
console.error('Error sending metric:', error);
}
}

// Function to fetch workflow and job details via GitHub API
async function fetchWorkflowDetails() {
const runId = process.argv[2];
const repo = process.env.GITHUB_REPOSITORY;
const apiUrl = `https://api.github.com/repos/${repo}/actions/runs/${runId}`;

try {
const response = await fetch(apiUrl, {
headers: {
Authorization: `Bearer ${process.env.GITHUB_TOKEN}`,
Accept: 'application/vnd.github.v3+json',
},
});

if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
const data = await response.json();

return {
workflowId: data.id,
workflowName: data.name,
status: data.status, // "completed", "in_progress", etc.
conclusion: data.conclusion, // "success", "failure"
startTime: data.created_at,
endTime: data.updated_at,
trigger: data.event, // "push", "pull_request", etc.
jobs: await fetchJobDetails(repo, data.id), // Fetch individual job details
};
} catch (error) {
console.error('Error fetching workflow details:', error);
process.exit(1);
}
}

async function fetchJobDetails(repo, runId) {
const apiUrl = `https://api.github.com/repos/${repo}/actions/runs/${runId}/jobs`;

try {
const response = await fetch(apiUrl, {
headers: {
Authorization: `Bearer ${process.env.GITHUB_TOKEN}`,
Accept: 'application/vnd.github.v3+json',
},
});

if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
const data = await response.json();
return data.jobs;
} catch (error) {
console.error('Error fetching job details:', error);
return [];
}
}

// Main function to send metrics
(async () => {
try {
const workflowStats = await fetchWorkflowDetails();

const workflowLabels = {
workflow_name: workflowStats.workflowName,
workflow_id: workflowStats.workflowId,
trigger: workflowStats.trigger,
};

const workflowDuration =
(new Date(workflowStats.endTime) - new Date(workflowStats.startTime)) /
1000;
await sendMetricsToGCP(
'ci_workflow_duration',
workflowDuration,
workflowLabels,
);

for (const job of workflowStats.jobs) {
const jobLabels = {
workflow_name: workflowStats.workflowName,
job_name: job.name,
runner_name: job.runner_name,
conclusion: job.conclusion,
};

const jobExecutionTime =
(new Date(job.completed_at) - new Date(job.started_at)) / 1000;
await sendMetricsToGCP(
'ci_job_execution_time',
jobExecutionTime,
jobLabels,
);

// Send job status (1 for success, 0 for failure)
const jobStatus = job.conclusion === 'success' ? 1 : 0;
await sendMetricsToGCP('ci_job_status', jobStatus, jobLabels);

// Capture step-level metrics for step details per job
for (const step of job.steps) {
const stepExecutionTime =
(new Date(step.completed_at) - new Date(step.started_at)) / 1000;
const stepLabels = {
workflow_name: workflowStats.workflowName,
job_name: job.name,
step_name: step.name,
runner_name: job.runner_name,
};

await sendMetricsToGCP(
'ci_step_execution_time',
stepExecutionTime,
stepLabels,
);
}
}
} catch (error) {
console.error('Error in main function:', error);
process.exit(1);
}

process.exit(0);
})();
Loading
Loading