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";
        };
    }];
}

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.

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";
        };
    }]