@bridgesplit/rwa-token-sdk
Version:
RWA Token SDK for the development of permissioned tokens on SVM blockchains.
405 lines (404 loc) • 11.2 kB
JSON
{
"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"
}
]
}
}
]
}