-
Notifications
You must be signed in to change notification settings - Fork 270
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: account contracts pay fee through FPC #5543
feat: account contracts pay fee through FPC #5543
Conversation
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
e951798
to
b17a11a
Compare
4a30597
to
24b446d
Compare
Benchmark resultsNo metrics with a significant change found. Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Values are compared against data from master at commit L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method
Transaction processing duration by data writes.
|
24b446d
to
0655d0f
Compare
1bcaa26
to
51ed6a1
Compare
0655d0f
to
0a3da42
Compare
51ed6a1
to
f61f732
Compare
b639abd
to
439440b
Compare
d90f2d5
to
5b2e7e4
Compare
18818d5
to
137cb61
Compare
137cb61
to
aa5132b
Compare
856626e
to
4d98bc8
Compare
aa5132b
to
37ec9d9
Compare
4d98bc8
to
1bbdc57
Compare
37ec9d9
to
cff2a1a
Compare
1bbdc57
to
086911b
Compare
cff2a1a
to
5fa7680
Compare
// first, register the account with the PXE so that it can receive notes | ||
await accountManager.register(); | ||
|
||
// right now, the only way to fund an undeployed account with private notes is to transfer them |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like privately_mint_private_note
should have a recipient
argument, right?
Superseded by #5601 |
This PR enables accounts to pay tx fees when they're deployed. To achieve this a new deployment method was added that's used by the `AccountManager` class to optionally register/publicly deploy and initialize the target account contract. Entrypoint classes now accept authwits/packed arguments alongside the normal function calls from before. This is needed so that authwits could be created in a parent context and then passed along as transient authwits to the transaction (see `ExecutionRequestInit` wrapper type) Initializing an account contract can use any of the three existing payment methods: - using bridged gas token from L1 - paying privately through a fee payment contract - paying publicly through a fee payment contract In order to use fee payment contracts this PR adds `noinitcheck` to `spend_private_authwit` and `spend_public_authwit` because it's not possible to read the init nullifier in the current tx (protocol limitation). Instead the contract relies on the note containing the public key to exist to validate that the contract has been initialized correctly. An extra payment flow is tested as well: a third party takes the account's public keys and deploys and initializes the account while paying the associated fee. This simulates the flow where a deployment service is used that takes payment through a side chain (e.g. fiat). Breaking change: moved `DefaultMultiCallEntrypoint` to aztec.js This PR supersedes #5540 and #5543. Fix #5190 #5191 #5544.
This PR builds on top of the previous one to enable account contracts to pay for their deployment through an FPC privately
Fix #5191