@lifi/composer-sdk
Version:
Public Composer SDK for building and submitting flows
45 lines (36 loc) • 1.47 kB
text/typescript
// AUTO-GENERATED from manifest.json — do not edit by hand.
// Regenerate with: yarn workspace @lifi/composer-sdk generate
import type {
MaterialiserConfigOf,
MaterialiserInput,
} from '@lifi/compose-spec';
import type {
BalanceOfMaterialiserConfig as BalanceOfMaterialiserConfigSchema,
CallMaterialiserConfig as CallMaterialiserConfigSchema,
DirectDepositMaterialiserConfig as DirectDepositMaterialiserConfigSchema,
} from './config.generated.js';
export type BalanceOfMaterialiserConfig =
MaterialiserConfigOf<BalanceOfMaterialiserConfigSchema>;
/** Read the on-chain token balance of an address as the input amount — accepts: resource */
export const balanceOf = (
config: BalanceOfMaterialiserConfig,
): MaterialiserInput => ({
kind: 'balanceOf',
...config,
});
export type DirectDepositMaterialiserConfig =
MaterialiserConfigOf<DirectDepositMaterialiserConfigSchema>;
/** Deposit tokens into the VM — native via msg.value, ERC-20 via transferFrom — accepts: resource */
export const directDeposit = (
config: DirectDepositMaterialiserConfig,
): MaterialiserInput => ({
kind: 'directDeposit',
...config,
});
export type CallMaterialiserConfig =
MaterialiserConfigOf<CallMaterialiserConfigSchema>;
/** Execute an arbitrary contract call and measure the resulting token balance diff — accepts: resource */
export const call = (config: CallMaterialiserConfig): MaterialiserInput => ({
kind: 'call',
...config,
});