UNPKG

@bridgesplit/rwa-token-sdk

Version:

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

405 lines (404 loc) 11.2 kB
{ "address": "dataeP5X1e7XsWN1ovDSEDP5cqaEUnKBmHE5iZhXPVw", "metadata": { "name": "data_registry", "version": "0.0.1", "spec": "0.1.0", "description": "The Data Registry Program (DRP) enables the ledger of generic asset data.", "repository": "https://github.com/bridgesplit/rwa" }, "instructions": [ { "name": "create_data_account", "docs": [ "data functions", "create data account" ], "discriminator": [ 129, 132, 92, 50, 136, 89, 37, 100 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "data_registry" }, { "name": "data_account", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "args", "type": { "defined": { "name": "CreateDataAccountArgs" } } } ] }, { "name": "create_data_registry", "docs": [ "registry functions", "create data registry" ], "discriminator": [ 206, 245, 133, 230, 73, 246, 116, 101 ], "accounts": [ { "name": "payer", "writable": true, "signer": true }, { "name": "signer", "signer": true }, { "name": "asset_mint" }, { "name": "data_registry", "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_data_regsitry", "docs": [ "delegate data registry" ], "discriminator": [ 173, 92, 229, 22, 152, 104, 168, 224 ], "accounts": [ { "name": "authority", "signer": true }, { "name": "data_registry", "writable": true } ], "args": [ { "name": "delegate", "type": "pubkey" } ] }, { "name": "delete_data_account", "docs": [ "delete data account" ], "discriminator": [ 159, 5, 34, 220, 166, 192, 76, 92 ], "accounts": [ { "name": "signer", "writable": true, "signer": true }, { "name": "data_registry" }, { "name": "data_account", "writable": true } ], "args": [] }, { "name": "update_data_account", "docs": [ "update data account" ], "discriminator": [ 90, 215, 94, 10, 209, 249, 11, 148 ], "accounts": [ { "name": "signer", "signer": true }, { "name": "data_registry" }, { "name": "data_account", "writable": true } ], "args": [ { "name": "args", "type": { "defined": { "name": "UpdateDataAccountArgs" } } } ] } ], "accounts": [ { "name": "DataAccount", "discriminator": [ 85, 240, 182, 158, 76, 7, 18, 233 ] }, { "name": "DataRegistryAccount", "discriminator": [ 57, 174, 76, 239, 133, 18, 173, 209 ] } ], "errors": [ { "code": 6000, "name": "UnauthorizedSigner", "msg": "The signer is not authorized to perform this action" } ], "types": [ { "name": "CreateDataAccountArgs", "type": { "kind": "struct", "fields": [ { "name": "type_", "type": { "defined": { "name": "DataAccountType" } } }, { "name": "name", "type": "string" }, { "name": "uri", "type": "string" } ] } }, { "name": "DataAccount", "type": { "kind": "struct", "fields": [ { "name": "version", "type": "u8" }, { "name": "data_registry", "docs": [ "data registry to which the account belongs" ], "type": "pubkey" }, { "name": "_type", "docs": [ "type of the data account" ], "type": { "defined": { "name": "DataAccountType" } } }, { "name": "name", "docs": [ "used by creator to store name of the document" ], "type": "string" }, { "name": "uri", "docs": [ "uri pointing to the data stored in the document" ], "type": "string" } ] } }, { "name": "DataAccountType", "type": { "kind": "enum", "variants": [ { "name": "Title" }, { "name": "Legal" }, { "name": "Tax" }, { "name": "Miscellaneous" } ] } }, { "name": "DataRegistryAccount", "type": { "kind": "struct", "fields": [ { "name": "version", "type": "u8" }, { "name": "asset_mint", "type": "pubkey" }, { "name": "authority", "docs": [ "can sign creation of new data accounts", "can update delegate", "can update data account authority" ], "type": "pubkey" }, { "name": "delegate", "docs": [ "can sign creation of new data accounts, can be used if a different org needs to issue data accounts" ], "type": "pubkey" } ] } }, { "name": "UpdateDataAccountArgs", "type": { "kind": "struct", "fields": [ { "name": "type_", "type": { "defined": { "name": "DataAccountType" } } }, { "name": "name", "type": "string" }, { "name": "uri", "type": "string" } ] } } ] }