Epoch Protocol Docs
  • Epoch Protocol - Overview
  • What is Epoch Protocol - An Introduction
  • 📄Litepaper
  • Blog
  • Links
  • Account Abstraction
    • ERC 4337
      • Operations
    • Benefits
    • Use-cases
      • Examples
    • More Readings
  • Use Epoch Protocol Automation dApp
    • How to use Epoch Protocol for Intent Automation
    • Onboarding
    • Connect to Dapp
    • Record a transaction
    • Bonus Add NFT Action
    • Execute Transaction right now
    • Time-Based triggers
    • Token Received Trigger
    • Reporting a bug and common fixes
  • Use Epoch SDK
    • Getting Started
    • Intent Automation Module
      • Epoch Bundler
      • Epoch SDK
      • Triggers
      • Examples
        • How to Initialise the Epoch SDK
        • How to Get User's SC Wallet Address
        • Check If User's SC Wallet is Deployed or Not
        • Deploy User's SC Wallet if not Deployed
        • Schedule Token Payment
        • Schedule ETH Transfer on Event Trigger
    • Contracts
Powered by GitBook
On this page

Was this helpful?

  1. Use Epoch SDK
  2. Intent Automation Module

Epoch Bundler

PreviousIntent Automation ModuleNextEpoch SDK

Last updated 1 year ago

Was this helpful?

Epoch Bundler is Compliant with ERC-4337 Spec tests, but it also adds additional functionalities.

You can find all the default bundler RPC endpoints .

Additional Endpoints in Epoch's Bundler Implementation

eth_sendUserOperation

This method works as it does in a normal bundler, but also accepts some additional parameters.

This includes advancedUserOperation - This includes and evaluation statement.

eth_getUserOperations

This RPC endpoint returns a list of transactions with bundler that are supposed to be executed in the future.

It simply takes user's smart contract wallet address as a parameter and returns a list of queued Userops.

Request

{
     method: "eth_getUserOperations",
     params: [
       "0xb28884540Dc4FA18568Bbc8564386eBd342e3a04"
     ],
}

Response

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "chainId": "0x13881",
            "userOp": {
                "sender": "0x037241C85415fcC94D830d972bBec26e079165Aa",
                "nonce": "0xc6168aeedaeb650000000000000000",
                "initCode": "0x",
                "callData": "0xb61d27f60000...0000000000000",
                "callGasLimit": "0x16e4a0",
                "verificationGasLimit": "0x186a0",
                "preVerificationGas": "0xb47c",
                "maxFeePerGas": "0x59682f20",
                "maxPriorityFeePerGas": "0x59682f00",
                "paymasterAndData": "0x",
                "signature": "0xf28148f085d947222...21bd7818ef1e94c7411b",
                "advancedUserOperation": {
                    "triggerEvent": {
                        "contractAddress": "0xBfa045514a...1E087AE82e3",
                        "eventSignature": "event Sync(uint112 reserve0, uint112 reserve1);",
                        "evaluationStatement": ":reserve1: / :reserve0: >= 9"
                    }
                }
            },
            "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
            "prefund": "0x0",
            "userOpHash": "0xc61060d21d9719...79de49ab3d3827f5",
            "lastUpdatedTime": "0x18c917978fb"
        }
    ]
}

eth_deleteUserOperation

This RPC endpoint will delete from the queue the userop with the same nonce as the one received in the body of this request.

here
triggers