hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.49k stars 813 forks source link

Implementing Account abstraction[ERC-4337] in besu #6434

Open bhargav55 opened 8 months ago

bhargav55 commented 8 months ago

Description

I am trying to implement Account abstraction in Besu but it doesnt seem to work. Getting transaction reverted error. I am not using bundlers for now, I am directly interacting with entrypoint just to check the support of erc-4337.

Steps to Reproduce (Bug)

  1. install besu 23.10.3 or 23.4.4
  2. setup besu network with 4 nodes
  3. deploy entryPoint, paymaster and simple account contracts from here https://github.com/eth-infinitism/account-abstraction
  4. Deposit funds to entrypoint from paymaster, create userop object and interact with entrypoint contract method handleOps.

Expected behavior: Transaction should execute using funds from entry point

Actual behavior: [What actually happens] Transaction is reverted with error "Executed Reverted"/ "CALL_EXCEPTION"

Frequency: [What percentage of the time does it occur?] 100%

Logs (if a bug)

Please post relevant logs from Besu (and the consensus client, if running proof of stake) from before and after the issue. No transaction error logs from besu, transaction is committed in a block without any error, I changed logging level to TRACE and checked the logs. below are the logs, 2024-01-17 11:32:36.049+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MainnetTransactionProcessor | Incremented sender 0x0819bbae96c2c0f15477d212e063303221cf24b9 nonce (105 -> 106) 2024-01-17 11:32:36.049+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MainnetTransactionProcessor | Deducted sender 0x0819bbae96c2c0f15477d212e063303221cf24b9 upfront gas cost 0x0000000000000000000000000000000000000000000000000000e00230021800 (0x0000000000000000000000000000000000000000000000010c5c89e679bd4e00 -> 0x0000000000000000000000000000000000000000000000010c5ba9e449bb3600) 2024-01-17 11:32:36.049+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MainnetTransactionProcessor | Gas available for execution 137004 = 164200 - 27196 - 0 (limit -intrinsic - accessList) 2024-01-17 11:32:36.049+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Executing message-call 2024-01-17 11:32:36.049+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Message call from 0x0819bbae96c2c0f15477d212e063303221cf24b9 to 0xbecb383c5f24a4b73d57b78e5335bf781587bc41 has zero value: no fund transferred 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Executing message-call 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Message call from 0xbecb383c5f24a4b73d57b78e5335bf781587bc41 to 0x1e78983374ca282e20ab085adc448ff6b6d91b73 has zero value: no fund transferred 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Executing message-call 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Message call from 0xbecb383c5f24a4b73d57b78e5335bf781587bc41 to 0x1e78983374ca282e20ab085adc448ff6b6d91b73 has zero value: no fund transferred 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Executing message-call 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Message call from 0x1e78983374ca282e20ab085adc448ff6b6d91b73 to 0x0000000000000000000000000000000000000001 has zero value: no fund transferred 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Successful message call of 0xbecb383c5f24a4b73d57b78e5335bf781587bc41 to 0x1e78983374ca282e20ab085adc448ff6b6d91b73 (Gas remaining: 104850) 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Successful message call of 0xbecb383c5f24a4b73d57b78e5335bf781587bc41 to 0x1e78983374ca282e20ab085adc448ff6b6d91b73 (Gas remaining: 106585) 2024-01-17 11:32:36.050+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Executing message-call 2024-01-17 11:32:36.051+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MessageCallProcessor | Message call from 0xbecb383c5f24a4b73d57b78e5335bf781587bc41 to 0xbecb383c5f24a4b73d57b78e5335bf781587bc41 has zero value: no fund transferred 2024-01-17 11:32:36.051+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MainnetTransactionProcessor | Gas used by transaction: 86449, by message call/contract creation: 59253 2024-01-17 11:32:36.051+00:00 | BftProcessorExecutor-QBFT-0 | TRACE | MainnetTransactionProcessor | refunded sender 0x0819bbae96c2c0f15477d212e063303221cf24b9 0x00000000000000000000000000000000000000000000000000006a12391a9900 wei (0x0000000000000000000000000000000000000000000000010c5ba9e449bb3600 -> 0x0000000000000000000000000000000000000000000000010c5c13f682d5cf00) 2024-01-17 11:32:36.052+00:00 | EthScheduler-Services-0 | TRACE | LayeredPendingTransactions | Managing new added block 220295 (0xdc269f1fb9169fed0831f58ea350d2c4ecb429496e7fb3f84e5fd50f4387031b)

Versions (Add all that apply)

Smart contract information (If you're reporting an issue arising from deploying or calling a smart contract, please supply related information)

Additional Information (Add any of the following or anything else that may be relevant)

attached configFile for the network config.json

siladu commented 8 months ago

Hi @bhargav55, I'm wondering if the contracts you are using require the EVM to be later than the london fork?

Can you share how you are compiling the contracts with solidity? From your config it looks like you're on london (and IBFT, though your logs show QBFT?) and private besy networks don't support Shanghai yet, see https://github.com/hyperledger/besu/issues/5446

bhargavkacharla commented 8 months ago

solidity version: 0.8.15, I have shared the logs with QBFT logs, changed to IBFT as well but still the same.

bhargavkacharla commented 8 months ago

sharing the logs with IBFT,

2024-01-23 06:33:30.058+00:00 | BftProcessorExecutor-IBFT-0 | DEBUG | IbftRound | Importing block to chain. round=ConsensusRoundIdentifier{Sequence=1972, Round=0}, hash=0x6b6f8b08d8844251a4e8925c59a6197d59529660470a0840a04baa15cfd7c910
2024-01-23 06:33:30.058+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | IbftRound | Importing block with extraData=BftExtraData{vanityData=0x0000000000000000000000000000000000000000000000000000000000000000, seals=[Signature{r=27073226446419206772433928167348926044552361006745544248905127831669492402600, s=46397885139398221352914205527661079952059067320670557577337333938780389623802, recId=1}, Signature{r=76742118809056239698579770777474926591224272084960353853612822066083205726218, s=4883419975128061236964535110855888176162874914361199765314637709490734574914, recId=1}, Signature{r=17582328238691686861676696268416238345102482338204134509967021049425119683909, s=18564792466588050924391549062985730284780313680207689850212678619489938485084, recId=0}], validators=[0x2fcf12578b8d3b039d2b7a70aeb91098f27ed08d, 0x61ab486780dd9d7fce87d6022b4cef37c96e25e7, 0xca28cecc9e3786f00dc50947d4453ad013012d5d, 0xf0c2a662390fa4f95c36d41a4618178d1ffb94b7], vote=Optional.empty, round=0}
2024-01-23 06:33:30.058+00:00 | nioEventLoopGroup-3-10 | TRACE | BftProtocolManager | Process message IBF/1, 2, from = 0xca28cecc9e3786f00dc50947d4453ad013012d5d
2024-01-23 06:33:30.058+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MainnetTransactionProcessor | Starting execution of MessageCall{type=EIP1559, nonce=10, maxPriorityFeePerGas=0x59682f00, maxFeePerGas=0x59682f00, gasLimit=205635, to=0x5421e8326df6d3e5f01f837d24ee135b34436c4a, value=0x0000000000000000000000000000000000000000000000000000000000000000, sig=Signature{r=115007758211202137659393782395313320424929434962648662365101106016714839578756, s=28278343672227718749968859335699460536372781255200386537255192297520012728291, recId=0}, chainId=17778, payload=0x1fad948c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000095a470a6cdd0f2ff17597fa3cdf936edd2dc76e4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007f8faddf8ffdce4fd334ccc514c5018d13e6012700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000f424100000000000000000000000000000000000000000000000000000000000f424100000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4b61d27f60000000000000000000000009411e12443406618ae148f153585d00a20b2949900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004440c10f190000000000000000000000000819bbae96c2c0f15477d212e063303221cf24b90000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000095490ddb0f1c4c50418afb21ef78eb1707f137695c0000000000000000000000000000000000000000000000000000000065af6bbf0000000000000000000000000000000000000000000000000000000065af5dafecf6f38e612fceeaf18b064c087f0f85e5eb2c325c869e1828186336c1f1458a00feab897df21782805ef0108f23587359e9dafc0ceb24f0bb10c1dfa6e3ab331b0000000000000000000000000000000000000000000000000000000000000000000000000000000000004151c56fa85d89bba36d0146a0142fad4f0f12fb2b59bce4d07da94a55fc7502b439f38b4ba5082b59c0c0a68f1c97c93b55fad4d623d78934560006700efa826c1c00000000000000000000000000000000000000000000000000000000000000}
2024-01-23 06:33:30.059+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MainnetTransactionProcessor | Incremented sender 0x0819bbae96c2c0f15477d212e063303221cf24b9 nonce (10 -> 11)
2024-01-23 06:33:30.059+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MainnetTransactionProcessor | Deducted sender 0x0819bbae96c2c0f15477d212e063303221cf24b9 upfront gas cost 0x0000000000000000000000000000000000000000000000000001188931b14d00 (0x000000000000000000000000000000000000000000000004e0d0e102121daf00 -> 0x000000000000000000000000000000000000000000000004e0cfc878e06c6200)
2024-01-23 06:33:30.059+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MainnetTransactionProcessor | Gas available for execution 176695 = 205635 - 28940 (limit - intrinsic)
2024-01-23 06:33:30.059+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Executing message-call
2024-01-23 06:33:30.059+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Message call from 0x0819bbae96c2c0f15477d212e063303221cf24b9 to 0x5421e8326df6d3e5f01f837d24ee135b34436c4a has zero value: no fund transferred
2024-01-23 06:33:30.059+00:00 | nioEventLoopGroup-3-10 | TRACE | BftProtocolManager | Process message IBF/1, 2, from = 0xca28cecc9e3786f00dc50947d4453ad013012d5d
2024-01-23 06:33:30.060+00:00 | nioEventLoopGroup-3-2 | TRACE | BftProtocolManager | Process message IBF/1, 2, from = 0xf0c2a662390fa4f95c36d41a4618178d1ffb94b7
2024-01-23 06:33:30.061+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Executing message-call
2024-01-23 06:33:30.061+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Message call from 0x5421e8326df6d3e5f01f837d24ee135b34436c4a to 0x7f8faddf8ffdce4fd334ccc514c5018d13e60127 has zero value: no fund transferred
2024-01-23 06:33:30.065+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Executing message-call
2024-01-23 06:33:30.065+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Message call from 0x5421e8326df6d3e5f01f837d24ee135b34436c4a to 0x7f8faddf8ffdce4fd334ccc514c5018d13e60127 has zero value: no fund transferred
2024-01-23 06:33:30.076+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Executing message-call
2024-01-23 06:33:30.076+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Message call from 0x7f8faddf8ffdce4fd334ccc514c5018d13e60127 to 0x0000000000000000000000000000000000000001 has zero value: no fund transferred
2024-01-23 06:33:30.076+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Precompiled contract ECREC COMPLETED_SUCCESS (gasComsumed: 3000)
2024-01-23 06:33:30.076+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Successful message call of 0x5421e8326df6d3e5f01f837d24ee135b34436c4a to 0x7f8faddf8ffdce4fd334ccc514c5018d13e60127 (Gas remaining: 145241)
2024-01-23 06:33:30.076+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Successful message call of 0x5421e8326df6d3e5f01f837d24ee135b34436c4a to 0x7f8faddf8ffdce4fd334ccc514c5018d13e60127 (Gas remaining: 147617)
2024-01-23 06:33:30.077+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Executing message-call
2024-01-23 06:33:30.077+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Message call from 0x5421e8326df6d3e5f01f837d24ee135b34436c4a to 0x490ddb0f1c4c50418afb21ef78eb1707f137695c has zero value: no fund transferred
2024-01-23 06:33:30.077+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Executing message-call
2024-01-23 06:33:30.077+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Message call from 0x490ddb0f1c4c50418afb21ef78eb1707f137695c to 0x0000000000000000000000000000000000000001 has zero value: no fund transferred
2024-01-23 06:33:30.078+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Precompiled contract ECREC COMPLETED_SUCCESS (gasComsumed: 3000)
2024-01-23 06:33:30.078+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Successful message call of 0x5421e8326df6d3e5f01f837d24ee135b34436c4a to 0x490ddb0f1c4c50418afb21ef78eb1707f137695c (Gas remaining: 84088)
2024-01-23 06:33:30.078+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Executing message-call
2024-01-23 06:33:30.078+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MessageCallProcessor | Message call from 0x5421e8326df6d3e5f01f837d24ee135b34436c4a to 0x5421e8326df6d3e5f01f837d24ee135b34436c4a has zero value: no fund transferred
2024-01-23 06:33:30.078+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | MainnetTransactionProcessor | Gas used by transaction: 125386, by message call/contract creation: 96446
2024-01-23 06:33:30.079+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | TransactionPool | Block added event BlockAddedEvent{eventType=HEAD_ADVANCED, block=1972 (0x6b6f8b08d8844251a4e8925c59a6197d59529660470a0840a04baa15cfd7c910), commonAncestorHash=0x1317ed130d4b189868923b58198d25a697610a34c4ea66b3487bc613e6fdd04c, addedTransactions count=1, removedTransactions count=0, transactionReceipts count =1, logsWithMetadata count=0}
2024-01-23 06:33:30.079+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | BaseFeePendingTransactionsSorter | Removed static range transaction {sequence: 19, addedAt: 2024-01-23T06:33:29.133244Z, MessageCall, 0x0819bbae96c2c0f15477d212e063303221cf24b9, EIP1559, 10, 1500000000, 1500000000, 205635, 0, 0x5421e8326df6d3e5f01f837d24ee135b34436c4a, }}
2024-01-23 06:33:30.080+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | AbstractPendingTransactionsSorter | Removing sender 0x0819bbae96c2c0f15477d212e063303221cf24b9from transactionBySender since no more tracked transactions
2024-01-23 06:33:30.080+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | BaseFeePendingTransactionsSorter | Updating base fee from Optional[0x0000000000000000000000000000000000000000000000000000000000000000] to 0x0
2024-01-23 06:33:30.080+00:00 | BftProcessorExecutor-IBFT-0 | DEBUG | TransactionLogBloomCacher | Caching logs bloom for block 0x7b4.
2024-01-23 06:33:30.082+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | BlockPropagationManager | Block added event type HEAD_ADVANCED for block 1972 (0x6b6f8b08d8844251a4e8925c59a6197d59529660470a0840a04baa15cfd7c910). Current status BlockPropagationManager{ProcessingBlocksManager{importingBlocks=[], requestedBlocks=[], requestedNonAnnouncedBlocks=[]}, pendingBlocksManager=PendingBlocksManager{pendingBlocks [], pendingBlocksByParentHash={}}}
2024-01-23 06:33:30.082+00:00 | BftProcessorExecutor-IBFT-0 | TRACE | BlockPropagationManager | There are no pending blocks ready to import for block 1972 (0x6b6f8b08d8844251a4e8925c59a6197d59529660470a0840a04baa15cfd7c910)
2024-01-23 06:
bhargavkacharla commented 8 months ago

@siladu

bhargav55 commented 8 months ago

the issue is in this line, always giving CALL_EXCEPTION even though gas limit provided is higher so commented these lines and it is working, looks like gasleft() is not calculating the left over gas properly

Afonsodalvi commented 8 months ago

Has anyone managed to resolve the implementation of Account Abstraction. Regarding some problems reported here, I have the solution:

In relation to EIP1559, when deploying with foundry, use the --legacy command

In the Hyperledger Besu settings enter the: --tx-pool-limit-by-account-percentage=1

I managed to deploy them all this way. However, there is a specific problem that we have not yet resolved in the interaction when we try to create an account, whenever I execute the operation the following error appears: "Transaction reverted with custom error: FailedOp(0, 'AA14 initCode must return sender')"

Does anyone know the solution?

bhargavkacharla commented 8 months ago

I guess you are using the stackup bundler https://docs.stackup.sh/docs/aa14-initcode-must-return-sender. you can check with stackup team. AA abstraction is working with skandha bundler, I removed this line and is working https://github.com/eth-infinitism/account-abstraction/blob/releases/v0.6/contracts/core/EntryPoint.sol#L237

bhargavkacharla commented 8 months ago

the issue is in this line, always giving CALL_EXCEPTION even though gas limit provided is higher so commented these lines and it is working, looks like gasleft() is not calculating the left over gas properly

https://github.com/eth-infinitism/account-abstraction/blob/releases/v0.6/contracts/core/EntryPoint.sol#L237

Afonsodalvi commented 7 months ago

Now the error is method, I use my own API and it always returns this when I create a smartwallet: error

Afonsodalvi commented 7 months ago

Acho que você está usando o empacotador de pilha https://docs.stackup.sh/docs/aa14-initcode-must-return-sender . você pode verificar com a equipe de empilhamento. A abstração AA está funcionando com skandha bundler, removi esta linha e está funcionando https://github.com/eth-infinitism/account-abstraction/blob/releases/v0.6/contracts/core/EntryPoint.sol#L237

I tried that too. Then there is always a method error, I can read the contracts and when I go to do this interaction it gives an error.

NickSneo commented 5 months ago

@bhargav55 @bhargavkacharla Were you able fix it? or is it still giving error for you?

bhargav55 commented 5 months ago

no, it is working for me

NickSneo commented 5 months ago

no, it is working for me

@bhargav55 Can you give me some references how did you make it work? or Steps involved in creating an userop? Thanks

NickSneo commented 5 months ago

It is still failing for me with error -

UserOperation: Sender=0xE5174502F4871DC65e53E03e2f80Dde797a55B26  Nonce=0 EntryPoint=0x0000000071727De22E5E9d8BAf0edAc6f37da032 Paymaster=
failed:  eth_sendUserOperation 
 requestMethod="POST", url="http://127.0.0.1:8545", code=SERVER_ERROR, version=web/5.7.1)
    at Logger.makeError (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/logger/src.ts/index.ts:269:28)
    at Logger.throwError (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/logger/src.ts/index.ts:281:20)
    at /Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/src.ts/index.ts:341:28
    at step (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/lib/index.js:33:23)
    at Object.next (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/lib/index.js:14:53)
    at fulfilled (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/lib/index.js:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5) {
  reason: 'processing response error',
  code: 'SERVER_ERROR',
  body: '{"jsonrpc":"2.0","id":562,"error":{"code":-32000,"message":"Execution reverted","data":"0x"}}',
  error: Error: Execution reverted
      at getResult (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts:142:28)
      at processJsonFunc (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/src.ts/index.ts:383:22)
      at /Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/src.ts/index.ts:320:42
      at step (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/lib/index.js:33:23)
      at Object.next (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/lib/index.js:14:53)
      at fulfilled (/Users/nicks/Desktop/coding/ethereum/bundler/node_modules/@ethersproject/web/lib/index.js:5:58)
      at processTicksAndRejections (node:internal/process/task_queues:95:5) {
    code: -32000,
    data: '0x'
  },
  requestBody: '{"method":"eth_call","params":[{"to":"0x0000000071727De22E5E9d8BAf0edAc6f37da032","data":"0xc3bce0090000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e5174502f4871dc65e53e03e2f80dde797a55b260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000042c3700000000000000000000000000005600000000000000000000000000000000000000000000000000000000000000af3c00000000000000000000000059682f0000000000000000000000000059682f00000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000005812a4f339f74c08f23d8033df4457ec253dc9adc05fbfb9cf000000000000000000000000ae72a48c1a36bd18af168541c53037965d26e4a80000000000000000000000000000000000000000000000000000018f5c36b5a3000000000000000000000000000000000000000000000000000000000000000000000000000000a4b61d27f6000000000000000000000000e5174502f4871dc65e53e03e2f80dde797a55b26000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004b0d691fe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000419fe6fa3e99ac98ac80e155a2497e84d8f2abfc05e60c4fc8400571dab4c776875f0c4bec7b05d78693786465735768d74bcb64bb61d65d6c6466ea5b3172a3ba1c00000000000000000000000000000000000000000000000000000000000000"},"latest",{"0x0000000071727De22E5E9d8BAf0edAc6f37da032":{"code":"0x60806040526004361061016d5760003560e01c8063765e827f116100cb578063b760faf91161007f578063c3bce00911610059578063c3bce009146105ac578063dbed18e0146105d9578063fc7e286d146105f957600080fd5b8063b760faf914610564578063bb9fe6bf14610577578063c23a5cea1461058c57600080fd5b8063957122ab116100b0578063957122ab146104f757806397b2dcb9146105175780639b249f691461054457600080fd5b8063765e827f146104b7578063850aaf62146104d757600080fd5b8063205c28781161012257806335567e1a1161010757806335567e1a146102905780635287ce121461032557806370a082311461047457600080fd5b8063205c28781461025057806322cdde4c1461027057600080fd5b80630396cb60116101535780630396cb60146101e55780630bd28e3b146101f85780631b2e01b81461021857600080fd5b806242dc531461018257806301ffc9a7146101b557600080fd5b3661017d5761017b336106cb565b005b600080fd5b34801561018e57600080fd5b506101a261019d36600461426a565b6106ec565b6040519081526020015b60405180910390f35b3480156101c157600080fd5b506101d56101d0366004614330565b6108b7565b60405190151581526020016101ac565b61017b6101f3366004614372565b610a34565b34801561020457600080fd5b5061017b6102133660046143c0565b610dca565b34801561022457600080fd5b506101a26102333660046143db565b600160209081526000928352604080842090915290825290205481565b34801561025c57600080fd5b5061017b61026b366004614410565b610e12565b34801561027c57600080fd5b506101a261028b366004614455565b610fbc565b34801561029c57600080fd5b506101a26102ab3660046143db565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020908152604080832077ffffffffffffffffffffffffffffffffffffffffffffffff8516845290915290819020549082901b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000161792915050565b34801561033157600080fd5b5061041261034036600461448a565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525073ffffffffffffffffffffffffffffffffffffffff1660009081526020818152604091829020825160a0810184528154815260019091015460ff811615159282019290925261010082046dffffffffffffffffffffffffffff16928101929092526f01000000000000000000000000000000810463ffffffff166060830152730100000000000000000000000000000000000000900465ffffffffffff16608082015290565b6040516101ac9190600060a082019050825182526020830151151560208301526dffffffffffffffffffffffffffff604084015116604083015263ffffffff606084015116606083015265ffffffffffff608084015116608083015292915050565b34801561048057600080fd5b506101a261048f36600461448a565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3480156104c357600080fd5b5061017b6104d23660046144ec565b610ffe565b3480156104e357600080fd5b5061017b6104f2366004614543565b61117b565b34801561050357600080fd5b5061017b610512366004614598565b611220565b34801561052357600080fd5b5061053761053236600461461d565b611378565b6040516101ac91906146ed565b34801561055057600080fd5b5061017b61055f36600461473c565b6114c4565b61017b61057236600461448a565b6106cb565b34801561058357600080fd5b5061017b6115af565b34801561059857600080fd5b5061017b6105a736600461448a565b61178f565b3480156105b857600080fd5b506105cc6105c7366004614455565b611a7c565b6040516101ac919061477e565b3480156105e557600080fd5b5061017b6105f43660046144ec565b611d80565b34801561060557600080fd5b5061068161061436600461448a565b6000602081905290815260409020805460019091015460ff81169061010081046dffffffffffffffffffffffffffff16906f01000000000000000000000000000000810463ffffffff1690730100000000000000000000000000000000000000900465ffffffffffff1685565b6040805195865293151560208601526dffffffffffffffffffffffffffff9092169284019290925263ffffffff909116606083015265ffffffffffff16608082015260a0016101ac565b60015b60058110156106df576001016106ce565b6106e88261222c565b5050565b6000805a9050333014610760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c7900000000000000000060448201526064015b60405180910390fd5b8451606081015160a082015181016127100160405a603f02816107855761078561485e565b0410156107b6577fdeaddead0000000000000000000000000000000000000000000000000000000060005260206000fd5b8751600090156108575760006107d3846000015160008c86612282565b9050806108555760006107e761080061229a565b80519091501561084f57846000015173ffffffffffffffffffffffffffffffffffffffff168a602001517f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20187602001518460405161084692919061488d565b60405180910390a35b60019250505b505b600088608001515a86030190506108a7828a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506122c6915050565b955050505050505b949350505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f60fc6b6e00000000000000000000000000000000000000000000000000000000148061094a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f915074d800000000000000000000000000000000000000000000000000000000145b8061099657507fffffffff0000000000000000000000000000000000000000000000000000000082167fcf28ef9700000000000000000000000000000000000000000000000000000000145b806109e257507fffffffff0000000000000000000000000000000000000000000000000000000082167f3e84f02100000000000000000000000000000000000000000000000000000000145b80610a2e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33600090815260208190526040902063ffffffff8216610ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606401610757565b600181015463ffffffff6f0100000000000000000000000000000090910481169083161015610b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606401610757565b6001810154600090610b6390349061010090046dffffffffffffffffffffffffffff166148d5565b905060008111610bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152606401610757565b6dffffffffffffffffffffffffffff811115610c47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152606401610757565b6040805160a08101825283548152600160208083018281526dffffffffffffffffffffffffffff86811685870190815263ffffffff8a811660608801818152600060808a0181815233808352828a52918c90209a518b55965199909801805494519151965165ffffffffffff16730100000000000000000000000000000000000000027fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff979094166f0100000000000000000000000000000002969096167fffffffffffffff00000000000000000000ffffffffffffffffffffffffffffff91909516610100027fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff991515999099167fffffffffffffffffffffffffffffffffff00000000000000000000000000000090941693909317979097179190911691909117179055835185815290810192909252917fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01910160405180910390a2505050565b33600090815260016020908152604080832077ffffffffffffffffffffffffffffffffffffffffffffffff851684529091528120805491610e0a836148e8565b919050555050565b3360009081526020819052604090208054821115610e8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606401610757565b8054610e99908390614920565b81556040805173ffffffffffffffffffffffffffffffffffffffff851681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb910160405180910390a260008373ffffffffffffffffffffffffffffffffffffffff168360405160006040518083038185875af1925050503d8060008114610f46576040519150601f19603f3d011682016040523d82523d6000602084013e610f4b565b606091505b5050905080610fb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152606401610757565b50505050565b6000610fc7826124ee565b604080516020810192909252309082015246606082015260800160405160208183030381529060405280519'... 34283 more characters,
  requestMethod: 'POST',
  url: 'http://127.0.0.1:8545'
}