statechannels / SCBridge-Wallet

MIT License
1 stars 2 forks source link

Pay L1 flow #106

Closed bitwiseguy closed 11 months ago

bitwiseguy commented 11 months ago

Clicking the L1 Pay button on the UI now progresses to the Intermediary.handleUserOp method but then fails with this error:

errors.ts:694 Uncaught (in promise) Error: contract runner does not support sending transactions (operation="sendTransaction", code=UNSUPPORTED_OPERATION, version=6.8.0)
    at makeError (errors.ts:694:21)
    at assert (errors.ts:715:25)
    at send (contract.ts:310:9)
    at Proxy.handleOps (contract.ts:352:22)
    at IntermediaryClient.handleUserOp (IntermediaryClient.ts:182:35)

Update: the above error was fixed by attaching this.signer to the StateChannelWallet.entrypointContract instead of attaching this.provider. The reason is that it needs a signer in order to send txs (opposed to just invoking read methods)

Latest error: insufficient funds when sending the UserOperation on-chain.

Uncaught (in promise) Error: could not coalesce error (error={ "code": -32000, "data": { "message": "sender doesn't have enough funds to send tx. The max upfront cost is: 82743000000000 and the sender's account only has: 0" }, "message": "sender doesn't have enough funds to send tx. The max upfront cost is: 82743000000000 and the sender's account only has: 0" }, payload={ "id": 11, "jsonrpc": "2.0", "method": "eth_sendRawTransaction", "params": [ "..." ] }, code=UNKNOWN_ERROR, version=6.8.0)

Update: the above error is resolved after using the latest deployment script that funds accounts and deposits into EntryPoint contract