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

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

You can find all the default bundler RPC endpoints here.

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 triggers 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.

PreviousIntent Automation ModuleNextEpoch SDK

Last updated 1 year ago

Was this helpful?