Global Types

Logic

interface Logic<TFields = any> {
  rid: string;
  fields: TFields;
}

The Logic<TFields = any> interface includes the following properties:

  • rid: An identity composed of the protocol and logicId.

  • fields: Information about the fields required for this Logic.

Note that TFields is a generic type parameter that can be replaced with any type.

RouterData

interface RouterData {
  chainId: number;
  account: string;
  logics: Logic[];
  permitData?: PermitSingleData | PermitBatchData;
  permitSig?: string;
  referral?: string;
  referrals?: { collector: string; rate: number }[];
}

The RouterData interface represents the data required to execute a router transaction. It includes the following properties:

  • chainId: The chain ID of the blockchain network.

  • account: The address of the user's wallet account.

  • logics: The Logics data.

  • permitData(optional): The permit data required for the transaction.

  • permitSig(optional): The signature of the permit data.

  • referral(optional): This property represents the address to which fees are sent when conducting on-chain fee-sharing.

  • referrals(optional): This property is used when you want to distribute fees to multiple addresses. It is an array of objects, where each object has two attributes:

    • collector: This is the address where a portion of the proceeds will be sent.

    • rate: The rate parameter represents the percentage allocation of fees to a particular collector. It is an integer value ranging from 1 to 10,000, where 1 represents 0.01%, and 10,000 represents 100%. The sum of all rate values within the referrals array should equal 10,000 to ensure that the entire fee amount is correctly distributed among the specified collectors.

Last updated