Type alias GalacticMarketplaceIDL
GalacticMarketplaceIDL: {
accounts: [{
name: "atlasRateAccount";
type: {
fields: [{
docs: ["`atlas_rate` * Atlas sub-tokens = USDC sub-tokens", "`atlas_rate` = USDC sub-tokens/(`100` * Atlas sub-tokens)", "`atlas_rate` = Atlas price/`100`"];
name: "atlasRate";
type: "u64";
}];
kind: "struct";
};
}, {
name: "feeReduction";
type: {
fields: [{
name: "account";
type: "publicKey";
}, {
name: "bump";
type: "u8";
}, {
docs: ["1_000_000 = 100% discount"];
name: "discount";
type: "u64";
}];
kind: "struct";
};
}, {
name: "marketVars";
type: {
fields: [{
name: "updateAuthorityMaster";
type: "publicKey";
}, {
name: "bump";
type: "u8";
}];
kind: "struct";
};
}, {
name: "openOrdersCounter";
type: {
fields: [{
name: "openOrderCount";
type: "u64";
}, {
name: "bump";
type: "u8";
}];
kind: "struct";
};
}, {
name: "orderAccount";
type: {
fields: [{
name: "orderInitializerPubkey";
type: "publicKey";
}, {
name: "currencyMint";
type: "publicKey";
}, {
name: "assetMint";
type: "publicKey";
}, {
name: "initializerCurrencyTokenAccount";
type: "publicKey";
}, {
name: "initializerAssetTokenAccount";
type: "publicKey";
}, {
name: "orderSide";
type: {
defined: "OrderSide";
};
}, {
name: "price";
type: "u64";
}, {
name: "orderOriginationQty";
type: "u64";
}, {
name: "orderRemainingQty";
type: "u64";
}, {
name: "createdAtTimestamp";
type: "i64";
}];
kind: "struct";
};
}, {
name: "registeredCurrency";
type: {
fields: [{
name: "tokenMint";
type: "publicKey";
}, {
name: "saCurrencyVault";
type: "publicKey";
}, {
name: "royalty";
type: "u64";
}, {
name: "bump";
type: "u8";
}, {
name: "royaltyTiers";
type: {
vec: {
defined: "RoyaltyTier";
};
};
}];
kind: "struct";
};
}];
errors: [{
code: 6000;
msg: "Invalid Destination Token Account";
name: "InvalidDestinationAccount";
}, {
code: 6001;
msg: "Invalid instruction.";
name: "InvalidInstruction";
}, {
code: 6002;
msg: "Invalid SPL Token mint";
name: "InvalidMint";
}, {
code: 6003;
msg: "Invalid Offer Account Owner";
name: "InvalidOfferAccountOwner";
}, {
code: 6004;
msg: "Invalid SPL Token account";
name: "InvalidTokenAccount";
}, {
code: 6005;
msg: "Numerical overflow error";
name: "NumericalOverflowError";
}, {
code: 6006;
msg: "Invalid Update Authority account";
name: "InvalidUpdateAuthorityAccount";
}, {
code: 6007;
msg: "Invalid Order Vault Authority account";
name: "InvalidOrderVaultAuthorityAccount";
}, {
code: 6008;
msg: "Uninitialized Token Account";
name: "UninitializedTokenAccount";
}, {
code: 6009;
msg: "Insufficient Balance";
name: "InsufficientBalance";
}, {
code: 6010;
msg: "Invalid Order Duration";
name: "InvalidOrderDuration";
}, {
code: 6011;
msg: "Origination quantity must be greater than 0";
name: "InvalidOriginationQty";
}, {
code: 6012;
msg: "Insufficient Order Quantity Remaining";
name: "InsufficientOrderQty";
}, {
code: 6013;
msg: "Invalid Royalty Value";
name: "InvalidRoyalty";
}, {
code: 6014;
msg: "Invalid Open Order Counter";
name: "InvalidCounter";
}, {
code: 6015;
msg: "Mint must be zero decimal";
name: "MintDecimalError";
}, {
code: 6016;
msg: "Order Account does not match provided account";
name: "InvalidOrderAccountError";
}, {
code: 6017;
msg: "No royalty tier exists with provided stake amount";
name: "InvalidRoyaltyTier";
}, {
code: 6018;
msg: "Royalty Tier vector cannot hold any additional tiers";
name: "RoyaltyTierLength";
}, {
code: 6019;
msg: "Order price did not match expected price";
name: "InvalidOrderPrice";
}, {
code: 6020;
msg: "Royalty tier already exists";
name: "DuplicateRoyaltyTier";
}, {
code: 6021;
msg: "Order seller did not match expected seller";
name: "InvalidSeller";
}];
instructions: [{
accounts: [{
isMut: false;
isSigner: true;
name: "updateAuthorityMaster";
}, {
isMut: true;
isSigner: true;
name: "funder";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: ["Who the fee exemption is for"];
isMut: false;
isSigner: false;
name: "feeExemptTarget";
}, {
isMut: true;
isSigner: false;
name: "feeExemptAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "discount";
type: "u64";
}];
name: "addFeeExemption";
}, {
accounts: [{
docs: ["Transaction signer must be the update authority in the market", "vars account"];
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
docs: ["The `MarketVars` account"];
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: [""];
isMut: true;
isSigner: false;
name: "registeredCurrency";
}];
args: [{
name: "stakeAmount";
type: "u64";
}, {
name: "discount";
type: "u64";
}];
name: "addRoyaltyTier";
}, {
accounts: [{
docs: ["Transaction signer must be the update authority in the market", "vars account"];
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
docs: ["The `MarketVars` account"];
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: [""];
isMut: true;
isSigner: false;
name: "registeredCurrency";
}];
args: [{
name: "stakeAmount";
type: "u64";
}];
name: "deleteRoyaltyTier";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "deregisterCurrency";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: true;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "initializeMarketplace";
}, {
accounts: [{
docs: ["The account paying to open the `OpenOrderCounter`"];
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "user";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "initializeOpenOrdersCounter";
}, {
accounts: [{
docs: ["Must be either the market authority or the order initializer"];
isMut: true;
isSigner: true;
name: "signer";
}, {
isMut: true;
isSigner: false;
name: "orderInitializer";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
docs: ["Mint check based on asset/currency mint - validated in assert_init_deposit_token_acct()"];
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
docs: ["in function body"];
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}];
args: [];
name: "processCancel";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "orderTaker";
}, {
isMut: true;
isSigner: false;
name: "orderTakerDepositTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderTakerReceiveTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "assetMint";
}, {
isMut: true;
isSigner: false;
name: "orderInitializer";
}, {
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "initializerReceiveTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
docs: ["Star Atlas vault account - must match account in registerd currency"];
isMut: true;
isSigner: false;
name: "saVault";
}, {
isMut: false;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
docs: ["Atlas Staking program"];
isMut: false;
isSigner: false;
name: "atlasStaking";
}, {
docs: ["Atlas `RegisteredStake` Account"];
isMut: false;
isSigner: false;
name: "registeredStake";
}, {
docs: ["User's Atlas staking account"];
isMut: false;
isSigner: false;
name: "stakingAccount";
}, {
isMut: false;
isSigner: false;
name: "feeReduction";
}];
args: [{
name: "purchaseQuantity";
type: "u64";
}, {
name: "expectedPrice";
type: "u64";
}, {
name: "seller";
type: "publicKey";
}];
name: "processExchange";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "orderInitializer";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
isMut: false;
isSigner: false;
name: "receiveMint";
}, {
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "initializerReceiveTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
isMut: false;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}];
args: [{
name: "price";
type: "u64";
}, {
name: "originationQty";
type: "u64";
}];
name: "processInitializeBuy";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "orderInitializer";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
isMut: false;
isSigner: false;
name: "receiveMint";
}, {
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "initializerReceiveTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
isMut: false;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}];
args: [{
name: "price";
type: "u64";
}, {
name: "originationQty";
type: "u64";
}];
name: "processInitializeSell";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "saCurrencyVault";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "royalty";
type: "u64";
}];
name: "registerCurrency";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "updateAuthorityMaster";
}, {
docs: ["Where the funds go"];
isMut: true;
isSigner: false;
name: "funder";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "feeExemptAccount";
}];
args: [];
name: "removeFeeExemption";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "funder";
}, {
isMut: false;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "atlasRate";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "rate";
type: "u64";
}];
name: "updateAtlasRate";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "royalty";
type: "u64";
}];
name: "updateCurrencyRoyalty";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
docs: ["New SA Currency vault"];
isMut: false;
isSigner: false;
name: "saCurrencyVault";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "updateCurrencyVault";
}, {
accounts: [{
docs: ["Transaction signer must be the update authority in the market", "vars account"];
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
docs: ["The `MarketVars` account"];
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: [""];
isMut: true;
isSigner: false;
name: "registeredCurrency";
}];
args: [{
name: "stakeAmount";
type: "u64";
}, {
name: "discount";
type: "u64";
}];
name: "updateRoyaltyTier";
}];
name: "marketplace";
types: [{
name: "OrderSide";
type: {
kind: "enum";
variants: [{
name: "Buy";
}, {
name: "Sell";
}];
};
}, {
docs: ["A royalty tier which defines a discount rate for a given staked amount of tokens"];
name: "RoyaltyTier";
type: {
fields: [{
name: "stakeAmount";
type: "u64";
}, {
name: "discount";
type: "u64";
}];
kind: "struct";
};
}];
version: "0.1.0";
}
Type declaration
-
accounts: [{
name: "atlasRateAccount";
type: {
fields: [{
docs: ["`atlas_rate` * Atlas sub-tokens = USDC sub-tokens", "`atlas_rate` = USDC sub-tokens/(`100` * Atlas sub-tokens)", "`atlas_rate` = Atlas price/`100`"];
name: "atlasRate";
type: "u64";
}];
kind: "struct";
};
}, {
name: "feeReduction";
type: {
fields: [{
name: "account";
type: "publicKey";
}, {
name: "bump";
type: "u8";
}, {
docs: ["1_000_000 = 100% discount"];
name: "discount";
type: "u64";
}];
kind: "struct";
};
}, {
name: "marketVars";
type: {
fields: [{
name: "updateAuthorityMaster";
type: "publicKey";
}, {
name: "bump";
type: "u8";
}];
kind: "struct";
};
}, {
name: "openOrdersCounter";
type: {
fields: [{
name: "openOrderCount";
type: "u64";
}, {
name: "bump";
type: "u8";
}];
kind: "struct";
};
}, {
name: "orderAccount";
type: {
fields: [{
name: "orderInitializerPubkey";
type: "publicKey";
}, {
name: "currencyMint";
type: "publicKey";
}, {
name: "assetMint";
type: "publicKey";
}, {
name: "initializerCurrencyTokenAccount";
type: "publicKey";
}, {
name: "initializerAssetTokenAccount";
type: "publicKey";
}, {
name: "orderSide";
type: {
defined: "OrderSide";
};
}, {
name: "price";
type: "u64";
}, {
name: "orderOriginationQty";
type: "u64";
}, {
name: "orderRemainingQty";
type: "u64";
}, {
name: "createdAtTimestamp";
type: "i64";
}];
kind: "struct";
};
}, {
name: "registeredCurrency";
type: {
fields: [{
name: "tokenMint";
type: "publicKey";
}, {
name: "saCurrencyVault";
type: "publicKey";
}, {
name: "royalty";
type: "u64";
}, {
name: "bump";
type: "u8";
}, {
name: "royaltyTiers";
type: {
vec: {
defined: "RoyaltyTier";
};
};
}];
kind: "struct";
};
}]
-
errors: [{
code: 6000;
msg: "Invalid Destination Token Account";
name: "InvalidDestinationAccount";
}, {
code: 6001;
msg: "Invalid instruction.";
name: "InvalidInstruction";
}, {
code: 6002;
msg: "Invalid SPL Token mint";
name: "InvalidMint";
}, {
code: 6003;
msg: "Invalid Offer Account Owner";
name: "InvalidOfferAccountOwner";
}, {
code: 6004;
msg: "Invalid SPL Token account";
name: "InvalidTokenAccount";
}, {
code: 6005;
msg: "Numerical overflow error";
name: "NumericalOverflowError";
}, {
code: 6006;
msg: "Invalid Update Authority account";
name: "InvalidUpdateAuthorityAccount";
}, {
code: 6007;
msg: "Invalid Order Vault Authority account";
name: "InvalidOrderVaultAuthorityAccount";
}, {
code: 6008;
msg: "Uninitialized Token Account";
name: "UninitializedTokenAccount";
}, {
code: 6009;
msg: "Insufficient Balance";
name: "InsufficientBalance";
}, {
code: 6010;
msg: "Invalid Order Duration";
name: "InvalidOrderDuration";
}, {
code: 6011;
msg: "Origination quantity must be greater than 0";
name: "InvalidOriginationQty";
}, {
code: 6012;
msg: "Insufficient Order Quantity Remaining";
name: "InsufficientOrderQty";
}, {
code: 6013;
msg: "Invalid Royalty Value";
name: "InvalidRoyalty";
}, {
code: 6014;
msg: "Invalid Open Order Counter";
name: "InvalidCounter";
}, {
code: 6015;
msg: "Mint must be zero decimal";
name: "MintDecimalError";
}, {
code: 6016;
msg: "Order Account does not match provided account";
name: "InvalidOrderAccountError";
}, {
code: 6017;
msg: "No royalty tier exists with provided stake amount";
name: "InvalidRoyaltyTier";
}, {
code: 6018;
msg: "Royalty Tier vector cannot hold any additional tiers";
name: "RoyaltyTierLength";
}, {
code: 6019;
msg: "Order price did not match expected price";
name: "InvalidOrderPrice";
}, {
code: 6020;
msg: "Royalty tier already exists";
name: "DuplicateRoyaltyTier";
}, {
code: 6021;
msg: "Order seller did not match expected seller";
name: "InvalidSeller";
}]
-
instructions: [{
accounts: [{
isMut: false;
isSigner: true;
name: "updateAuthorityMaster";
}, {
isMut: true;
isSigner: true;
name: "funder";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: ["Who the fee exemption is for"];
isMut: false;
isSigner: false;
name: "feeExemptTarget";
}, {
isMut: true;
isSigner: false;
name: "feeExemptAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "discount";
type: "u64";
}];
name: "addFeeExemption";
}, {
accounts: [{
docs: ["Transaction signer must be the update authority in the market", "vars account"];
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
docs: ["The `MarketVars` account"];
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: [""];
isMut: true;
isSigner: false;
name: "registeredCurrency";
}];
args: [{
name: "stakeAmount";
type: "u64";
}, {
name: "discount";
type: "u64";
}];
name: "addRoyaltyTier";
}, {
accounts: [{
docs: ["Transaction signer must be the update authority in the market", "vars account"];
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
docs: ["The `MarketVars` account"];
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: [""];
isMut: true;
isSigner: false;
name: "registeredCurrency";
}];
args: [{
name: "stakeAmount";
type: "u64";
}];
name: "deleteRoyaltyTier";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "deregisterCurrency";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: true;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "initializeMarketplace";
}, {
accounts: [{
docs: ["The account paying to open the `OpenOrderCounter`"];
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "user";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "initializeOpenOrdersCounter";
}, {
accounts: [{
docs: ["Must be either the market authority or the order initializer"];
isMut: true;
isSigner: true;
name: "signer";
}, {
isMut: true;
isSigner: false;
name: "orderInitializer";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
docs: ["Mint check based on asset/currency mint - validated in assert_init_deposit_token_acct()"];
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
docs: ["in function body"];
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}];
args: [];
name: "processCancel";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "orderTaker";
}, {
isMut: true;
isSigner: false;
name: "orderTakerDepositTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderTakerReceiveTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "assetMint";
}, {
isMut: true;
isSigner: false;
name: "orderInitializer";
}, {
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "initializerReceiveTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
docs: ["Star Atlas vault account - must match account in registerd currency"];
isMut: true;
isSigner: false;
name: "saVault";
}, {
isMut: false;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
docs: ["Atlas Staking program"];
isMut: false;
isSigner: false;
name: "atlasStaking";
}, {
docs: ["Atlas `RegisteredStake` Account"];
isMut: false;
isSigner: false;
name: "registeredStake";
}, {
docs: ["User's Atlas staking account"];
isMut: false;
isSigner: false;
name: "stakingAccount";
}, {
isMut: false;
isSigner: false;
name: "feeReduction";
}];
args: [{
name: "purchaseQuantity";
type: "u64";
}, {
name: "expectedPrice";
type: "u64";
}, {
name: "seller";
type: "publicKey";
}];
name: "processExchange";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "orderInitializer";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
isMut: false;
isSigner: false;
name: "receiveMint";
}, {
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "initializerReceiveTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
isMut: false;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}];
args: [{
name: "price";
type: "u64";
}, {
name: "originationQty";
type: "u64";
}];
name: "processInitializeBuy";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "orderInitializer";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: false;
isSigner: false;
name: "depositMint";
}, {
isMut: false;
isSigner: false;
name: "receiveMint";
}, {
isMut: true;
isSigner: false;
name: "orderVaultAccount";
}, {
isMut: false;
isSigner: false;
name: "orderVaultAuthority";
}, {
isMut: true;
isSigner: false;
name: "initializerDepositTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "initializerReceiveTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "orderAccount";
}, {
isMut: false;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: true;
isSigner: false;
name: "openOrdersCounter";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}];
args: [{
name: "price";
type: "u64";
}, {
name: "originationQty";
type: "u64";
}];
name: "processInitializeSell";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "saCurrencyVault";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "royalty";
type: "u64";
}];
name: "registerCurrency";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "updateAuthorityMaster";
}, {
docs: ["Where the funds go"];
isMut: true;
isSigner: false;
name: "funder";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "feeExemptAccount";
}];
args: [];
name: "removeFeeExemption";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "funder";
}, {
isMut: false;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "atlasRate";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "rate";
type: "u64";
}];
name: "updateAtlasRate";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [{
name: "royalty";
type: "u64";
}];
name: "updateCurrencyRoyalty";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
isMut: true;
isSigner: false;
name: "registeredCurrency";
}, {
isMut: false;
isSigner: false;
name: "currencyMint";
}, {
docs: ["New SA Currency vault"];
isMut: false;
isSigner: false;
name: "saCurrencyVault";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}];
args: [];
name: "updateCurrencyVault";
}, {
accounts: [{
docs: ["Transaction signer must be the update authority in the market", "vars account"];
isMut: true;
isSigner: true;
name: "updateAuthorityAccount";
}, {
docs: ["The `MarketVars` account"];
isMut: false;
isSigner: false;
name: "marketVarsAccount";
}, {
docs: [""];
isMut: true;
isSigner: false;
name: "registeredCurrency";
}];
args: [{
name: "stakeAmount";
type: "u64";
}, {
name: "discount";
type: "u64";
}];
name: "updateRoyaltyTier";
}]
-
name: "marketplace"
-
types: [{
name: "OrderSide";
type: {
kind: "enum";
variants: [{
name: "Buy";
}, {
name: "Sell";
}];
};
}, {
docs: ["A royalty tier which defines a discount rate for a given staked amount of tokens"];
name: "RoyaltyTier";
type: {
fields: [{
name: "stakeAmount";
type: "u64";
}, {
name: "discount";
type: "u64";
}];
kind: "struct";
};
}]
-
version: "0.1.0"