IPAccountClient

메서드

  • setIpMetadata
  • execute
  • executeWithSig
  • transferErc20

setIpMetadata

IP 자산의 metadataURI를 설정합니다.

메서드타입
setIpMetadata(SetIpMetadataRequest) => Promis<Hex>

Parameters:

  • request.ipId: 메타데이터를 설정할 IP.
  • request.metadataURI: IP 자산에 대해 설정할 metadataURI. IPA Metadata Standard에 맞는 메타데이터를 가리키는 URL이어야 합니다.
  • request.metadataHash: metadataURI에 있는 메타데이터의 해시.
  • request.txOptions: [선택사항] 트랜잭션 options.
const txHash = await client.ipAccount.setIpMetadata({
  ipId: "0x01",
  metadataURI:
    "https://ipfs.io/ipfs/bafkreiardkgvkejqnnkdqp4pamkx2e5bs4lzus5trrw3hgmoa7dlbb6foe",
  // example hash (not accurate)
  metadataHash:
    "0x129f7dd802200f096221dd89d5b086e4bd3ad6eafb378a0c75e3b04fc375f997",
});

execute

IP 계정에서 트랜잭션을 실행합니다.

메서드타입
execute(IPAccountExecuteRequest) => Promis<IPAccountExecuteResponse>

Parameters:

  • request.ipId: IP 계정을 가져올 Ip Id.
  • request.to: 트랜잭션의 수신자.
  • request.value: 보낼 이더의 양.
  • request.data: 트랜잭션과 함께 보낼 데이터.
  • request.txOptions: [선택사항] 트랜잭션 options.
export type IPAccountExecuteRequest = {
  ipId: Address;
  to: Address;
  value: number;
  data: Hex;
  txOptions?: TxOptions;
};

executeWithSig

IP 계정에서 트랜잭션을 실행합니다.

메서드타입
executeWithSig(IPAccountExecuteRequest) => Promis<IPAccountExecuteResponse>

Parameters:

  • request.ipId: IP 계정을 가져올 Ip Id.
  • request.to: 트랜잭션의 수신자.
  • request.data: 트랜잭션과 함께 보낼 데이터.
  • request.signer: 트랜잭션의 서명자.
  • request.deadline: 트랜잭션 서명의 마감 시간.
  • request.signature: 트랜잭션의 서명, EIP-712로 인코딩됨.
  • request.value: [선택사항] 보낼 이더 양.
  • request.txOptions: [선택사항] 트랜잭션 options.
export type IPAccountExecuteWithSigRequest = {
  ipId: Address;
  to: Address;
  data: Hex;
  signer: Address;
  deadline: number | bigint | string;
  signature: Address;
  value?: number | bigint | string;
  txOptions?: TxOptions;
};

transferErc20

IP 계정에서 ERC20 토큰을 전송합니다.

메서드타입
transferErc20(request: TransferErc20Request) => Promise<TransactionResponse>

Parameters:

  • request.ipId: 계정의 ipId
  • request.tokens: 전송할 토큰 정보
    • request.tokens.address: WIP와 표준 ERC20을 포함한 ERC20 토큰의 주소.
    • request.tokens.amount: 전송할 토큰의 양
    • request.tokens.target: 수신자의 주소.
  • request.txOptions: [선택사항] 트랜잭션 options.
export type TransferErc20Request = {
  ipId: Address;
  tokens: {
    address: Address;
    amount: bigint | number;
    target: Address;
  }[];
  txOptions?: Omit<TxOptions, "encodedTxDataOnly">;
};