UNPKG

@bridgesplit/rwa-token-sdk

Version:

RWA Token SDK for the development of permissioned tokens on SVM blockchains.

582 lines (581 loc) 16.8 kB
{ "address": "idtynCMYbdisCTv4FrCWPSQboZb1uM4TV2cPi79yxQf", "metadata": { "name": "identity_registry", "version": "0.0.1", "spec": "0.1.0", "description": "The Identity Registry Program (IRP) manages the configurable issuance and tracking of on-chain identities to enable on-chain transaction permissioning.", "repository": "https://github.com/bridgesplit/rwa" }, "instructions": [ { "name": "add_level_to_identity_account", "docs": [ "add level to identity account" ], "discriminator": [ 102, 204, 64, 169, 252, 177, 192, 232 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "identity_registry" }, { "name": "identity_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "identity_registry" }, { "kind": "account", "path": "identity_account.owner", "account": "IdentityAccount" } ] } }, { "name": "identity_metadata_account", "writable": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "level", "type": "u8" } ] }, { "name": "create_identity_account", "docs": [ "identity functions", "create identity account" ], "discriminator": [ 82, 240, 35, 129, 113, 134, 116, 70 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "identity_registry" }, { "name": "identity_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "identity_registry" }, { "kind": "arg", "path": "owner" } ] } }, { "name": "identity_metadata_account", "writable": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "owner", "type": "pubkey" }, { "name": "level", "type": "u8" } ] }, { "name": "create_identity_registry", "docs": [ "registry functions", "create identity registry" ], "discriminator": [ 180, 3, 39, 22, 183, 212, 39, 209 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "asset_mint" }, { "name": "identity_registry_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "asset_mint" } ] } }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "authority", "type": "pubkey" }, { "name": "delegate", "type": { "option": "pubkey" } } ] }, { "name": "delegate_identity_regsitry", "docs": [ "delegate identity registry" ], "discriminator": [ 29, 162, 167, 70, 52, 79, 50, 65 ], "accounts": [ { "name": "authority", "signer": true }, { "name": "identity_registry_account", "writable": true } ], "args": [ { "name": "delegate", "type": "pubkey" } ] }, { "name": "edit_identity_metdata", "docs": [ "edit identity metadata" ], "discriminator": [ 140, 213, 200, 29, 44, 134, 114, 206 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "identity_registry" }, { "name": "identity_metadata_account", "writable": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "level", "type": "u8" }, { "name": "max_allowed", "type": { "option": "u64" } } ] }, { "name": "remove_level_from_identity_account", "docs": [ "remove level from identity account" ], "discriminator": [ 194, 231, 187, 54, 197, 136, 170, 55 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "identity_registry" }, { "name": "identity_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "identity_registry" }, { "kind": "account", "path": "identity_account.owner", "account": "IdentityAccount" } ] } }, { "name": "identity_metadata_account", "writable": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "level", "type": "u8" } ] }, { "name": "revoke_identity_account", "docs": [ "revoke user identity account by closing account" ], "discriminator": [ 77, 88, 182, 61, 235, 49, 2, 137 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "identity_registry", "pda": { "seeds": [ { "kind": "account", "path": "identity_registry.asset_mint", "account": "IdentityRegistryAccount" } ] } }, { "name": "identity_account", "writable": true, "pda": { "seeds": [ { "kind": "account", "path": "identity_registry" }, { "kind": "account", "path": "identity_account.owner", "account": "IdentityAccount" } ] } } ], "args": [ { "name": "_owner", "type": "pubkey" } ] } ], "accounts": [ { "name": "IdentityAccount", "discriminator": [ 194, 90, 181, 160, 182, 206, 116, 158 ] }, { "name": "IdentityMetadataAccount", "discriminator": [ 170, 131, 34, 74, 232, 122, 201, 9 ] }, { "name": "IdentityRegistryAccount", "discriminator": [ 154, 254, 118, 4, 115, 36, 125, 78 ] } ], "errors": [ { "code": 6000, "name": "LevelAlreadyPresent", "msg": "Identity level has already been attached to user" }, { "code": 6001, "name": "MaxLevelsExceeded", "msg": "Number of levels that can be attached to user has been exceeded" }, { "code": 6002, "name": "LevelNotFound", "msg": "Level to be removed not found" }, { "code": 6003, "name": "UnauthorizedSigner", "msg": "Unauthorized signer" }, { "code": 6004, "name": "LimitReached", "msg": "Identity limit reached" } ], "types": [ { "name": "IdentityAccount", "type": { "kind": "struct", "fields": [ { "name": "version", "docs": [ "version of the account" ], "type": "u8" }, { "name": "identity_registry", "docs": [ "identity registry to which the account belongs" ], "type": "pubkey" }, { "name": "owner", "docs": [ "owner of the identity account" ], "type": "pubkey" }, { "name": "levels", "type": "bytes" } ] } }, { "name": "IdentityMetadataAccount", "type": { "kind": "struct", "fields": [ { "name": "version", "docs": [ "version of the account" ], "type": "u8" }, { "name": "identity_registry", "docs": [ "identity registry to which the account belongs" ], "type": "pubkey" }, { "name": "level", "docs": [ "identity level" ], "type": "u8" }, { "name": "current_users", "docs": [ "current number of users" ], "type": "u64" }, { "name": "max_users", "docs": [ "max number of users" ], "type": "u64" } ] } }, { "name": "IdentityRegistryAccount", "type": { "kind": "struct", "fields": [ { "name": "version", "type": "u8" }, { "name": "asset_mint", "docs": [ "corresponding asset mint" ], "type": "pubkey" }, { "name": "authority", "docs": [ "authority to manage the registry" ], "type": "pubkey" }, { "name": "delegate", "docs": [ "registry delegate" ], "type": "pubkey" } ] } } ] }