Deprecated

since version 1.4.0

Name

Sygma

Description

Sygma is the main class that allows you to have bridging capabilities with simple usage

Hierarchy

  • Sygma

Implements

Constructors

  • Name

    constructor

    Parameters

    • -: Setup

      bridge setup list in the form of array if you are connecting form browser or bridge setup object if you are using the sdk with Node.js. FeeOracle setup definition

    Returns Sygma

Properties

bridgeSetup: undefined | BridgeData
bridgeSetupList: undefined | EvmBridgeSetupList
bridges: Bridges = ...
currentBridge: default
ethersProvider: Provider = undefined
feeOracleSetup?: FeeOracleData
providers: ConnectorProvider = ...
selectedToken: number = 0
signers: ConnectorSigner = ...
tokens: SygmaErc20Contracts = ...

Methods

  • Name

    approve

    Description

    approve amount of tokens to spent on home chain

    Parameters

    • argument: {
          amountOrIdForApproval: string;
      }
      • amountOrIdForApproval: string

    Returns Promise<undefined | ContractReceipt>

  • Name

    approveFeeHandler

    Description

    approves to the fee handler

    Returns

    Parameters

    • __namedParameters: {
          amounForApproval: string;
      }
      • amounForApproval: string

    Returns Promise<undefined | ContractReceipt>

  • Name

    checkCurrentAllowance

    Description

    check the current allowance of the provided address

    Parameters

    • recipientAddress: string

    Returns Promise<number>

  • Name

    checkCurrentAllowanceForFeeHandler

    Returns

    Parameters

    • recipientAddress: string

    Returns Promise<number>

  • Name

    computeContract

    Description

    returns bridge and ERC20 contracts

    Returns

    • object with bridge and ERC20 contracts

    Parameters

    • config: EvmBridgeSetup

      Sygma bridge config

    • connector: default

      connector object

    Returns {
        bridge: Bridge;
        erc20: ERC721MinterBurnerPauser | Erc20Detailed;
    }

    • bridge: Bridge
    • erc20: ERC721MinterBurnerPauser | Erc20Detailed
  • Name

    connectToBridge

    Description

    establish connetion with bridge contract interfacep

    Returns

    Parameters

    • bridgeAddress: string
    • signer: undefined | Provider | JsonRpcSigner

    Returns Bridge

  • Name

    connectToken

    Description

    connects to token

    Returns

    Parameters

    Returns ERC721MinterBurnerPauser | Erc20Detailed

  • Name

    createHomeChainDepositEventListener

    Description

    creates the homechain deposit event listener

    Returns

    Parameters

    • callback: ((destinationDomainId: number, resourceId: string, depositNonce: BigNumber, user: string, data: string, handleResponse: string, tx: Event) => void)
        • (destinationDomainId: number, resourceId: string, depositNonce: BigNumber, user: string, data: string, handleResponse: string, tx: Event): void
        • Parameters

          • destinationDomainId: number
          • resourceId: string
          • depositNonce: BigNumber
          • user: string
          • data: string
          • handleResponse: string
          • tx: Event

          Returns void

    Returns Promise<Bridge>

  • Name

    deposit

    Description

    make deposit between two networks

    Parameters

    • argument: {
          amount: string;
          feeData: FeeDataResult;
          recipientAddress: string;
      }

    Returns Promise<undefined | ContractReceipt>

  • Name

    depositGeneric

    Description

    call generic handler to achieve general message passing

    Returns

    Parameters

    Returns Promise<undefined | ContractReceipt>

  • Name

    destinationProposalExecutionEventListener

    Description

    returns the proposal execution listener

    Returns

    Parameters

    • homeDepositNonce: number
    • callback: ((originDomainId: number, depositNonce: BigNumber, dataHash: string, tx: Event) => void)
        • (originDomainId: number, depositNonce: BigNumber, dataHash: string, tx: Event): void
        • Parameters

          • originDomainId: number
          • depositNonce: BigNumber
          • dataHash: string
          • tx: Event

          Returns void

    Returns Bridge

  • Name

    fetchBasicFeeData

    Description

    fetch the basic fee data from FeeOracle service

    Returns

    Parameters

    • params: {
          amount: string;
          recipientAddress: string;
      }
      • amount: string
      • recipientAddress: string

    Returns Promise<FeeDataResult | Error>

  • Name

    fetchFeeData

    Description

    it fetches the fee data according to bridge setup

    Parameters

    • params: {
          amount: string;
          recipientAddress: string;
      }
      • amount: string

        the amount of token to transfer

      • recipientAddress: string

        receiver of the deposit

    Returns Promise<undefined | FeeDataResult | Error>

  • Name

    fetchFeeOracleData

    Description

    fetch the fee oracle data from FeeOracle service

    Returns

    Parameters

    • params: {
          amount: string;
          recipientAddress: string;
      }
      • amount: string
      • recipientAddress: string

    Returns Promise<undefined | FeeDataResult>

  • Name

    formatPermissionedGenericDepositData

    Description

    formats the data for the permissioned generic data

    Returns

    Parameters

    • hexMetaData: string

    Returns string

  • Name

    formatPermissionlessGenericDepositData

    Description

    formats the data for the permissionaless handler

    Returns

    Parameters

    • executeFunctionSignature: string
    • executeContractAddress: string
    • maxFee: string
    • depositor: string
    • executionData: string
    • depositorCheck: boolean = true

    Returns string

  • Name

    getApproved

    Description

    returns true if there is an approval over the specified token id

    Returns

    Parameters

    • tokenId: string

    Returns Promise<boolean>

  • Name

    getBridgeSetup

    Returns

    • the current configuration for that chain

    Parameters

    • chain: "chain1" | "chain2"

      chain to select to return the configuration that was passed on intiantiation

    Returns EvmBridgeSetup

  • Name

    getDepositEventFromReceipt

    Returns

    Parameters

    • depositTx: ContractReceipt

    Returns Promise<DepositEvent>

  • Name

    getDestinationChainProvider

    Description

    returns the RPC provider for destination chain

    Returns

    Returns JsonRpcProvider

  • Parameters

    • signerOrProvider: Signer | JsonRpcProvider
    • feeRouterAddress: string
    • domainId: string
    • resourceId: string

    Returns Promise<string | Error>

  • Name

    getFeeRouterAddress

    Returns

    • the address of the fee router

    Parameters

    • chain: "chain1" | "chain2"

      the chain to get the fee router address

    Returns string

  • Name

    getSelectedTokenAddress

    Returns

    Returns string

  • Name

    getSignerAddress

    Returns

    Parameters

    • chain: string

    Returns Promise<undefined | string>

  • Name

    getSignerBalance

    Description

    gets the signer balance

    Returns

    Parameters

    • chain: string

    Returns Promise<undefined | BigNumber>

  • Name

    getSignerGasPrice

    Returns

    Parameters

    • chain: string

    Returns Promise<undefined | BigNumber>

  • Name

    getTokenBalance

    Description

    returns ERC20 token balance

    Returns

    Parameters

    • erc20Contract: Erc20Detailed
    • address: string

    Returns Promise<BigNumber>

  • Name

    getTokenInfo

    Description

    gets token info from one chain

    Returns

    Parameters

    Returns Promise<{
        balanceOfTokens: BigNumber;
        tokenName: string;
    }>

  • Name

    hasTokenSupplies

    Description

    check if current token has supplies on destination chain

    Returns

    boolean value

    Parameters

    • amount: number

    Returns Promise<boolean>

  • Name

    initializeConnectionFromWeb3Provider

    Description

    initializes the connection from web3 provider

    Returns

    Parameters

    • web3ProviderInstance: ExternalProvider

    Returns Sygma

  • Name

    initializeConnectionRPC

    Description

    initializes RPC connection

    Returns

    Parameters

    • address: string

    Returns Sygma

  • Name

    isEIP1559MaxFeePerGas

    Description

    check if node is EIP1559

    Returns

    Parameters

    Returns Promise<boolean | BigNumber>

  • Name

    listErc721TokenIdsOfOwner

    Description

    list the tokens from the owner

    Returns

    Parameters

    • account: string

    Returns Promise<[string]>

  • Name

    proposalExecutionEventListenerCount

    Description

    computes the amount of listeners

    Returns

    Parameters

    Returns number

  • Name

    removeDestinationProposalExecutionEventListener

    Description

    removes the destination proposal execution listener

    Returns

    Returns Bridge

  • Name

    removeHomeChainDepositEventListener

    Description

    removes the homechain deposit event listener

    Returns

    Returns Bridge

  • Name

    removeProposalExecutionEventListener

    Description

    removes the proposal execution listener

    Returns

    Parameters

    Returns Bridge

  • Name

    selectOneForDestination

    Description

    returns the destinaton chain object

    Returns

    Parameters

    • homeNetworkChainId: number

    Returns undefined | EvmBridgeSetup

  • Name

    setDestination

    Description

    set destination chain over the sygma instance

    Returns

    Parameters

    • domainId: string

    Returns Sygma

  • Name

    setFeeSettings

    Parameters

    • type: string

      the fee settings type: current options are oracle or basic

    • address: string

      address of the fee handler

    • tokenAddress: string

      the token on which the fee settings are being set

    • chain: Directions

      the chain on which the token is going to be altered

    Returns void

  • Name

    setHomeWeb3Provider

    Description

    set the web3 provider for homechain

    Returns

    Parameters

    • web3ProviderInstance: ExternalProvider
    • Optional domainId: string

    Returns Promise<Sygma>

  • Name

    setSelectedToken

    Description

    sets the selectedToken in the Sygma instancep

    Returns

    Parameters

    • address: string

    Returns void

  • Name

    toHex

    Description

    returns formatted hex data

    Returns

    Parameters

    • toConvert: string
    • padding: number

    Returns string

  • Name

    waitForTransactionReceipt

    Description

    waits one block for tx receipt

    Returns

    Parameters

    • txHash: string

    Returns Promise<undefined | TransactionReceipt>

Generated using TypeDoc