Type alias ProfileVaultIDL
 
ProfileVaultIDL: { 
    accounts: [{ 
        docs: ["An authority over vaults for a profile"]; 
        name: "vaultAuthority"; 
        type: { 
            fields: [{ 
                docs: ["The data version of this account."]; 
                name: "version"; 
                type: "u8"; 
            }, { 
                docs: ["The profile the authority is for"]; 
                name: "profile"; 
                type: "publicKey"; 
            }, { 
                docs: ["The seed of this authority"]; 
                name: "vaultSeed"; 
                type: "publicKey"; 
            }, { 
                docs: ["The bump for this authority"]; 
                name: "vaultBump"; 
                type: "u8"; 
            }]; 
            kind: "struct"; 
        }; 
    }]; 
    instructions: [{ 
        accounts: [{ 
            docs: ["The profile the vault belongs to"]; 
            isMut: false; 
            isSigner: false; 
            name: "profile"; 
        }, { 
            docs: ["The key with close permissions"]; 
            isMut: false; 
            isSigner: true; 
            name: "key"; 
        }, { 
            docs: ["The vault to close"]; 
            isMut: true; 
            isSigner: false; 
            name: "vault"; 
        }, { 
            docs: ["The authority account for the vault"]; 
            isMut: false; 
            isSigner: false; 
            name: "vaultAuthority"; 
        }, { 
            docs: ["Where to send tokens from the closed account"]; 
            isMut: true; 
            isSigner: false; 
            name: "tokensTo"; 
        }, { 
            docs: ["Where to send the closed lamports"]; 
            isMut: true; 
            isSigner: false; 
            name: "fundsTo"; 
        }, { 
            docs: ["The token program"]; 
            isMut: false; 
            isSigner: false; 
            name: "tokenProgram"; 
        }]; 
        args: [{ 
            name: "keyIndex"; 
            type: "u16"; 
        }]; 
        name: "closeVault"; 
    }, { 
        accounts: [{ 
            docs: ["The profile the vault authority belongs to"]; 
            isMut: false; 
            isSigner: false; 
            name: "profile"; 
        }, { 
            docs: ["The key with create permissions"]; 
            isMut: false; 
            isSigner: true; 
            name: "key"; 
        }, { 
            docs: ["The funder for the new vault authority"]; 
            isMut: true; 
            isSigner: true; 
            name: "funder"; 
        }, { 
            docs: ["The authority to create"]; 
            isMut: true; 
            isSigner: false; 
            name: "vaultAuthority"; 
        }, { 
            docs: ["The system program"]; 
            isMut: false; 
            isSigner: false; 
            name: "systemProgram"; 
        }]; 
        args: [{ 
            name: "vaultSeed"; 
            type: "publicKey"; 
        }, { 
            name: "keyIndex"; 
            type: "u16"; 
        }]; 
        name: "createVaultAuthority"; 
    }, { 
        accounts: [{ 
            docs: ["The profile the vault belongs to"]; 
            isMut: false; 
            isSigner: false; 
            name: "profile"; 
        }, { 
            docs: ["The key with drain permissions"]; 
            isMut: false; 
            isSigner: true; 
            name: "key"; 
        }, { 
            docs: ["The vault to drain"]; 
            isMut: true; 
            isSigner: false; 
            name: "vault"; 
        }, { 
            docs: ["The authority account for the vault"]; 
            isMut: false; 
            isSigner: false; 
            name: "vaultAuthority"; 
        }, { 
            docs: ["Where to send tokens from the vault"]; 
            isMut: true; 
            isSigner: false; 
            name: "tokensTo"; 
        }, { 
            docs: ["The token program"]; 
            isMut: false; 
            isSigner: false; 
            name: "tokenProgram"; 
        }]; 
        args: [{ 
            name: "keyIndex"; 
            type: "u16"; 
        }, { 
            name: "amount"; 
            type: "u64"; 
        }]; 
        name: "drainVault"; 
    }]; 
    name: "profile_vault"; 
    version: "0.7.1"; 
}
Type declaration
- 
accounts: [{ 
    docs: ["An authority over vaults for a profile"]; 
    name: "vaultAuthority"; 
    type: { 
        fields: [{ 
            docs: ["The data version of this account."]; 
            name: "version"; 
            type: "u8"; 
        }, { 
            docs: ["The profile the authority is for"]; 
            name: "profile"; 
            type: "publicKey"; 
        }, { 
            docs: ["The seed of this authority"]; 
            name: "vaultSeed"; 
            type: "publicKey"; 
        }, { 
            docs: ["The bump for this authority"]; 
            name: "vaultBump"; 
            type: "u8"; 
        }]; 
        kind: "struct"; 
    }; 
}]
 
- 
instructions: [{ 
    accounts: [{ 
        docs: ["The profile the vault belongs to"]; 
        isMut: false; 
        isSigner: false; 
        name: "profile"; 
    }, { 
        docs: ["The key with close permissions"]; 
        isMut: false; 
        isSigner: true; 
        name: "key"; 
    }, { 
        docs: ["The vault to close"]; 
        isMut: true; 
        isSigner: false; 
        name: "vault"; 
    }, { 
        docs: ["The authority account for the vault"]; 
        isMut: false; 
        isSigner: false; 
        name: "vaultAuthority"; 
    }, { 
        docs: ["Where to send tokens from the closed account"]; 
        isMut: true; 
        isSigner: false; 
        name: "tokensTo"; 
    }, { 
        docs: ["Where to send the closed lamports"]; 
        isMut: true; 
        isSigner: false; 
        name: "fundsTo"; 
    }, { 
        docs: ["The token program"]; 
        isMut: false; 
        isSigner: false; 
        name: "tokenProgram"; 
    }]; 
    args: [{ 
        name: "keyIndex"; 
        type: "u16"; 
    }]; 
    name: "closeVault"; 
}, { 
    accounts: [{ 
        docs: ["The profile the vault authority belongs to"]; 
        isMut: false; 
        isSigner: false; 
        name: "profile"; 
    }, { 
        docs: ["The key with create permissions"]; 
        isMut: false; 
        isSigner: true; 
        name: "key"; 
    }, { 
        docs: ["The funder for the new vault authority"]; 
        isMut: true; 
        isSigner: true; 
        name: "funder"; 
    }, { 
        docs: ["The authority to create"]; 
        isMut: true; 
        isSigner: false; 
        name: "vaultAuthority"; 
    }, { 
        docs: ["The system program"]; 
        isMut: false; 
        isSigner: false; 
        name: "systemProgram"; 
    }]; 
    args: [{ 
        name: "vaultSeed"; 
        type: "publicKey"; 
    }, { 
        name: "keyIndex"; 
        type: "u16"; 
    }]; 
    name: "createVaultAuthority"; 
}, { 
    accounts: [{ 
        docs: ["The profile the vault belongs to"]; 
        isMut: false; 
        isSigner: false; 
        name: "profile"; 
    }, { 
        docs: ["The key with drain permissions"]; 
        isMut: false; 
        isSigner: true; 
        name: "key"; 
    }, { 
        docs: ["The vault to drain"]; 
        isMut: true; 
        isSigner: false; 
        name: "vault"; 
    }, { 
        docs: ["The authority account for the vault"]; 
        isMut: false; 
        isSigner: false; 
        name: "vaultAuthority"; 
    }, { 
        docs: ["Where to send tokens from the vault"]; 
        isMut: true; 
        isSigner: false; 
        name: "tokensTo"; 
    }, { 
        docs: ["The token program"]; 
        isMut: false; 
        isSigner: false; 
        name: "tokenProgram"; 
    }]; 
    args: [{ 
        name: "keyIndex"; 
        type: "u16"; 
    }, { 
        name: "amount"; 
        type: "u64"; 
    }]; 
    name: "drainVault"; 
}]
 
- 
name: "profile_vault"
 
- 
version: "0.7.1"