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

feat(fast-usdc): write chain policies to vstorage #10532

Merged
merged 2 commits into from
Nov 21, 2024
Merged

Conversation

samsiegart
Copy link
Contributor

@samsiegart samsiegart commented Nov 20, 2024

closes #10512

Description

Adds the shape/type for the chain policies, and makes the fast-usdc.start script write them to vstorage

Security Considerations

Only the start script and the contract have permission to write to the vstorage node

Scaling Considerations

This is a single invocation that runs once per core-eval, so shouldn't impact performance over time.

Documentation Considerations

There's an example policy in the test snapshot

Testing Considerations

Wrote a bootstrap test that reads vstorage to verify the chain policies are published.

Upgrade Considerations

The core eval would have to write to vstorage again to update the policies

@samsiegart samsiegart requested a review from a team as a code owner November 20, 2024 04:36
Copy link
Member

@dckc dckc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there's a norm that stuff that goes to vstorage is also available to other on-chain consumers via getPublicTopics(). IOU a link

But I'm not sure in this case. AFAICT, the contract makes no use of the policy whatsoever. So maybe a 1-time write from the .start.js core-eval code is the way to go.

maybe @turadg or @0xpatrickdev knows more about the design?

assertAllDefined({ makeFeedKit, makeAdvancer, makeSettler, statusManager });
const feedKit = makeFeedKit();
const feedKit = makeFeedKit(privateArgs.storageNode);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This gives the feed access to more of vstorage than it needs.
Please move the makeChildNode call up into the contract start. Maybe makeRecorderKit too. The feed only needs the recorder, it looks like.

Things may need to move around a bit due to...

// ^^^ Define all kinds above this line. Keep remote calls below. vvv

The prepareFeedKit(...) has to stay above the line but makeFeedKit(...) can be below it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there's a norm that anything the contract writes to vstorage is also available via the public facet via getPublicTopics. IOU a pointer

That would require a persistent identity for the subscriber, so the recorderKit would have to be stored durably using makeOnce(...). (IOU more details or an example.)

Comment on lines 111 to 116
t.deepEqual(feedPolicy, {
nobleAgoricChannelId: 'channel-21',
nobleDomainId: 4,
chainPolicies: {
42161: {
cctpTokenMessengerAddress: '0x19330d10D9Cc8751218eaf51E8885D058642E08A',
chainName: 'Arbitrum',
confirmations: 1,
nobleContractAddress: '0x19330d10D9Cc8751218eaf51E8885D058642E08A',
bridgeContractAddress: undefined,
eventFilter: undefined,
chainType: undefined,
isL2: undefined,
},
},
});
});
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we'll want to use t.snapshot() for documentation.

By way of precendent, see
https://github.com/Agoric/agoric-sdk/tree/master/packages/inter-protocol#reading-data-off-chain

I think I used snapshots to make vstorage reference docs too, though I'm not sure I landed them on master.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -182,6 +182,27 @@ export const startFastUSDC = async (
fastUsdcKit.resolve(harden({ ...kit, privateArgs }));
const { instance, creatorFacet } = kit;

// XXX: Read the policy from a config file somewhere?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The simplest thing I can think of is hard-coding the policy in the transaction-feed.js exo sources.
But I don't suppose we know nobleAgoricChannelId at design-time; it varies between test nets.

The policy could be added to FastUSDCConfig.

init-fast-usdc.js is the UI for that config. It has a number of named configs for sets of oracle operator addresses. Or the addresses can be specified individually on the command-line.

A similar approach would work for chain policies, I suppose. For the ad-hoc case, great big blobs of JSON as command-line args are not out of the question. I don't think it can read files; it's not always run using agoric run. It's also invoked from cosmic-swingset somewhere with different endowments and no access to the filesystem.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Just made the CLI accept stringified JSON for the policy.

/**
* @param {FeedPolicy} feedPolicy
*/
async writePolicy(feedPolicy) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a little strange that the caller provides the policy here... that is: that the transaction feed doesn't need the policy at start-up. This code could just go right in the creatorFacet. Or heck... it could go in fast-usdc.start.js.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed so that the start script writes the policy directly

Comment on lines 98 to 107
export const ChainPoliciesShape = {
nobleContractAddress: EvmHashShape,
cctpTokenMessengerAddress: EvmHashShape,
confirmations: M.number(),
chainName: M.string(),
bridgeContractAddress: M.opt(EvmHashShape),
eventFilter: M.opt(M.string()),
chainType: M.opt(M.number()),
isL2: M.opt(M.boolean()),
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
export const ChainPoliciesShape = {
nobleContractAddress: EvmHashShape,
cctpTokenMessengerAddress: EvmHashShape,
confirmations: M.number(),
chainName: M.string(),
bridgeContractAddress: M.opt(EvmHashShape),
eventFilter: M.opt(M.string()),
chainType: M.opt(M.number()),
isL2: M.opt(M.boolean()),
};
export const ChainPoliciesShape = M.splitRecord({
nobleContractAddress: EvmHashShape,
cctpTokenMessengerAddress: EvmHashShape,
confirmations: M.number(),
chainName: M.string(),
},{
bridgeContractAddress: EvmHashShape,
eventFilter: M.string(),
chainType: M.number(),
isL2: M.boolean(),
});

That way you don't need eventFilter: undefined. You can just leave the property out.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done thanks


/** @type {TypedPattern<FeedPolicy>} */
export const FeedPolicyShape = {
nobleDomainId: M.number(),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any possibility that this is ever anything besides 4? Should we just constrain it?

Suggested change
nobleDomainId: M.number(),
nobleDomainId: 4,

Comment on lines 197 to 200
bridgeContractAddress: undefined,
eventFilter: undefined,
chainType: undefined,
isL2: undefined,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See splitRecord() suggestion for the pattern; then we can skip these.

Suggested change
bridgeContractAddress: undefined,
eventFilter: undefined,
chainType: undefined,
isL2: undefined,

Comment on lines 63 to 66
bridgeContractAddress?: EvmHash;
eventFilter?: string;
chainType?: number;
isL2?: boolean;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bridgeContractAddress?: EvmHash;
eventFilter?: string;
chainType?: number;
isL2?: boolean;
eventFilter?: string;
chainType?: number;

I think we can exclude bridgeContractAddress and isL2 since there are no longer reqs to track L2 -> L1 confirmation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

nobleContractAddress: EvmHash;
cctpTokenMessengerAddress: EvmHash;
confirmations: number;
chainName: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also include chainId: int;? This seems like a more authoritative identifier than chainName, albeit less human-readable.

Edit: I see chainId is used as a key. Maybe it's better to make chainName they key?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just made chainName the key instead, since it's more self-describing. Having the chainId as the key might confuse people not knowing what the number means.

confirmations: number;
chainName: string;
bridgeContractAddress?: EvmHash;
eventFilter?: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is the same for all chains, so we can maybe move this up to FeedPolicy

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link

cloudflare-workers-and-pages bot commented Nov 20, 2024

Deploying agoric-sdk with  Cloudflare Pages  Cloudflare Pages

Latest commit: aa40f20
Status: ✅  Deploy successful!
Preview URL: https://b7cc4d8d.agoric-sdk.pages.dev
Branch Preview URL: https://srs-chain-policy.agoric-sdk.pages.dev

View logs

@samsiegart
Copy link
Contributor Author

samsiegart commented Nov 20, 2024

Just changed it so the start script config accepts a FeedPolicy, and the script writes directly to vstorage rather than having a public facet method on the contract. PTAL.

Copy link
Member

@turadg turadg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming the policy shape is correct, the code LGTM.

*/
const publishFeedPolicy = async (node, policy) => {
const feedPolicy = E(node).makeChildNode(FEED_POLICY);
await E(feedPolicy).setValue(JSON.stringify(policy));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NTS: I've been assuming that published nodes have CapData but this will be raw JSON. Our client-utils should handle both

Copy link
Member

@dckc dckc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a few suggestions.

I think there's a conflict with #10532 as is. We'll see which one lands first :)

If #10532 doesn't land first, I can deal with stuff there.


> Snapshot 1

'{"blockHeight":"0","values":["{\\"chainPolicies\\":{\\"Arbitrum\\":{\\"cctpTokenMessengerAddress\\":\\"0x19330d10D9Cc8751218eaf51E8885D058642E08A\\",\\"chainId\\":42161,\\"confirmations\\":1,\\"nobleContractAddress\\":\\"0x19330d10D9Cc8751218eaf51E8885D058642E08A\\"}},\\"nobleAgoricChannelId\\":\\"channel-21\\",\\"nobleDomainId\\":4}"]}'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be prettied up a bit using...

import { documentStorageSchema } from '@agoric/internal/src/storage-test-utils.js';

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -41,6 +42,7 @@ const oraclesRequiredUsage = 'use --oracle name:address ...';
* contractRate: string;
* oracle?: string[];
* usdcDenom: string;
* feedPolicy: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't have a default, so it won't always be there.

Suggested change
* feedPolicy: string;
* feedPolicy?: string;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -118,6 +120,7 @@ export default async (homeP, endowments) => {
usdcDenom,
},
feeConfig: parseFeeConfigArgs(),
feedPolicy: JSON.parse(feedPolicy),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will crash if no --feedPolicy arg is given.

Not the end of the world, but "--feedPolicy is required" would be a nicer diagnostic than "cannot parse JSON"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't this make the a3p-integration test fail?

Oh... #10517 hasn't landed yet. sigh.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to wait for that to go in, your call though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a check for feedPolicy also

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#10517 landed.

It has an --oracleSets flag. I suggest renaming that to --net. Then add a feedPolicy to each of the configurations.

Comment on lines 109 to 115
/** @type {TypedPattern<FeedPolicy>} */
export const FeedPolicyShape = M.splitRecord(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest a comment that this shape has to be JSON-happy: no bigint, undefined, remotable, etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

'--oracle',
'a:agoric1watcher1',
'--feedPolicy',
'{"nobleAgoricChannelId":"channel-21","nobleDomainId":4,"chainPolicies":{"Arbitrum":{"cctpTokenMessengerAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A","chainId":42161,"confirmations":1,"nobleContractAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A"}}}',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might read nicer using...

Suggested change
'{"nobleAgoricChannelId":"channel-21","nobleDomainId":4,"chainPolicies":{"Arbitrum":{"cctpTokenMessengerAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A","chainId":42161,"confirmations":1,"nobleContractAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A"}}}',
JSON.stringify({"nobleAgoricChannelId":"channel-21","nobleDomainId":4,"chainPolicies":{"Arbitrum":{"cctpTokenMessengerAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A","chainId":42161,"confirmations":1,"nobleContractAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A"}}}),

and then let the linter pretty-print it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor Author

@samsiegart samsiegart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PTAL

Comment on lines 109 to 115
/** @type {TypedPattern<FeedPolicy>} */
export const FeedPolicyShape = M.splitRecord(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@@ -118,6 +120,7 @@ export default async (homeP, endowments) => {
usdcDenom,
},
feeConfig: parseFeeConfigArgs(),
feedPolicy: JSON.parse(feedPolicy),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to wait for that to go in, your call though.

@@ -41,6 +42,7 @@ const oraclesRequiredUsage = 'use --oracle name:address ...';
* contractRate: string;
* oracle?: string[];
* usdcDenom: string;
* feedPolicy: string;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


> Snapshot 1

'{"blockHeight":"0","values":["{\\"chainPolicies\\":{\\"Arbitrum\\":{\\"cctpTokenMessengerAddress\\":\\"0x19330d10D9Cc8751218eaf51E8885D058642E08A\\",\\"chainId\\":42161,\\"confirmations\\":1,\\"nobleContractAddress\\":\\"0x19330d10D9Cc8751218eaf51E8885D058642E08A\\"}},\\"nobleAgoricChannelId\\":\\"channel-21\\",\\"nobleDomainId\\":4}"]}'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

'--oracle',
'a:agoric1watcher1',
'--feedPolicy',
'{"nobleAgoricChannelId":"channel-21","nobleDomainId":4,"chainPolicies":{"Arbitrum":{"cctpTokenMessengerAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A","chainId":42161,"confirmations":1,"nobleContractAddress":"0x19330d10D9Cc8751218eaf51E8885D058642E08A"}}}',
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -118,6 +120,7 @@ export default async (homeP, endowments) => {
usdcDenom,
},
feeConfig: parseFeeConfigArgs(),
feedPolicy: JSON.parse(feedPolicy),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a check for feedPolicy also

@samsiegart samsiegart requested a review from dckc November 21, 2024 00:16
Copy link
Member

@dckc dckc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks fine.

[
[
'published.fastUsdc.feedPolicy',
'{"blockHeight":"0","values":["{\\"chainPolicies\\":{\\"Arbitrum\\":{\\"cctpTokenMessengerAddress\\":\\"0x19330d10D9Cc8751218eaf51E8885D058642E08A\\",\\"chainId\\":42161,\\"confirmations\\":1,\\"nobleContractAddress\\":\\"0x19330d10D9Cc8751218eaf51E8885D058642E08A\\"}},\\"nobleAgoricChannelId\\":\\"channel-21\\",\\"nobleDomainId\\":4}"]}',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops. documentStorageSchema doesn't seem to grok the plain JSON style.

Oh well. Here's hoping it will in due course.

Comment on lines 44 to 62
[
'--oracle',
'a:agoric1watcher1',
'--feedPolicy',
JSON.stringify({
nobleAgoricChannelId: 'channel-21',
nobleDomainId: 4,
chainPolicies: {
Arbitrum: {
cctpTokenMessengerAddress:
'0x19330d10D9Cc8751218eaf51E8885D058642E08A',
chainId: 42161,
confirmations: 1,
nobleContractAddress:
'0x19330d10D9Cc8751218eaf51E8885D058642E08A',
},
},
}),
],
Copy link
Member

@dckc dckc Nov 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming you follow the --net suggestion for init-fast-usdc.js:

Suggested change
[
'--oracle',
'a:agoric1watcher1',
'--feedPolicy',
JSON.stringify({
nobleAgoricChannelId: 'channel-21',
nobleDomainId: 4,
chainPolicies: {
Arbitrum: {
cctpTokenMessengerAddress:
'0x19330d10D9Cc8751218eaf51E8885D058642E08A',
chainId: 42161,
confirmations: 1,
nobleContractAddress:
'0x19330d10D9Cc8751218eaf51E8885D058642E08A',
},
},
}),
],
['--net', 'MAINNET']

like

buildProposal(priceFeedBuilder, ['MAINNET']),

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. PTAL

} = parseArgs({ args: scriptArgs, options });

const parseFeedPolicy = () => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks right.

nobleDomainId: 4,
chainPolicies: {
Arbitrum: {
cctpTokenMessengerAddress: '0xTODO',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:)

Copy link
Member

@dckc dckc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--net and such looks fine

@samsiegart samsiegart added the automerge:squash Automatically squash merge label Nov 21, 2024
@mergify mergify bot merged commit 9d6cff1 into master Nov 21, 2024
91 checks passed
@mergify mergify bot deleted the srs-chain-policy branch November 21, 2024 19:12
@dckc dckc mentioned this pull request Nov 22, 2024
1 task
mujahidkay added a commit that referenced this pull request Dec 24, 2024
## Description

Created as per instructions in MAINTAINERS.md. Includes an additional
step to update yarn.lock for multichain-testing,
a3p-integration/proposals/s:stake-bld and
a3p-integration/proposals/z:acceptance

## Changes

 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - [email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]
 - @agoric/[email protected]

## Packages that have NEWS.md updates

```diff
--- a/golang/cosmos/CHANGELOG.md
+++ b/golang/cosmos/CHANGELOG.md
@@ -3,6 +3,32 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.35.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **cosmos:** Support arbitrary core eval builder arguments ([#10767](#10767)) ([a944f4c](a944f4c)), closes [#10752](#10752) [#10752](#10752)
+* **cosmos:** use `x/vbank` ConsensusVersion to upgrade monitoring ([0e367d3](0e367d3))
+* migrate upgrade of v7-board from  upgrade 19 to upgrade 18 ([#10761](#10761)) ([837776e](837776e)), closes [#10760](#10760)
+* upgrade v7-board and test it ([#10516](#10516)) ([d8a109e](d8a109e)), closes [#10394](#10394)
+* **vbank:** new param `allowed_monitoring_accounts` ([5ac4c52](5ac4c52))
+* **vtransfer:** extract base address from parameterized address ([3d44b53](3d44b53))
+* **vtransfer:** port some `address-hooks.js` functions to Go ([159098b](159098b))
+* **x/swingset:** Add parameters for controlling vat cleanup budget ([02c8138](02c8138)), closes [#8928](#8928)
+* **x/swingset:** Define default vat cleanup budget as { default: 5, kv: 50 } ([d86ee6d](d86ee6d))
+* **x/swingset:** Read beansPerUnit in each message handler and pass down to helpers ([55b9b49](55b9b49))
+* **x/swingset:** Require a non-empty vat cleanup budget to include `default` ([28c4d8b](28c4d8b))
+
+
+### Bug Fixes
+
+* **agd:** upgrade all orchestration vats to new liveslots ([59fa82c](59fa82c))
+* **cosmos:** return an error if version is unsupported ([d17e55b](d17e55b))
+* **x/swingset:** Let migration see incomplete Params structs ([315cdd5](315cdd5))
+
+
+
 ## [0.35.0-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/cosmos
--- a/packages/ERTP/CHANGELOG.md
+++ b/packages/ERTP/CHANGELOG.md
@@ -3,6 +3,16 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+### [0.16.3-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Bug Fixes
+
+* **ertp:** remove unneeded ertp type imports ([#10467](#10467)) ([e96ff82](e96ff82)), closes [#10456](#10456)
+* **orchestration:** harden exported patterns ([#10470](#10470)) ([47bebb8](47bebb8)), closes [#10456](#10456)
+
+
+
 ### [0.16.3-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/SwingSet/CHANGELOG.md
+++ b/packages/SwingSet/CHANGELOG.md
@@ -3,6 +3,21 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.33.0-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **internal:** Introduce deepCopyJsonable ([f875bb0](f875bb0))
+
+
+### Bug Fixes
+
+* **orchestration:** harden exported patterns ([#10470](#10470)) ([47bebb8](47bebb8)), closes [#10456](#10456)
+* **SwingSet:** Introduce a termination-dedicated "VatUndertaker" analog to "VatKeeper" ([b786414](b786414))
+
+
+
 ## [0.33.0-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/agoric-cli/CHANGELOG.md
+++ b/packages/agoric-cli/CHANGELOG.md
@@ -3,6 +3,37 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.22.0-u18.6](https://github.com/Agoric/agoric-sdk/compare/[email protected]@0.22.0-u18.6) (2024-12-24)
+
+
+### ⚠ BREAKING CHANGES
+
+* remove agoricNames from VstorageKit
+
+### Features
+
+* **agoric-cli:** Add `agoric wallet send` gas limit options ([21a03f8](21a03f8))
+* **agoric-cli:** Block `agoric wallet send` on tx inclusion ([0389a21](0389a21))
+* client-utils package ([50af71f](50af71f))
+* export cli lib ([0d2d4aa](0d2d4aa))
+* fetchEnvNetworkConfig ([9bdba57](9bdba57))
+* makeWalletUtils wo/spawn ([bc10509](bc10509))
+* makeWalletUtils wo/spawn ([20083ae](20083ae))
+* VstorageKit ([71486d7](71486d7))
+
+
+### Bug Fixes
+
+* **agoric-cli:** use readPublished consistently in agops oracle ([e8f6de2](e8f6de2))
+* proposeParamChange options ([202ba1e](202ba1e))
+
+
+### Miscellaneous Chores
+
+* remove agoricNames from VstorageKit ([1c69d39](1c69d39))
+
+
+
 ## [0.22.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/[email protected]@0.22.0-u18.5) (2024-12-17)
 
 **Note:** Version bump only for package agoric
--- a/packages/boot/CHANGELOG.md
+++ b/packages/boot/CHANGELOG.md
@@ -3,6 +3,27 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.2.0-u18.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* add `bech32Prefix?: string` to `CosmosChainInfo` ([cb9e1ee](cb9e1ee))
+* consistent publishTxnRecord (record) ([dbf3934](dbf3934))
+* **fast-usdc:** publish feeConfig to vstorage ([08b2e13](08b2e13))
+* **fast-usdc:** support risk assessment arg ([ff6737a](ff6737a))
+* **fast-usdc:** write chain policies to vstorage ([#10532](#10532)) ([9d6cff1](9d6cff1))
+* **fast-usdc:** write status updates to vstorage ([#10552](#10552)) ([419df4e](419df4e))
+* **internal:** Introduce deepCopyJsonable ([f875bb0](f875bb0))
+* publish OBSERVED with first evidence ([7e62d8f](7e62d8f))
+* readPublished in SwingsetTestKit ([0b383c9](0b383c9))
+* record instances that will be replaced so we can manage them ([c883c39](c883c39))
+* send-anywhere inits chainHub ([2fa2f75](2fa2f75))
+* **types:** TransactionRecord ([ccb9e28](ccb9e28))
+* vstorage status --> txns ([aebb4d7](aebb4d7))
+
+
+
 ## [0.2.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/boot
--- a/packages/builders/CHANGELOG.md
+++ b/packages/builders/CHANGELOG.md
@@ -3,6 +3,41 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.2.0-u18.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* `ForwardOpts` accepts `intermediateRecipient` ([eb975f1](eb975f1))
+* `ForwardOptsShape` ([50b1717](50b1717))
+* add `bech32Prefix?: string` to `CosmosChainInfo` ([cb9e1ee](cb9e1ee))
+* advancer with fees ([087f3a8](087f3a8))
+* assetInfo as array of entries ([51e7a9c](51e7a9c))
+* **builders:** --noNoble option for init-fast-usdc ([508a3e0](508a3e0))
+* **builders:** fast-usdc builder w/CLI config ([9f45a05](9f45a05))
+* **builders:** fast-usdc oracleSet option for MAINNET, ... ([3bf01a2](3bf01a2))
+* **builders:** fast-usdc policy update builder ([8ded3d8](8ded3d8))
+* chain-capabilities.js constants ([52ff70a](52ff70a))
+* export `DenomDetailShape` ([2dfddb3](2dfddb3))
+* export `OrchestrationPowersShape` ([34b61ea](34b61ea))
+* **fast-usdc:** write chain policies to vstorage ([#10532](#10532)) ([9d6cff1](9d6cff1))
+* fusdc assetInfo and chainInfo by netname ([afb4f34](afb4f34))
+* parameterize fusdc with chainInfo and assetInfo ([e5a8b64](e5a8b64))
+* record instances that will be replaced so we can manage them ([c883c39](c883c39))
+* register interchain bank assets proposal ([0e20707](0e20707))
+* registerChainsAndAssets ([e72782d](e72782d))
+* save the outgoing EC Charter instance and kit ([c2c9be3](c2c9be3))
+* send-anywhere inits chainHub ([2fa2f75](2fa2f75))
+* upgrade v7-board and test it ([#10516](#10516)) ([d8a109e](d8a109e)), closes [#10394](#10394)
+
+
+### Bug Fixes
+
+* **agd:** upgrade all orchestration vats to new liveslots ([59fa82c](59fa82c))
+* **orchestration:** denomAmounts must be non-negative ([#10458](#10458)) ([40e0e4e](40e0e4e))
+
+
+
 ## [0.2.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/builders
--- a/packages/casting/CHANGELOG.md
+++ b/packages/casting/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+### [0.4.3-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* makeTendermintRpcClient ([129516a](129516a))
+
+
+
 ### [0.4.3-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/casting
--- a/packages/client-utils/CHANGELOG.md
+++ b/packages/client-utils/CHANGELOG.md
@@ -1 +1,41 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## 0.2.0-u18.0 (2024-12-24)
+
+
+### ⚠ BREAKING CHANGES
+
+* remove agoricNames from VstorageKit
+
+### Features
+
+* client-utils package ([50af71f](50af71f))
+* export makeStargateClient ([186d268](186d268))
+* fetchEnvNetworkConfig ([9bdba57](9bdba57))
+* getCurrentWalletRecord ([2740748](2740748))
+* makeWalletUtils wo/spawn ([20083ae](20083ae))
+* ocap makeStargateClient ([c8f7407](c8f7407))
+* one marshaller per WalletUtils ([b141ce6](b141ce6))
+* **sync-tools:** add method to wait until offer exited ([c9370f2](c9370f2))
+* **types:** TypedPublished ([88939bf](88939bf))
+* vstorage without instance binding ([2c4e2e3](2c4e2e3))
+* VstorageKit ([71486d7](71486d7))
+* VstorageKit readPublished ([e48c53c](e48c53c))
+
+
+### Bug Fixes
+
+* **client-utils:** only call `fetch` as a function, not a method ([#10671](#10671)) ([fbae24c](fbae24c)), closes [/github.com/endojs/endo/issues/31#issuecomment-1255624116](https://github.com/Agoric//github.com/endojs/endo/issues/31/issues/issuecomment-1255624116)
+* **client-utils:** Retry at least every other interval ([fd9394b](fd9394b))
+
+
+### Miscellaneous Chores
+
+* remove agoricNames from VstorageKit ([1c69d39](1c69d39))
+
+
+
 # Change Log
--- a/packages/cosmic-proto/CHANGELOG.md
+++ b/packages/cosmic-proto/CHANGELOG.md
@@ -3,6 +3,21 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.5.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **vats:** first cut of Address Hooks in JS ([dbad30b](dbad30b))
+
+
+### Bug Fixes
+
+* **address-hooks:** throw if the version is unsupported ([e3c2665](e3c2665))
+* **address-hooks:** use `harden` (or `freeze`) ([80fee60](80fee60))
+
+
+
 ## [0.5.0-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/cosmic-proto
--- a/packages/cosmic-swingset/CHANGELOG.md
+++ b/packages/cosmic-swingset/CHANGELOG.md
@@ -3,6 +3,25 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.42.0-u18.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **cosmic-swingset:** Add support for testing blocks of a mock chain ([48b6405](48b6405))
+* **cosmic-swingset:** Allow `launch` to accept an already-open swingStore ([c65e5b1](c65e5b1))
+* **cosmic-swingset:** Update parseParams to read and validate vat cleanup budget data ([80bcca0](80bcca0)), closes [#8928](#8928)
+* **cosmic-swingset:** Use vat cleanup budget values to allow slow cleanup ([508ea8e](508ea8e)), closes [#8928](#8928)
+* **internal:** Introduce deepCopyJsonable ([f875bb0](f875bb0))
+* **x/swingset:** Define default vat cleanup budget as { default: 5, kv: 50 } ([d86ee6d](d86ee6d))
+
+
+### Bug Fixes
+
+* **cosmic-swingset:** expect chain --halt-height exit status > 1 ([c025cb7](c025cb7))
+
+
+
 ## [0.42.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 
--- a/packages/fast-usdc/CHANGELOG.md
+++ b/packages/fast-usdc/CHANGELOG.md
@@ -3,6 +3,128 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## 0.2.0-u18.0 (2024-12-24)
+
+
+### Features
+
+* error on conflicting evidence ([cd2a40c](cd2a40c))
+* **fast-usdc:** add FastLP/ufastlp to vbank ([ae1963e](ae1963e))
+* **fast-usdc:** detect transfer completion in cli ([2828444](2828444))
+* **fast-usdc:** support risk assessment arg ([ff6737a](ff6737a))
+* operator majority logic ([bc28201](bc28201))
+* record fee split in transaction ([8846972](8846972))
+
+## 0.35.0-u18.4 (2024-12-17)
+
+
+### ⚠ BREAKING CHANGES
+
+* remove agoricNames from VstorageKit
+
+### Features
+
+* consistent publishTxnRecord (record) ([dbf3934](dbf3934))
+* deleteCompletedTxs ([f0078ee](f0078ee))
+* **fast-usdc:** cli for lp deposit and withdraw ([4c0c372](4c0c372))
+* **fast-usdc:** limited operation before connecting to noble ([eb82ae3](eb82ae3))
+* include 'sender' in CctpTxEvidence ([f99e7b8](f99e7b8))
+* publish CctpTxEvidence ([2916c8f](2916c8f))
+* publish OBSERVED with first evidence ([7e62d8f](7e62d8f))
+* simplify seenTxs key ([fd05a7e](fd05a7e))
+* **types:** TransactionRecord ([ccb9e28](ccb9e28))
+* vstorage status --> txns ([aebb4d7](aebb4d7))
+
+
+### Bug Fixes
+
+* do not stringify logs ([d04c5ea](d04c5ea))
+* vstorage fastUsdc path ([1f47164](1f47164))
+
+
+### Miscellaneous Chores
+
+* remove agoricNames from VstorageKit ([1c69d39](1c69d39))
+
+## 0.35.0-u18.3 (2024-12-09)
+
+
+### ⚠ BREAKING CHANGES
+
+* `getAsset` and `getDenomInfo` require `srcChainName` param
+
+### Features
+
+* `getAsset` and `getDenomInfo` require `srcChainName` param ([fc802ad](fc802ad))
+* assetInfo as array of entries ([51e7a9c](51e7a9c))
+* **fast-usdc:** core-eval to update feed policy ([db283e1](db283e1))
+* **fast-usdc:** operator attest cli command ([448aa3a](448aa3a))
+* **fast-usdc:** publish feeConfig to vstorage ([08b2e13](08b2e13))
+* **fast-usdc:** settler disburses or forwards funds ([17b0423](17b0423))
+* **fast-usdc:** write chain policies to vstorage ([#10532](#10532)) ([9d6cff1](9d6cff1))
+* **fast-usdc:** write status updates to vstorage ([#10552](#10552)) ([419df4e](419df4e))
+* operator accept cmd ([ae2cf1e](ae2cf1e))
+* parameterize fusdc with chainInfo and assetInfo ([e5a8b64](e5a8b64))
+* scaffold operator commands ([36375fd](36375fd))
+
+
+### Bug Fixes
+
+* `brandKey` not part of `DenomDetail` ([9a65478](9a65478))
+
+## 0.35.0-u18.2 (2024-11-21)
+
+
+### Features
+
+* `Advancer` uses `borrower` facet ([35eb7ad](35eb7ad))
+* integrate `Advancer` with contract ([c5d67af](c5d67af))
+* liquidity pool borrower and repayer facets ([3117eef](3117eef))
+
+## 0.35.0-u18.1 (2024-11-19)
+
+
+### Features
+
+* `Advancer` exo behaviors ([4cd2f3f](4cd2f3f)), closes [#10390](#10390)
+* `CctpTxEvidenceShape`, `PendingTxShape` typeGuards ([5a7b3d2](5a7b3d2))
+* `getQueryParams` takes shape parameter ([99707ef](99707ef))
+* `StatusManager` scaffold ([980463f](980463f))
+* `StatusManager` tracks `seenTxs` ([f3d1e36](f3d1e36))
+* `TxStatus` const for `StatusManager` states ([1376020](1376020))
+* advancer with fees ([087f3a8](087f3a8))
+* defineInertInvitation ([f756412](f756412))
+* **fast-usdc:** .start.js core-eval w/oracle invitations ([7b6820a](7b6820a))
+* **fast-usdc:** add cli config and args for deposit and withdraw ([#10487](#10487)) ([fb2d05c](fb2d05c))
+* **fast-usdc:** deposit, withdraw liquidity in exchange for shares ([5ae543d](5ae543d))
+* **fast-usdc:** implement config cli command ([d121e1d](d121e1d))
+* **fast-usdc:** implement transfer cli command ([504818f](504818f))
+* **fast-usdc:** stub config cli command ([81e14b2](81e14b2))
+* **fast-usdc:** stub transfer cli command ([1b64d82](1b64d82))
+* feed access controls ([8f4a66d](8f4a66d))
+* makeTestPushInvitation handles evidence ([7e99cfa](7e99cfa))
+* minimal `addressTools` for query param parsing ([6f97e13](6f97e13))
+* operators evidence flows through feed ([2161a6f](2161a6f))
+* publish when all oracle operators agree ([d06ae2b](d06ae2b))
+* TransactionFeedKit ([8eb7dee](8eb7dee))
+* uniform configuration with LegibleCapData ([968903a](968903a))
+
+
+### Bug Fixes
+
+* **fast-usdc:** ensure cli non-zero exit code on failure ([6c0e77b](6c0e77b))
+* **fast-usdc:** fix url encoding ([d46cefd](d46cefd))
+* **fast-usdc:** use correct address format in cli ([d225974](d225974))
+
+## 0.35.0-u18.0 (2024-10-31)
+
+
+### Features
+
+* add CLI for fast-usdc package ([92bc5b1](92bc5b1))
+
+
+
 ### [0.1.1-u18.5](https://github.com/Agoric/agoric-sdk/compare/[email protected]@0.1.1-u18.5) (2024-12-17)
 
 **Note:** Version bump only for package fast-usdc
--- a/packages/governance/CHANGELOG.md
+++ b/packages/governance/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+### [0.10.4-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Bug Fixes
+
+* **orchestration:** harden exported patterns ([#10470](#10470)) ([47bebb8](47bebb8)), closes [#10456](#10456)
+
+
+
 ### [0.10.4-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/inter-protocol/CHANGELOG.md
+++ b/packages/inter-protocol/CHANGELOG.md
@@ -3,6 +3,23 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.17.0-u18.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* add an accessor for the vaultDirector's parameters ([32f1398](32f1398))
+* record instances that will be replaced so we can manage them ([c883c39](c883c39))
+* save the outgoing EC Charter instance and kit ([c2c9be3](c2c9be3))
+
+
+### Bug Fixes
+
+* makeReserveTerms ([27ce0b0](27ce0b0))
+* remove addInstance call from add-auction.js ([d16781f](d16781f))
+
+
+
 ## [0.17.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/inter-protocol
--- a/packages/internal/CHANGELOG.md
+++ b/packages/internal/CHANGELOG.md
@@ -3,6 +3,21 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.4.0-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* consistent publishTxnRecord (record) ([dbf3934](dbf3934))
+* defaultSerializer util ([19d5e03](19d5e03))
+* getValues for sequence nodes ([b5698ce](b5698ce))
+* **internal:** Introduce deepCopyJsonable ([f875bb0](f875bb0))
+* pureDataMarshaller ([6df7f1f](6df7f1f))
+* showValue option for documentStorageSchema ([07d12d4](07d12d4))
+* storage-test-utils report missing data ([02c111b](02c111b))
+
+
+
 ## [0.4.0-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/orchestration/CHANGELOG.md
+++ b/packages/orchestration/CHANGELOG.md
@@ -3,6 +3,48 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.2.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### ⚠ BREAKING CHANGES
+
+* `getAsset` and `getDenomInfo` require `srcChainName` param
+
+### Features
+
+* `assetOn` `DenomDetail` helper ([05fe515](05fe515))
+* `chainHub.makeTransferRoute` ([0215b6f](0215b6f))
+* `ForwardOpts` accepts `intermediateRecipient` ([eb975f1](eb975f1))
+* `ForwardOptsShape` ([50b1717](50b1717))
+* `getAsset` and `getDenomInfo` require `srcChainName` param ([fc802ad](fc802ad))
+* `withOrchestration` returns `baggage` ([e4a6c6d](e4a6c6d))
+* add `bech32Prefix?: string` to `CosmosChainInfo` ([cb9e1ee](cb9e1ee))
+* assetInfo as array of entries ([51e7a9c](51e7a9c))
+* chain-capabilities.js constants ([52ff70a](52ff70a))
+* **chainHub:** `getChainInfoByAddress` helper ([d6c487c](d6c487c))
+* **cosmos-orch-account:** expose `.executeEncodedTx` ([9d10be1](9d10be1))
+* CosmosChainInfo includes `pfmEnabled?: boolean` ([e1c35da](e1c35da))
+* export `DenomDetailShape` ([2dfddb3](2dfddb3))
+* export `OrchestrationPowersShape` ([34b61ea](34b61ea))
+* **local-orchestration-account:** support multi-hop pfm transfers ([c35fac7](c35fac7))
+* registerChainsAndAssets ([e72782d](e72782d))
+* send-anywhere inits chainHub ([2fa2f75](2fa2f75))
+
+
+### Bug Fixes
+
+* `brandKey` not part of `DenomDetail` ([9a65478](9a65478))
+* `convertChainInfo` connection sorting ([8ba4699](8ba4699))
+* do not stringify logs ([d04c5ea](d04c5ea))
+* **orchestration:** denomAmounts must be non-negative ([#10458](#10458)) ([40e0e4e](40e0e4e))
+* **orchestration:** harden exported patterns ([#10470](#10470)) ([47bebb8](47bebb8)), closes [#10456](#10456)
+* **orchestration:** harden result of reverseConnInfo ([5c1219c](5c1219c))
+* subscribeToTransfers atomically ([7b77993](7b77993))
+* use `asVow` in case `owned()` throws ([e67e86b](e67e86b))
+* yarn codegen script ([9eea3fd](9eea3fd))
+
+
+
 ## [0.2.0-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/orchestration
--- a/packages/solo/CHANGELOG.md
+++ b/packages/solo/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.11.0-u18.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **internal:** Introduce deepCopyJsonable ([f875bb0](f875bb0))
+
+
+
 ## [0.11.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/solo
--- a/packages/swing-store/CHANGELOG.md
+++ b/packages/swing-store/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.10.0-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **cosmic-swingset:** Allow `launch` to accept an already-open swingStore ([c65e5b1](c65e5b1))
+
+
+
 ## [0.10.0-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/swingset-liveslots/CHANGELOG.md
+++ b/packages/swingset-liveslots/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+### [0.10.3-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Bug Fixes
+
+* **liveslots:** avoid slotToVal memory leak for watched promises ([874196c](874196c)), closes [#10757](#10757) [#10756](#10756) [#10706](#10706)
+
+
+
 ### [0.10.3-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/telemetry/CHANGELOG.md
+++ b/packages/telemetry/CHANGELOG.md
@@ -3,6 +3,18 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+### [0.6.3-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Bug Fixes
+
+* **telemetry:** add missing slog type ([1aec8d0](1aec8d0))
+* **telemetry:** Empty context persisted when remaining beans are negative after run finish ([#10635](#10635)) ([ad4e83e](ad4e83e))
+* **telemetry:** event name typo ([9e19321](9e19321))
+* **telemetry:** timer-poll run.id ([#10672](#10672)) ([3b478fb](3b478fb)), closes [#10357](#10357) [#10357](#10357)
+
+
+
 ### [0.6.3-u18.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-13)
 
 
--- a/packages/time/CHANGELOG.md
+++ b/packages/time/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+### [0.3.3-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Bug Fixes
+
+* **orchestration:** harden exported patterns ([#10470](#10470)) ([47bebb8](47bebb8)), closes [#10456](#10456)
+
+
+
 ### [0.3.3-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/vats/CHANGELOG.md
+++ b/packages/vats/CHANGELOG.md
@@ -3,6 +3,22 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.16.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **cosmic-swingset:** Add support for testing blocks of a mock chain ([48b6405](48b6405))
+* upgrade v7-board and test it ([#10516](#10516)) ([d8a109e](d8a109e)), closes [#10394](#10394)
+
+
+### Bug Fixes
+
+* **ERTP,vats:** fix 9407 AmountPatternShape ([#9863](#9863)) ([59b1a9f](59b1a9f)), closes [#9410](#9410) [#9407](#9407) [#9410](#9410) [#9407](#9407) [#9410](#9410) [#9407](#9407) [#9410](#9410)
+* **vaultFactory:** fix proposal description ([bc1f87a](bc1f87a))
+
+
+
 ## [0.16.0-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/vats
--- a/packages/wallet/CHANGELOG.md
+++ b/packages/wallet/CHANGELOG.md
@@ -3,6 +3,23 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.19.0-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+## 0.35.0-u18.4 (2024-12-17)
+
+## 0.35.0-u18.3 (2024-12-09)
+
+## 0.35.0-u18.2 (2024-11-21)
+
+## 0.35.0-u18.1 (2024-11-19)
+
+
+### Features
+
+* **internal:** Introduce deepCopyJsonable ([f875bb0](f875bb0))
+
+
+
 ## [0.19.0-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
--- a/packages/wallet/api/CHANGELOG.md
+++ b/packages/wallet/api/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [0.15.0-u18.5](https://github.com/Agoric/agoric/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Features
+
+* **internal:** Introduce deepCopyJsonable ([f875bb0](f875bb0))
+
+
+
 ## [0.15.0-u18.4](https://github.com/Agoric/agoric/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-17)
 
 **Note:** Version bump only for package @agoric/wallet-backend
--- a/packages/zoe/CHANGELOG.md
+++ b/packages/zoe/CHANGELOG.md
@@ -3,6 +3,15 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+### [0.26.3-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-12-24)
+
+
+### Bug Fixes
+
+* **orchestration:** harden exported patterns ([#10470](#10470)) ([47bebb8](47bebb8)), closes [#10456](#10456)
+
+
+
 ### [0.26.3-u18.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/[email protected]...@agoric/[email protected]) (2024-10-31)
 
 
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge:squash Automatically squash merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Chain policy config written to vstorage
4 participants