Documentation Index
Fetch the complete documentation index at: https://docs.story.foundation/llms.txt
Use this file to discover all available pages before exploring further.
IPAccountClient
Methods
- setIpMetadata
- execute
- executeWithSig
- transferErc20
Sets the metadataURI for an IP asset.
| Method | Type |
|---|
setIpMetadata | (SetIpMetadataRequest) => Promis<Hex> |
Parameters:
request.ipId: The IP to set the metadata for.
request.metadataURI: The metadataURI to set for the IP asset. Should be a URL pointing to metadata that fits the IPA Metadata Standard.
request.metadataHash: The hash of metadata at metadataURI.
const txHash = await client.ipAccount.setIpMetadata({
ipId: "0x01",
metadataURI:
"https://ipfs.io/ipfs/bafkreiardkgvkejqnnkdqp4pamkx2e5bs4lzus5trrw3hgmoa7dlbb6foe",
// example hash (not accurate)
metadataHash:
"0x129f7dd802200f096221dd89d5b086e4bd3ad6eafb378a0c75e3b04fc375f997",
});
execute
Executes a transaction from the IP Account.
| Method | Type |
|---|
execute | (IPAccountExecuteRequest) => Promis<IPAccountExecuteResponse> |
Parameters:
request.ipId: The Ip Id to get ip account.
request.to: The recipient of the transaction.
request.value: The amount of Ether to send.
request.data: The data to send along with the transaction.
export type IPAccountExecuteRequest = {
ipId: Address;
to: Address;
value: number;
data: Hex;
};
executeWithSig
Executes a transaction from the IP Account.
| Method | Type |
|---|
executeWithSig | (IPAccountExecuteRequest) => Promis<IPAccountExecuteResponse> |
Parameters:
request.ipId: The Ip Id to get ip account.
request.to: The recipient of the transaction.
request.data: The data to send along with the transaction.
request.signer: The signer of the transaction.
request.deadline: The deadline of the transaction signature.
request.signature: The signature of the transaction, EIP-712 encoded.
request.value: [Optional] The amount of Ether to send.
export type IPAccountExecuteWithSigRequest = {
ipId: Address;
to: Address;
data: Hex;
signer: Address;
deadline: number | bigint | string;
signature: Address;
value?: number | bigint | string;
};
transferErc20
Transfers an ERC20 token from the IP Account.
| Method | Type |
|---|
transferErc20 | (request: TransferErc20Request) => Promise<TransactionResponse> |
Parameters:
request.ipId: The ipId of the account
request.tokens: The token info to transfer
request.tokens.address: The address of the ERC20 token including WIP and standard ERC20.
request.tokens.amount: The amount of tokens to transfer
request.tokens.target: The address of the recipient.
export type TransferErc20Request = {
ipId: Address;
tokens: {
address: Address;
amount: bigint | number;
target: Address;
}[];
};