UNPKG

escrow-market-sdk

Version:
744 lines (743 loc) 21.1 kB
export * from './accounts'; export * from './instructions'; export interface EscrowMarketIDL { "version": "0.1.0"; "name": "escrow_market"; "instructions": [ { "name": "initialize"; "docs": [ "Initialize the Config Account for the escrow market.", "This instruction can only be called once by the admin." ]; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "config"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "admin"; "type": "publicKey"; }, { "name": "operator"; "type": "publicKey"; } ]; }, { "name": "deposit"; "accounts": [ { "name": "user"; "isMut": true; "isSigner": true; }, { "name": "mint"; "isMut": false; "isSigner": false; }, { "name": "userTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultAuthority"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; } ]; }, { "name": "initializeVault"; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "mint"; "isMut": false; "isSigner": false; }, { "name": "vaultTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultAuthority"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "withdraw"; "accounts": [ { "name": "operator"; "isMut": true; "isSigner": true; }, { "name": "user"; "isMut": false; "isSigner": false; }, { "name": "config"; "isMut": false; "isSigner": false; }, { "name": "mint"; "isMut": false; "isSigner": false; }, { "name": "userTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultAuthority"; "isMut": false; "isSigner": false; }, { "name": "withdrawNonce"; "isMut": true; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "amount"; "type": "u64"; }, { "name": "nonce"; "type": "u64"; } ]; }, { "name": "settle"; "accounts": [ { "name": "seller"; "isMut": true; "isSigner": true; }, { "name": "operator"; "isMut": true; "isSigner": true; }, { "name": "buyer"; "isMut": true; "isSigner": false; }, { "name": "deal"; "isMut": true; "isSigner": false; }, { "name": "config"; "isMut": false; "isSigner": false; }, { "name": "tokenTransfer"; "isMut": false; "isSigner": false; }, { "name": "sellerTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "buyerTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "tokenWithdraw"; "isMut": false; "isSigner": false; }, { "name": "sellerWithdrawAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultAuthority"; "isMut": false; "isSigner": false; }, { "name": "tokenTransferProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenWithdrawProgram"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "dealId"; "type": "string"; }, { "name": "transferAmount"; "type": "u64"; }, { "name": "withdrawAmount"; "type": "u64"; } ]; }, { "name": "operatorCancel"; "accounts": [ { "name": "buyer"; "isMut": true; "isSigner": false; }, { "name": "operator"; "isMut": true; "isSigner": true; }, { "name": "deal"; "isMut": true; "isSigner": false; }, { "name": "config"; "isMut": false; "isSigner": false; }, { "name": "token"; "isMut": false; "isSigner": false; }, { "name": "buyerTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "vaultAuthority"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "dealId"; "type": "string"; }, { "name": "amount"; "type": "u64"; } ]; } ]; "accounts": [ { "name": "withdrawNonce"; "type": { "kind": "struct"; "fields": [ { "name": "nonce"; "type": "u64"; } ]; }; }, { "name": "config"; "docs": [ "Config account stores admin and operator information" ]; "type": { "kind": "struct"; "fields": [ { "name": "admin"; "docs": [ "The admin pubkey" ]; "type": "publicKey"; }, { "name": "operator"; "docs": [ "The operator pubkey" ]; "type": "publicKey"; }, { "name": "bump"; "docs": [ "Bump seed for PDA" ]; "type": "u8"; } ]; }; }, { "name": "deal"; "docs": [ "Deal account stores information about a specific deal" ]; "type": { "kind": "struct"; "fields": [ { "name": "dealId"; "docs": [ "Unique identifier for the deal" ]; "type": "string"; }, { "name": "bump"; "type": "u8"; } ]; }; } ]; "types": [ { "name": "CustomError"; "type": { "kind": "enum"; "variants": [ { "name": "InvalidMint"; }, { "name": "Overflow"; }, { "name": "InsufficientFunds"; }, { "name": "MintIsNotOwnedByTokenProgram"; } ]; }; } ]; "events": [ { "name": "DepositEvent"; "fields": [ { "name": "user"; "type": "publicKey"; "index": false; }, { "name": "token"; "type": "publicKey"; "index": false; }, { "name": "amount"; "type": "u64"; "index": false; }, { "name": "timestamp"; "type": "i64"; "index": false; } ]; }, { "name": "SettleEvent"; "fields": [ { "name": "dealId"; "type": "string"; "index": false; }, { "name": "seller"; "type": "publicKey"; "index": false; }, { "name": "buyer"; "type": "publicKey"; "index": false; }, { "name": "tokenTransfer"; "type": "publicKey"; "index": false; }, { "name": "transferAmount"; "type": "u64"; "index": false; }, { "name": "tokenWithdraw"; "type": "publicKey"; "index": false; }, { "name": "withdrawAmount"; "type": "u64"; "index": false; }, { "name": "timestamp"; "type": "i64"; "index": false; } ]; }, { "name": "CancelEvent"; "fields": [ { "name": "dealId"; "type": "string"; "index": false; }, { "name": "buyer"; "type": "publicKey"; "index": false; }, { "name": "token"; "type": "publicKey"; "index": false; }, { "name": "amount"; "type": "u64"; "index": false; }, { "name": "cancelledBy"; "type": "publicKey"; "index": false; }, { "name": "timestamp"; "type": "i64"; "index": false; } ]; }, { "name": "WithdrawEvent"; "fields": [ { "name": "user"; "type": "publicKey"; "index": false; }, { "name": "token"; "type": "publicKey"; "index": false; }, { "name": "amount"; "type": "u64"; "index": false; }, { "name": "nonce"; "type": "u64"; "index": false; }, { "name": "operator"; "type": "publicKey"; "index": false; }, { "name": "timestamp"; "type": "i64"; "index": false; } ]; }, { "name": "WithdrawEvent"; "fields": [ { "name": "user"; "type": "publicKey"; "index": false; }, { "name": "token"; "type": "publicKey"; "index": false; }, { "name": "amount"; "type": "u64"; "index": false; }, { "name": "nonce"; "type": "u64"; "index": false; }, { "name": "operator"; "type": "publicKey"; "index": false; }, { "name": "timestamp"; "type": "i64"; "index": false; } ]; } ]; "errors": [ { "code": 6000; "name": "NotAdmin"; "msg": "Caller is not admin"; }, { "code": 6001; "name": "NotOperator"; "msg": "Caller is not operator"; }, { "code": 6002; "name": "NotSeller"; "msg": "Caller is not seller"; }, { "code": 6003; "name": "NotBuyer"; "msg": "Caller is not buyer"; }, { "code": 6004; "name": "DealAlreadySettled"; "msg": "Deal already settled"; }, { "code": 6005; "name": "DealAlreadyCancelled"; "msg": "Deal already cancelled"; }, { "code": 6006; "name": "DealNotFound"; "msg": "Deal not found"; }, { "code": 6007; "name": "DealExpired"; "msg": "Deal expired"; }, { "code": 6008; "name": "InvalidDealStatus"; "msg": "Invalid deal status"; }, { "code": 6009; "name": "NonceUsed"; "msg": "Nonce already used"; }, { "code": 6010; "name": "InvalidNonce"; "msg": "Invalid nonce"; }, { "code": 6011; "name": "SignatureMissing"; "msg": "Missing required signature"; }, { "code": 6012; "name": "NotEnoughSigner"; "msg": "Not enough signers"; }, { "code": 6013; "name": "InvalidAddress"; "msg": "Invalid address"; }, { "code": 6014; "name": "InvalidAmount"; "msg": "Invalid amount"; }, { "code": 6015; "name": "InvalidToken"; "msg": "Invalid token"; }, { "code": 6016; "name": "DeadlineInPast"; "msg": "Deadline is in the past"; }, { "code": 6017; "name": "TokenTransferFailed"; "msg": "Token transfer failed"; }, { "code": 6018; "name": "Unknown"; "msg": "Unknown error"; } ]; } export declare const IDL: EscrowMarketIDL;