Type alias AssetControllerIdlTypes
AssetControllerIdlTypes: {
accounts: [{
discriminator: [70, 136, 149, 138, 12, 87, 52, 105];
name: "assetControllerAccount";
}];
address: "acpcFrzEYKjVLvZGWueTV8vyDjhu3oKC7sN38QELLan";
errors: [{
code: 6000;
msg: "Transfer hasnt been approved for the asset mint";
name: "transferMintNotApproved";
}, {
code: 6001;
msg: "Transfer hasnt been approved for from account";
name: "transferFromNotApproved";
}, {
code: 6002;
msg: "Transfer hasnt been approved for to account";
name: "transferToNotApproved";
}, {
code: 6003;
msg: "Transfer hasnt been approved for the specified amount";
name: "transferAmountNotApproved";
}, {
code: 6004;
msg: "Invalid policy account passed";
name: "invalidPolicyAccount";
}, {
code: 6005;
msg: "Invalid slot for approve account";
name: "transferSlotNotApproved";
}, {
code: 6006;
msg: "Transfer history is full";
name: "transferHistoryFull";
}, {
code: 6007;
msg: "unauthorized";
name: "unauthorized";
}, {
code: 6008;
msg: "Pda passed in for transfer is wrong";
name: "invalidPdaPassedIn";
}];
events: [{
discriminator: [90, 19, 200, 229, 103, 82, 218, 16];
name: "assetMetadataEvent";
}, {
discriminator: [22, 198, 253, 69, 234, 122, 248, 117];
name: "extensionMetadataEvent";
}];
instructions: [{
accounts: [{
name: "owner";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "owner";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [{
name: "amount";
type: "u64";
}];
discriminator: [76, 15, 51, 254, 229, 215, 121, 66];
docs: ["burn shares of the rwa asset"];
name: "burnTokens";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [];
discriminator: [14, 121, 72, 246, 96, 224, 42, 162];
docs: ["close mint account"];
name: "closeMintAccount";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "owner";
signer: true;
}, {
name: "assetMint";
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "owner";
}, {
kind: "const";
value: [6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169];
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}];
args: [];
discriminator: [132, 172, 24, 60, 100, 156, 135, 97];
docs: ["close a token account"];
name: "closeTokenAccount";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "authority";
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
name: "assetMint";
signer: true;
writable: true;
}, {
name: "extraMetasAccount";
writable: true;
}, {
name: "policyEngineAccount";
writable: true;
}, {
name: "identityRegistryAccount";
writable: true;
}, {
name: "dataRegistryAccount";
writable: true;
}, {
address: "po1cPf1eyUJJPqULw4so3T4JU9pdFn83CDyuLEKFAau";
name: "policyEngine";
}, {
address: "idtynCMYbdisCTv4FrCWPSQboZb1uM4TV2cPi79yxQf";
name: "identityRegistry";
}, {
address: "dataeP5X1e7XsWN1ovDSEDP5cqaEUnKBmHE5iZhXPVw";
name: "dataRegistry";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [{
name: "args";
type: {
defined: {
name: "createAssetControllerArgs";
};
};
}];
discriminator: [97, 185, 6, 250, 248, 242, 68, 105];
docs: ["create an rwa asset"];
name: "createAssetController";
}, {
accounts: [{
name: "owner";
signer: true;
}, {
name: "tokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [];
discriminator: [68, 156, 197, 9, 43, 91, 114, 19];
docs: ["memo transfer disable"];
name: "disableMemoTransfer";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "owner";
signer: true;
}, {
name: "assetMint";
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "owner";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [];
discriminator: [186, 78, 97, 172, 71, 172, 99, 0];
docs: ["memo transfer enable"];
name: "enableMemoTransfer";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "tokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [];
discriminator: [138, 168, 178, 109, 205, 224, 209, 93];
docs: ["freeze token account"];
name: "freezeTokenAccount";
}, {
accounts: [{
name: "authority";
signer: true;
writable: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "to";
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "to";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}];
args: [{
name: "amount";
type: "u64";
}];
discriminator: [40, 207, 145, 106, 249, 54, 23, 179];
docs: ["issue shares of the rwa asset"];
name: "issueTokens";
}, {
accounts: [{
name: "authority";
signer: true;
writable: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "authorityTokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "assetController";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
name: "revokeTokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}];
args: [{
name: "amount";
type: "u64";
}];
discriminator: [215, 42, 15, 134, 173, 80, 33, 21];
docs: ["revoke shares of the rwa asset"];
name: "revokeTokens";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "tokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [];
discriminator: [199, 172, 96, 93, 244, 252, 137, 171];
docs: ["thaw token account"];
name: "thawTokenAccount";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [{
name: "rate";
type: "i16";
}];
discriminator: [29, 174, 109, 163, 227, 75, 2, 144];
docs: ["interest bearing mint rate update"];
name: "updateInterestBearingMintRate";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "authority";
signer: true;
writable: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [{
name: "args";
type: {
defined: {
name: "updateAssetMetadataArgs";
};
};
}];
discriminator: [170, 182, 43, 239, 97, 78, 225, 186];
docs: ["edit metadata of the rwa asset"];
name: "updateMetadata";
}];
metadata: {
description: "The Asset Controller Program (ACP) enables core asset management functionality for newly issued assets, including transfer controls and transaction privacy.";
name: "assetController";
spec: "0.1.0";
version: "0.0.1";
};
types: [{
name: "assetControllerAccount";
type: {
fields: [{
name: "version";
type: "u8";
}, {
docs: ["mint pubkey"];
name: "assetMint";
type: "pubkey";
}, {
docs: ["authority has the ability to change delegate, freeze token accounts, etc."];
name: "authority";
type: "pubkey";
}, {
docs: ["delegate has the ability to generate tranasction approval accounts,", "by default points to self, which allows any programs to generate an approval account", "update to any other account to control cpis"];
name: "delegate";
type: "pubkey";
}];
kind: "struct";
};
}, {
name: "assetMetadataEvent";
type: {
fields: [{
name: "mint";
type: "string";
}, {
name: "name";
type: {
option: "string";
};
}, {
name: "symbol";
type: {
option: "string";
};
}, {
name: "uri";
type: {
option: "string";
};
}, {
name: "decimals";
type: {
option: "u8";
};
}];
kind: "struct";
};
}, {
name: "createAssetControllerArgs";
type: {
fields: [{
name: "decimals";
type: "u8";
}, {
name: "name";
type: "string";
}, {
name: "symbol";
type: "string";
}, {
name: "uri";
type: "string";
}, {
name: "delegate";
type: {
option: "pubkey";
};
}, {
name: "interestRate";
type: {
option: "i16";
};
}];
kind: "struct";
};
}, {
name: "extensionMetadataEvent";
type: {
fields: [{
name: "address";
type: "string";
}, {
name: "extensionType";
type: "u8";
}, {
name: "metadata";
type: "bytes";
}];
kind: "struct";
};
}, {
name: "updateAssetMetadataArgs";
type: {
fields: [{
name: "name";
type: {
option: "string";
};
}, {
name: "symbol";
type: {
option: "string";
};
}, {
name: "uri";
type: {
option: "string";
};
}];
kind: "struct";
};
}];
}
Type declaration
accounts: [{
discriminator: [70, 136, 149, 138, 12, 87, 52, 105];
name: "assetControllerAccount";
}]
address: "acpcFrzEYKjVLvZGWueTV8vyDjhu3oKC7sN38QELLan"
errors: [{
code: 6000;
msg: "Transfer hasnt been approved for the asset mint";
name: "transferMintNotApproved";
}, {
code: 6001;
msg: "Transfer hasnt been approved for from account";
name: "transferFromNotApproved";
}, {
code: 6002;
msg: "Transfer hasnt been approved for to account";
name: "transferToNotApproved";
}, {
code: 6003;
msg: "Transfer hasnt been approved for the specified amount";
name: "transferAmountNotApproved";
}, {
code: 6004;
msg: "Invalid policy account passed";
name: "invalidPolicyAccount";
}, {
code: 6005;
msg: "Invalid slot for approve account";
name: "transferSlotNotApproved";
}, {
code: 6006;
msg: "Transfer history is full";
name: "transferHistoryFull";
}, {
code: 6007;
msg: "unauthorized";
name: "unauthorized";
}, {
code: 6008;
msg: "Pda passed in for transfer is wrong";
name: "invalidPdaPassedIn";
}]
events: [{
discriminator: [90, 19, 200, 229, 103, 82, 218, 16];
name: "assetMetadataEvent";
}, {
discriminator: [22, 198, 253, 69, 234, 122, 248, 117];
name: "extensionMetadataEvent";
}]
instructions: [{
accounts: [{
name: "owner";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "owner";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [{
name: "amount";
type: "u64";
}];
discriminator: [76, 15, 51, 254, 229, 215, 121, 66];
docs: ["burn shares of the rwa asset"];
name: "burnTokens";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [];
discriminator: [14, 121, 72, 246, 96, 224, 42, 162];
docs: ["close mint account"];
name: "closeMintAccount";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "owner";
signer: true;
}, {
name: "assetMint";
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "owner";
}, {
kind: "const";
value: [6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169];
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}];
args: [];
discriminator: [132, 172, 24, 60, 100, 156, 135, 97];
docs: ["close a token account"];
name: "closeTokenAccount";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "authority";
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
name: "assetMint";
signer: true;
writable: true;
}, {
name: "extraMetasAccount";
writable: true;
}, {
name: "policyEngineAccount";
writable: true;
}, {
name: "identityRegistryAccount";
writable: true;
}, {
name: "dataRegistryAccount";
writable: true;
}, {
address: "po1cPf1eyUJJPqULw4so3T4JU9pdFn83CDyuLEKFAau";
name: "policyEngine";
}, {
address: "idtynCMYbdisCTv4FrCWPSQboZb1uM4TV2cPi79yxQf";
name: "identityRegistry";
}, {
address: "dataeP5X1e7XsWN1ovDSEDP5cqaEUnKBmHE5iZhXPVw";
name: "dataRegistry";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [{
name: "args";
type: {
defined: {
name: "createAssetControllerArgs";
};
};
}];
discriminator: [97, 185, 6, 250, 248, 242, 68, 105];
docs: ["create an rwa asset"];
name: "createAssetController";
}, {
accounts: [{
name: "owner";
signer: true;
}, {
name: "tokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [];
discriminator: [68, 156, 197, 9, 43, 91, 114, 19];
docs: ["memo transfer disable"];
name: "disableMemoTransfer";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "owner";
signer: true;
}, {
name: "assetMint";
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "owner";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [];
discriminator: [186, 78, 97, 172, 71, 172, 99, 0];
docs: ["memo transfer enable"];
name: "enableMemoTransfer";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "tokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [];
discriminator: [138, 168, 178, 109, 205, 224, 209, 93];
docs: ["freeze token account"];
name: "freezeTokenAccount";
}, {
accounts: [{
name: "authority";
signer: true;
writable: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "to";
}, {
name: "tokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "to";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}];
args: [{
name: "amount";
type: "u64";
}];
discriminator: [40, 207, 145, 106, 249, 54, 23, 179];
docs: ["issue shares of the rwa asset"];
name: "issueTokens";
}, {
accounts: [{
name: "authority";
signer: true;
writable: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "authorityTokenAccount";
pda: {
program: {
kind: "const";
value: [140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89];
};
seeds: [{
kind: "account";
path: "assetController";
}, {
kind: "account";
path: "tokenProgram";
}, {
kind: "account";
path: "assetMint";
}];
};
writable: true;
}, {
name: "revokeTokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}];
args: [{
name: "amount";
type: "u64";
}];
discriminator: [215, 42, 15, 134, 173, 80, 33, 21];
docs: ["revoke shares of the rwa asset"];
name: "revokeTokens";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
name: "tokenAccount";
writable: true;
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}];
args: [];
discriminator: [199, 172, 96, 93, 244, 252, 137, 171];
docs: ["thaw token account"];
name: "thawTokenAccount";
}, {
accounts: [{
name: "authority";
signer: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [{
name: "rate";
type: "i16";
}];
discriminator: [29, 174, 109, 163, 227, 75, 2, 144];
docs: ["interest bearing mint rate update"];
name: "updateInterestBearingMintRate";
}, {
accounts: [{
name: "payer";
signer: true;
writable: true;
}, {
name: "authority";
signer: true;
writable: true;
}, {
name: "assetMint";
writable: true;
}, {
name: "assetController";
pda: {
seeds: [{
kind: "account";
path: "assetMint";
}];
};
}, {
address: "11111111111111111111111111111111";
name: "systemProgram";
}, {
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
name: "tokenProgram";
}, {
name: "eventAuthority";
pda: {
seeds: [{
kind: "const";
value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
}];
};
}, {
name: "program";
}];
args: [{
name: "args";
type: {
defined: {
name: "updateAssetMetadataArgs";
};
};
}];
discriminator: [170, 182, 43, 239, 97, 78, 225, 186];
docs: ["edit metadata of the rwa asset"];
name: "updateMetadata";
}]
metadata: {
description: "The Asset Controller Program (ACP) enables core asset management functionality for newly issued assets, including transfer controls and transaction privacy.";
name: "assetController";
spec: "0.1.0";
version: "0.0.1";
}
description: "The Asset Controller Program (ACP) enables core asset management functionality for newly issued assets, including transfer controls and transaction privacy."
name: "assetController"
spec: "0.1.0"
version: "0.0.1"
types: [{
name: "assetControllerAccount";
type: {
fields: [{
name: "version";
type: "u8";
}, {
docs: ["mint pubkey"];
name: "assetMint";
type: "pubkey";
}, {
docs: ["authority has the ability to change delegate, freeze token accounts, etc."];
name: "authority";
type: "pubkey";
}, {
docs: ["delegate has the ability to generate tranasction approval accounts,", "by default points to self, which allows any programs to generate an approval account", "update to any other account to control cpis"];
name: "delegate";
type: "pubkey";
}];
kind: "struct";
};
}, {
name: "assetMetadataEvent";
type: {
fields: [{
name: "mint";
type: "string";
}, {
name: "name";
type: {
option: "string";
};
}, {
name: "symbol";
type: {
option: "string";
};
}, {
name: "uri";
type: {
option: "string";
};
}, {
name: "decimals";
type: {
option: "u8";
};
}];
kind: "struct";
};
}, {
name: "createAssetControllerArgs";
type: {
fields: [{
name: "decimals";
type: "u8";
}, {
name: "name";
type: "string";
}, {
name: "symbol";
type: "string";
}, {
name: "uri";
type: "string";
}, {
name: "delegate";
type: {
option: "pubkey";
};
}, {
name: "interestRate";
type: {
option: "i16";
};
}];
kind: "struct";
};
}, {
name: "extensionMetadataEvent";
type: {
fields: [{
name: "address";
type: "string";
}, {
name: "extensionType";
type: "u8";
}, {
name: "metadata";
type: "bytes";
}];
kind: "struct";
};
}, {
name: "updateAssetMetadataArgs";
type: {
fields: [{
name: "name";
type: {
option: "string";
};
}, {
name: "symbol";
type: {
option: "string";
};
}, {
name: "uri";
type: {
option: "string";
};
}];
kind: "struct";
};
}]
Program IDL in camelCase format in order to be used in JS/TS.
Note that this is only a type helper and is not the actual IDL. The original IDL can be found at
target/idl/asset_controller.json
.