agent.drain

drain(agentId, maxAmount?) → DrainResult

에이전트의 AA 지갑에서 소유자의 기본 지갑으로 OKRW를 다시 전송합니다. 회수할 금액이 에이전트의 spendingLimit보다 크면 한도 이하의 여러 전송으로 나누어 보냅니다. 소유자 주소는 allowedTargets와 상관없이 항상 허용됩니다.

파라미터

이름 타입 필수 설명
agentId string ✓ 자금을 회수할 에이전트의 UUID입니다.
maxAmount string - 회수할 총액의 상한으로, 십진수 OKRW 문자열입니다. 생략하면 잔액 전체를 회수합니다.

반환값

타입: object

모든 전송이 온체인에서 확인되면 { agent, totalDrained, unit, txHashes, chunkCount, remainingBalance }를 반환합니다. totalDrained와 remainingBalance는 십진수 OKRW 문자열입니다.

에러

코드 이름 설명
AGENT_NOT_ACTIVE AgentNotActive 에이전트가 PENDING, FROZEN 또는 REVOKED 상태입니다.
INSUFFICIENT_BALANCE InsufficientBalance 에이전트 잔액이 0이라 회수할 금액이 없습니다.
TX_FAILED TxFailed 회수 도중 전송이 실패했습니다. 앞선 전송은 완료되었을 수 있으며, detail에 drainedSoFar와 remainingBalance가 담깁니다. 재시도 가능하며, agent.drain을 다시 호출하면 이어서 회수합니다.

예제

최대 500 OKRW 회수

{
  "agentId": "123e4567-e89b-12d3-a456-426614174000",
  "maxAmount": "500"
}
ESC
검색어를 입력하세요