Variable NativeBridgeMethodsConst

NativeBridgeMethods: {
    generateAtomicDepositAndBridge(userPrivateKey: string, userPublicKey: string, nonce: number, tokenName: string, depositAmount: string, destChain: string, recipient: string, bridgeFeeBps?: number, chainId?: number, contractAddress?: string, chainKey?: string): {
        operation: RPCRequest;
        signature: string;
    };
    generateAtomicDepositAndBridgeOperation(userPublicKey: string, signature: string, nonce: number, chainKey: string, tokenName: string, depositAmount: string, destChain: string, recipient: string, bridgeFeeBps?: number): RPCRequest;
    generateAtomicDepositAndBridgeSignature(userPrivateKey: string, userPublicKey: string, nonce: number, tokenName: string, depositAmount: string, destChain: string, recipient: string, bridgeFeeBps?: number, chainId: number, contractAddress: string): string;
    generateCompleteGaslessBridge(userPrivateKey: string, userPublicKey: string, nonce: number, originChain: string, destChain: string, token: string, recipient: string, amount: string, bridgeFeeBps?: number): {
        bridgeOperation: RPCRequest;
        depositOperation: RPCRequest;
        signature: string;
    };
    generateGaslessBridgeOperation(userPublicKey: string, signature: string, nonce: number, originChain: string, destChain: string, token: string, recipient: string, amount: string, bridgeFeeBps?: number): RPCRequest;
    generateGaslessBridgeSignature(userPrivateKey: string, userPublicKey: string, nonce: number, originChain: string, destChain: string, token: string, recipient: string, amount: string, bridgeFeeBps?: number): string;
    generateGaslessDepositOperation(userPublicKey: string, signature: string, nonce: number, chainKey: string, usdcAddress: string, amount: string): RPCRequest;
    generateGaslessDepositSignature(userPrivateKey: string, userPublicKey: string, nonce: number, usdcAddress: string, amount: string, chainKey: string): string;
    generateOperation(privateKey: string, publicKey: string, originChainType: "EVM" | "SOLANA", originChain:
        | "base"
        | "eth"
        | "SOLANA"
        | "polygon"
        | "bsc"
        | "arbitrum"
        | "optimism"
        | "avalanche", destinationChainType: "EVM" | "SOLANA", destinationChain:
        | "base"
        | "eth"
        | "SOLANA"
        | "polygon"
        | "bsc"
        | "arbitrum"
        | "optimism"
        | "avalanche", originAddress: string, destinationAddress: string, amount: string, token: "USDC"): RPCRequest;
    generateOperationTx(compiled: NativeBridgeOperationCompiled, demos: Demos): Promise<Transaction>;
    validateChain(chain: string, chainType: string, isOrigin: boolean): void;
} = ...

Type declaration

  • generateAtomicDepositAndBridge:function
    • RECOMMENDED: Complete atomic deposit and bridge flow helper

      Parameters

      • userPrivateKey: string

        User's private key for signing

      • userPublicKey: string

        User's public key (address)

      • nonce: number

        User nonce for replay protection

      • tokenName: string

        Human-readable token name (e.g., "usdc", "eth")

      • depositAmount: string

        Amount to deposit and bridge (equal values)

      • destChain: string

        Destination chain name (origin chain is automatic)

      • recipient: string

        Recipient address

      • bridgeFeeBps: number = 0

        Bridge fee in basis points (optional)

      • chainId: number = 11155111

        Chain ID (for signature verification)

      • contractAddress: string = "0x..."

        Contract address (for signature verification)

      • chainKey: string = "eth.sepolia"

        Chain key format (e.g., "eth.sepolia")

      Returns {
          operation: RPCRequest;
          signature: string;
      }

      Object with signature and RPC request for atomic operation

  • generateAtomicDepositAndBridgeOperation:function
    • Executes atomic gasless deposit and bridge through Demos RPC

      Parameters

      • userPublicKey: string

        User's public key (address)

      • signature: string

        User's signature for gasless authorization

      • nonce: number

        User nonce for replay protection

      • chainKey: string

        Chain key (e.g., "eth.sepolia")

      • tokenName: string

        Human-readable token name (e.g., "usdc", "eth")

      • depositAmount: string

        Amount to deposit and bridge

      • destChain: string

        Destination chain name

      • recipient: string

        Recipient address

      • bridgeFeeBps: number = 0

        Bridge fee in basis points

      Returns RPCRequest

      RPC request for atomic deposit and bridge execution

  • generateAtomicDepositAndBridgeSignature:function
    • Generates atomic deposit and bridge signature for the new combined method

      Parameters

      • userPrivateKey: string

        User's private key for signing gasless authorization

      • userPublicKey: string

        User's public key (address)

      • nonce: number

        User nonce for replay protection

      • tokenName: string

        Human-readable token name (e.g., "usdc", "eth")

      • depositAmount: string

        Amount to deposit and bridge (must be equal)

      • destChain: string

        Destination chain name

      • recipient: string

        Recipient address

      • bridgeFeeBps: number = 0

        Bridge fee in basis points (optional)

      • chainId: number

        Chain ID for signature verification

      • contractAddress: string

        Contract address for signature verification

      Returns string

      Signature for atomic deposit and bridge authorization

  • generateCompleteGaslessBridge:function
    • Complete gasless bridge flow helper - combines signature generation and operation creation

      Parameters

      • userPrivateKey: string

        User's private key for signing

      • userPublicKey: string

        User's public key (address)

      • nonce: number

        User nonce for replay protection

      • originChain: string

        Origin chain name

      • destChain: string

        Destination chain name

      • token: string

        Token contract address

      • recipient: string

        Recipient address

      • amount: string

        Amount to bridge

      • bridgeFeeBps: number = 0

        Bridge fee in basis points (optional)

      Returns {
          bridgeOperation: RPCRequest;
          depositOperation: RPCRequest;
          signature: string;
      }

      Object with signature and RPC request for gasless bridge

  • generateGaslessBridgeOperation:function
    • Initiates a gasless bridge operation through Demos RPC

      Parameters

      • userPublicKey: string

        User's public key (address)

      • signature: string

        User's signature for gasless authorization

      • nonce: number

        User nonce for replay protection

      • originChain: string

        Origin chain name

      • destChain: string

        Destination chain name

      • token: string

        Token contract address

      • recipient: string

        Recipient address

      • amount: string

        Amount to bridge

      • bridgeFeeBps: number = 0

        Bridge fee in basis points (optional)

      Returns RPCRequest

      RPC request for gasless bridge initiation

  • generateGaslessBridgeSignature:function
    • Generates gasless bridge operation signature for meta-transaction

      Parameters

      • userPrivateKey: string

        User's private key for signing gasless authorization

      • userPublicKey: string

        User's public key (address)

      • nonce: number

        User nonce for replay protection

      • originChain: string

        Origin chain name

      • destChain: string

        Destination chain name

      • token: string

        Token contract address

      • recipient: string

        Recipient address

      • amount: string

        Amount to bridge

      • bridgeFeeBps: number = 0

        Bridge fee in basis points (optional)

      Returns string

      Signature for gasless bridge operation authorization

  • generateGaslessDepositOperation:function
    • Executes a gasless USDC deposit through Demos RPC

      Parameters

      • userPublicKey: string

        User's public key (address)

      • signature: string

        User's signature for gasless authorization

      • nonce: number

        User nonce for replay protection

      • chainKey: string

        Chain key (e.g., "eth.sepolia")

      • usdcAddress: string

        USDC contract address

      • amount: string

        Amount to deposit

      Returns RPCRequest

      RPC request for gasless deposit execution

  • generateGaslessDepositSignature:function
    • Generates gasless deposit signature for USDC deposits

      Parameters

      • userPrivateKey: string

        User's private key for signing gasless authorization

      • userPublicKey: string

        User's public key (address)

      • nonce: number

        User nonce for replay protection

      • usdcAddress: string

        USDC contract address

      • amount: string

        Amount to deposit

      • chainKey: string

        Chain key (e.g., "eth.sepolia")

      Returns string

      Signature for gasless deposit authorization

  • generateOperation:function
    • Generates a new operation, ready to be sent to the node as a RPCRequest TODO Implement the params REVIEW Should we use the identity somehow or we keep using the private key?

      Parameters

      • privateKey: string
      • publicKey: string
      • originChainType: "EVM" | "SOLANA"
      • originChain:
            | "base"
            | "eth"
            | "SOLANA"
            | "polygon"
            | "bsc"
            | "arbitrum"
            | "optimism"
            | "avalanche"
      • destinationChainType: "EVM" | "SOLANA"
      • destinationChain:
            | "base"
            | "eth"
            | "SOLANA"
            | "polygon"
            | "bsc"
            | "arbitrum"
            | "optimism"
            | "avalanche"
      • originAddress: string
      • destinationAddress: string
      • amount: string
      • token: "USDC"

      Returns RPCRequest

  • generateOperationTx:function
  • validateChain:function
    • Validates the chain

      Parameters

      • chain: string
      • chainType: string
      • isOrigin: boolean

        (useful for error messages)

      Returns void