Type alias AtlasFeePayerIDL

AtlasFeePayerIDL: {
    accounts: [{
        docs: ["A given fee payer"];
        name: "feePayer";
        type: {
            fields: [{
                docs: ["The data version for this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The rates for this fee payer"];
                name: "rates";
                type: "publicKey";
            }, {
                docs: ["The vault for tokens to be sent to"];
                name: "tokenVault";
                type: "publicKey";
            }, {
                docs: ["The account sol is stored in"];
                name: "paymentAccount";
                type: "publicKey";
            }, {
                docs: ["Used to track the last value of the payment account"];
                name: "lastPayerValue";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Rates for a set of fee payers"];
        name: "feePayerRates";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The profile that owns this fee payer"];
                name: "owningProfile";
                type: "publicKey";
            }, {
                docs: ["The token mint for the sub tokens"];
                name: "tokenMint";
                type: "publicKey";
            }, {
                docs: ["The owner of the token mint"];
                name: "tokenOwner";
                type: "publicKey";
            }, {
                docs: ["The max number of sub tokens per interaction"];
                name: "tokenLimit";
                type: "u64";
            }, {
                docs: ["Math is to multiply `lamports * conversion_rate / 1_000_000_000 = sub_tokens`", "A corollary to this is `conversion_rate = sub_tokens / sol`"];
                name: "conversionRate";
                type: "u64";
            }];
            kind: "struct";
        };
    }];
    errors: [{
        code: 6000;
        msg: "This is not the first instruction in the transaction";
        name: "NotFirstInstruction";
    }, {
        code: 6001;
        msg: "This is not the last instruction in the transaction";
        name: "NotLastInstruction";
    }, {
        code: 6002;
        msg: "The instruction was called in a CPI";
        name: "InstructionIsCPI";
    }, {
        code: 6003;
        msg: "The conversion rate is out of range";
        name: "ConversionRateOutOfRange";
    }, {
        code: 6004;
        msg: "The token limit was exceeded";
        name: "TokenLimitExceeded";
    }, {
        code: 6005;
        msg: "Payment account has data";
        name: "PaymentAccountHasData";
    }, {
        code: 6006;
        msg: "The transaction includes a ComputeBudget instruction type that isn't supported by the fee payer";
        name: "InvalidComputeBudgetInstruction";
    }, {
        code: 6007;
        msg: "Invalid data in instruction";
        name: "InvalidData";
    }];
    instructions: [{
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The payment account for the fee payer"];
            isMut: true;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The recipient of the fee payer and payment_account lamports"];
            isMut: true;
            isSigner: false;
            name: "recipient";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "closeFeePayer";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: true;
            name: "feePayer";
        }, {
            docs: ["The rates for the new fee payer"];
            isMut: false;
            isSigner: false;
            name: "rates";
        }, {
            docs: ["The funder for the new fee payer"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The payment account for the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The token vault for the fee payer"];
            isMut: false;
            isSigner: false;
            name: "tokenVault";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "createFeePayer";
    }, {
        accounts: [{
            docs: ["The new rates"];
            isMut: true;
            isSigner: true;
            name: "rates";
        }, {
            docs: ["The funder for the new fee payer"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The profile with authority over the rates"];
            isMut: false;
            isSigner: false;
            name: "owningProfile";
        }, {
            docs: ["The mint for these rates."];
            isMut: false;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The owner of all token vaults on fee payers."];
            isMut: false;
            isSigner: false;
            name: "tokenOwner";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "tokenLimit";
            type: "u64";
        }, {
            name: "conversionRate";
            type: "u64";
        }];
        name: "createFeePayerRates";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: false;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The fee payer rates"];
            isMut: false;
            isSigner: false;
            name: "rates";
        }, {
            docs: ["The payment account in the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The token vault for the fee payer"];
            isMut: true;
            isSigner: false;
            name: "tokenVault";
        }, {
            docs: ["The funder's profile"];
            isMut: false;
            isSigner: false;
            name: "funderProfile";
        }, {
            docs: ["The funder's key"];
            isMut: true;
            isSigner: true;
            name: "funderKey";
        }, {
            docs: ["The funder's vault authority"];
            isMut: false;
            isSigner: false;
            name: "funderVaultAuthority";
        }, {
            docs: ["The funder's vault"];
            isMut: true;
            isSigner: false;
            name: "funderVault";
        }, {
            docs: ["The instructions sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionSysvar";
        }, {
            docs: ["The vault program"];
            isMut: false;
            isSigner: false;
            name: "vaultProgram";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "funderKeyIndex";
            type: "u16";
        }];
        name: "postTransaction";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: false;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The fee payer rates"];
            isMut: false;
            isSigner: false;
            name: "rates";
        }, {
            docs: ["The payment account in the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The token vault for the fee payer"];
            isMut: true;
            isSigner: false;
            name: "tokenVault";
        }, {
            docs: ["The funder's key"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The funder's token account"];
            isMut: true;
            isSigner: false;
            name: "funderTokenAccount";
        }, {
            docs: ["The instructions sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionSysvar";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "postTransactionNoVault";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The payment account in the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The instructions sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionSysvar";
        }];
        args: [{
            name: "signerCount";
            type: "u8";
        }];
        name: "preTransaction";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The profile that will own this fee payer"];
            isMut: false;
            isSigner: false;
            name: "owningProfile";
        }, {
            docs: ["The key with proper permissions"];
            isMut: false;
            isSigner: true;
            name: "owningKey";
        }];
        args: [{
            name: "setData";
            type: {
                defined: "SetFeePayerData";
            };
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "setFeePayerRates";
    }];
    name: "atlas_fee_payer";
    types: [{
        docs: ["The data for `SetFeePayerValues`"];
        name: "SetFeePayerData";
        type: {
            fields: [{
                docs: ["Sets the owning profile"];
                name: "owningProfile";
                type: "bool";
            }, {
                docs: ["Sets the token owner"];
                name: "tokenOwner";
                type: "bool";
            }, {
                docs: ["Sets the token limit"];
                name: "tokenLimit";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Sets the conversion rate"];
                name: "conversionRate";
                type: {
                    option: "u64";
                };
            }];
            kind: "struct";
        };
    }];
    version: "0.4.1";
}

Type declaration

  • accounts: [{
        docs: ["A given fee payer"];
        name: "feePayer";
        type: {
            fields: [{
                docs: ["The data version for this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The rates for this fee payer"];
                name: "rates";
                type: "publicKey";
            }, {
                docs: ["The vault for tokens to be sent to"];
                name: "tokenVault";
                type: "publicKey";
            }, {
                docs: ["The account sol is stored in"];
                name: "paymentAccount";
                type: "publicKey";
            }, {
                docs: ["Used to track the last value of the payment account"];
                name: "lastPayerValue";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Rates for a set of fee payers"];
        name: "feePayerRates";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The profile that owns this fee payer"];
                name: "owningProfile";
                type: "publicKey";
            }, {
                docs: ["The token mint for the sub tokens"];
                name: "tokenMint";
                type: "publicKey";
            }, {
                docs: ["The owner of the token mint"];
                name: "tokenOwner";
                type: "publicKey";
            }, {
                docs: ["The max number of sub tokens per interaction"];
                name: "tokenLimit";
                type: "u64";
            }, {
                docs: ["Math is to multiply `lamports * conversion_rate / 1_000_000_000 = sub_tokens`", "A corollary to this is `conversion_rate = sub_tokens / sol`"];
                name: "conversionRate";
                type: "u64";
            }];
            kind: "struct";
        };
    }]
  • errors: [{
        code: 6000;
        msg: "This is not the first instruction in the transaction";
        name: "NotFirstInstruction";
    }, {
        code: 6001;
        msg: "This is not the last instruction in the transaction";
        name: "NotLastInstruction";
    }, {
        code: 6002;
        msg: "The instruction was called in a CPI";
        name: "InstructionIsCPI";
    }, {
        code: 6003;
        msg: "The conversion rate is out of range";
        name: "ConversionRateOutOfRange";
    }, {
        code: 6004;
        msg: "The token limit was exceeded";
        name: "TokenLimitExceeded";
    }, {
        code: 6005;
        msg: "Payment account has data";
        name: "PaymentAccountHasData";
    }, {
        code: 6006;
        msg: "The transaction includes a ComputeBudget instruction type that isn't supported by the fee payer";
        name: "InvalidComputeBudgetInstruction";
    }, {
        code: 6007;
        msg: "Invalid data in instruction";
        name: "InvalidData";
    }]
  • instructions: [{
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The payment account for the fee payer"];
            isMut: true;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The recipient of the fee payer and payment_account lamports"];
            isMut: true;
            isSigner: false;
            name: "recipient";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "closeFeePayer";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: true;
            name: "feePayer";
        }, {
            docs: ["The rates for the new fee payer"];
            isMut: false;
            isSigner: false;
            name: "rates";
        }, {
            docs: ["The funder for the new fee payer"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The payment account for the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The token vault for the fee payer"];
            isMut: false;
            isSigner: false;
            name: "tokenVault";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "createFeePayer";
    }, {
        accounts: [{
            docs: ["The new rates"];
            isMut: true;
            isSigner: true;
            name: "rates";
        }, {
            docs: ["The funder for the new fee payer"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The profile with authority over the rates"];
            isMut: false;
            isSigner: false;
            name: "owningProfile";
        }, {
            docs: ["The mint for these rates."];
            isMut: false;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The owner of all token vaults on fee payers."];
            isMut: false;
            isSigner: false;
            name: "tokenOwner";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "tokenLimit";
            type: "u64";
        }, {
            name: "conversionRate";
            type: "u64";
        }];
        name: "createFeePayerRates";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: false;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The fee payer rates"];
            isMut: false;
            isSigner: false;
            name: "rates";
        }, {
            docs: ["The payment account in the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The token vault for the fee payer"];
            isMut: true;
            isSigner: false;
            name: "tokenVault";
        }, {
            docs: ["The funder's profile"];
            isMut: false;
            isSigner: false;
            name: "funderProfile";
        }, {
            docs: ["The funder's key"];
            isMut: true;
            isSigner: true;
            name: "funderKey";
        }, {
            docs: ["The funder's vault authority"];
            isMut: false;
            isSigner: false;
            name: "funderVaultAuthority";
        }, {
            docs: ["The funder's vault"];
            isMut: true;
            isSigner: false;
            name: "funderVault";
        }, {
            docs: ["The instructions sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionSysvar";
        }, {
            docs: ["The vault program"];
            isMut: false;
            isSigner: false;
            name: "vaultProgram";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "funderKeyIndex";
            type: "u16";
        }];
        name: "postTransaction";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: false;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The fee payer rates"];
            isMut: false;
            isSigner: false;
            name: "rates";
        }, {
            docs: ["The payment account in the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The token vault for the fee payer"];
            isMut: true;
            isSigner: false;
            name: "tokenVault";
        }, {
            docs: ["The funder's key"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The funder's token account"];
            isMut: true;
            isSigner: false;
            name: "funderTokenAccount";
        }, {
            docs: ["The instructions sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionSysvar";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "postTransactionNoVault";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The payment account in the fee payer"];
            isMut: false;
            isSigner: true;
            name: "paymentAccount";
        }, {
            docs: ["The instructions sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionSysvar";
        }];
        args: [{
            name: "signerCount";
            type: "u8";
        }];
        name: "preTransaction";
    }, {
        accounts: [{
            docs: ["The fee payer account"];
            isMut: true;
            isSigner: false;
            name: "feePayer";
        }, {
            docs: ["The profile that will own this fee payer"];
            isMut: false;
            isSigner: false;
            name: "owningProfile";
        }, {
            docs: ["The key with proper permissions"];
            isMut: false;
            isSigner: true;
            name: "owningKey";
        }];
        args: [{
            name: "setData";
            type: {
                defined: "SetFeePayerData";
            };
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "setFeePayerRates";
    }]
  • name: "atlas_fee_payer"
  • types: [{
        docs: ["The data for `SetFeePayerValues`"];
        name: "SetFeePayerData";
        type: {
            fields: [{
                docs: ["Sets the owning profile"];
                name: "owningProfile";
                type: "bool";
            }, {
                docs: ["Sets the token owner"];
                name: "tokenOwner";
                type: "bool";
            }, {
                docs: ["Sets the token limit"];
                name: "tokenLimit";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Sets the conversion rate"];
                name: "conversionRate";
                type: {
                    option: "u64";
                };
            }];
            kind: "struct";
        };
    }]
  • version: "0.4.1"

Generated using TypeDoc