@dstoken-solana/rwa-token-sdk
Version:
RWA Token SDK for the development of permissioned tokens on SVM blockchains.
1,416 lines • 43.5 kB
TypeScript
/**
* 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/identity_registry.json`.
*/
export type IdentityRegistry = {
"address": "GZsnjqT3c5zbHqsctrJ4EG4rbEfo7ZXyyUG7aDJNmxfA";
"metadata": {
"name": "identityRegistry";
"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": "addLevelToIdentityAccount";
"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": "identityRegistry";
},
{
"name": "identityAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "identityRegistry";
},
{
"kind": "account";
"path": "identity_account.owner";
"account": "identityAccount";
}
];
};
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
},
{
"name": "policyEngineProgram";
"address": "FsE8mCJyvgMzqJbfHbJQm3iuf3cRZC6n2vZi1Q8rQCy2";
},
{
"name": "policyEngine";
"writable": true;
},
{
"name": "trackerAccount";
},
{
"name": "assetMint";
"relations": [
"identityRegistry"
];
},
{
"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": "levels";
"type": "bytes";
},
{
"name": "expiries";
"type": {
"vec": "i64";
};
},
{
"name": "enforceLimits";
"type": "bool";
}
];
},
{
"name": "attachWalletToIdentity";
"docs": [
"attach token account to identity account"
];
"discriminator": [
61,
129,
252,
190,
8,
202,
179,
90
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "authority";
"signer": true;
},
{
"name": "identityAccount";
"writable": true;
},
{
"name": "identityRegistry";
"relations": [
"identityAccount"
];
},
{
"name": "assetMint";
"relations": [
"identityRegistry"
];
},
{
"name": "walletIdentity";
"writable": true;
"pda": {
"seeds": [
{
"kind": "arg";
"path": "wallet";
},
{
"kind": "account";
"path": "assetMint";
}
];
};
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
},
{
"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": "wallet";
"type": "pubkey";
}
];
},
{
"name": "changeCountry";
"discriminator": [
208,
227,
224,
246,
9,
254,
62,
179
];
"accounts": [
{
"name": "payer";
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "identityRegistry";
},
{
"name": "identityAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "identityRegistry";
},
{
"kind": "account";
"path": "identity_account.owner";
"account": "identityAccount";
}
];
};
},
{
"name": "policyEngineProgram";
"address": "FsE8mCJyvgMzqJbfHbJQm3iuf3cRZC6n2vZi1Q8rQCy2";
},
{
"name": "policyEngine";
"writable": true;
},
{
"name": "trackerAccount";
},
{
"name": "assetMint";
"relations": [
"identityRegistry"
];
},
{
"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": "newCountry";
"type": "u8";
},
{
"name": "enforceLimits";
"type": "bool";
}
];
},
{
"name": "createIdentityAccount";
"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": "identityRegistry";
},
{
"name": "identityAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "identityRegistry";
},
{
"kind": "arg";
"path": "owner";
}
];
};
},
{
"name": "walletIdentity";
"writable": true;
"pda": {
"seeds": [
{
"kind": "arg";
"path": "owner";
},
{
"kind": "account";
"path": "identity_registry.asset_mint";
"account": "identityRegistryAccount";
}
];
};
},
{
"name": "policyEngineProgram";
"address": "FsE8mCJyvgMzqJbfHbJQm3iuf3cRZC6n2vZi1Q8rQCy2";
},
{
"name": "trackerAccount";
"writable": true;
},
{
"name": "assetMint";
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
},
{
"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": "owner";
"type": "pubkey";
},
{
"name": "level";
"type": "u8";
},
{
"name": "expiry";
"type": "i64";
},
{
"name": "country";
"type": "u8";
}
];
},
{
"name": "createIdentityRegistry";
"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": "assetMint";
},
{
"name": "identityRegistryAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "assetMint";
}
];
};
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
}
];
"args": [
{
"name": "authority";
"type": "pubkey";
}
];
},
{
"name": "detachWalletFromIdentity";
"docs": [
"detach token account from identity account"
];
"discriminator": [
166,
70,
236,
254,
166,
116,
201,
50
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "authority";
"writable": true;
"signer": true;
},
{
"name": "walletIdentity";
"writable": true;
},
{
"name": "identityAccount";
"writable": true;
"relations": [
"walletIdentity"
];
},
{
"name": "identityRegistry";
"relations": [
"identityAccount"
];
},
{
"name": "tokenAccount";
"pda": {
"seeds": [
{
"kind": "account";
"path": "wallet_identity.wallet";
"account": "walletIdentity";
},
{
"kind": "const";
"value": [
6,
221,
246,
225,
238,
117,
143,
222,
24,
66,
93,
188,
228,
108,
205,
218,
182,
26,
252,
77,
131,
185,
13,
39,
254,
189,
249,
40,
216,
161,
139,
252
];
},
{
"kind": "account";
"path": "assetMint";
}
];
"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
];
};
};
},
{
"name": "assetMint";
"relations": [
"identityRegistry"
];
},
{
"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": "removeLevelFromIdentityAccount";
"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": "identityRegistry";
},
{
"name": "identityAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "identityRegistry";
},
{
"kind": "account";
"path": "identity_account.owner";
"account": "identityAccount";
}
];
};
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
},
{
"name": "policyEngineProgram";
"address": "FsE8mCJyvgMzqJbfHbJQm3iuf3cRZC6n2vZi1Q8rQCy2";
},
{
"name": "policyEngine";
"writable": true;
},
{
"name": "trackerAccount";
},
{
"name": "assetMint";
},
{
"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": "levels";
"type": "bytes";
},
{
"name": "enforceLimits";
"type": "bool";
}
];
},
{
"name": "revokeIdentityAccount";
"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": "identityRegistry";
"pda": {
"seeds": [
{
"kind": "account";
"path": "identity_registry.asset_mint";
"account": "identityRegistryAccount";
}
];
};
},
{
"name": "identityAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "identityRegistry";
},
{
"kind": "account";
"path": "identity_account.owner";
"account": "identityAccount";
}
];
};
"relations": [
"walletIdentity"
];
},
{
"name": "walletIdentity";
"writable": true;
"pda": {
"seeds": [
{
"kind": "arg";
"path": "owner";
},
{
"kind": "account";
"path": "identity_registry.asset_mint";
"account": "identityRegistryAccount";
}
];
};
},
{
"name": "policyEngineProgram";
"address": "FsE8mCJyvgMzqJbfHbJQm3iuf3cRZC6n2vZi1Q8rQCy2";
},
{
"name": "trackerAccount";
"writable": true;
},
{
"name": "assetMint";
},
{
"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": "owner";
"type": "pubkey";
}
];
}
];
"accounts": [
{
"name": "identityAccount";
"discriminator": [
194,
90,
181,
160,
182,
206,
116,
158
];
},
{
"name": "identityRegistryAccount";
"discriminator": [
154,
254,
118,
4,
115,
36,
125,
78
];
},
{
"name": "walletIdentity";
"discriminator": [
101,
142,
55,
104,
168,
77,
57,
85
];
}
];
"events": [
{
"name": "addLevelsToIdentityEvent";
"discriminator": [
106,
66,
2,
157,
98,
27,
247,
14
];
},
{
"name": "attachWalletToIdentityEvent";
"discriminator": [
16,
40,
24,
145,
131,
77,
48,
72
];
},
{
"name": "changeCountryEvent";
"discriminator": [
157,
201,
26,
238,
229,
239,
123,
18
];
},
{
"name": "createdIdentityEvent";
"discriminator": [
86,
208,
163,
74,
106,
170,
105,
5
];
},
{
"name": "detachWalletFromIdentityEvent";
"discriminator": [
198,
117,
190,
61,
34,
148,
12,
148
];
},
{
"name": "removeLevelsFromIdentityEvent";
"discriminator": [
41,
204,
239,
52,
86,
107,
45,
212
];
},
{
"name": "removedIdentityEvent";
"discriminator": [
210,
181,
206,
189,
126,
87,
18,
55
];
}
];
"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";
},
{
"code": 6005;
"name": "tokenAccountAlreadyInitialized";
"msg": "Token account is already initialized";
},
{
"code": 6006;
"name": "identityCreationRequired";
"msg": "Identity creation must be enforced for this feature";
},
{
"code": 6007;
"name": "multipleWalletsNotAllowed";
"msg": "Multiple wallets are not allowed";
},
{
"code": 6008;
"name": "walletAlreadyInUse";
"msg": "Wallet already in use";
},
{
"code": 6009;
"name": "invalidLevel";
"msg": "Invalid level";
},
{
"code": 6010;
"name": "tokenAccountNotEmpty";
"msg": "Token account is not empty";
}
];
"types": [
{
"name": "addLevelsToIdentityEvent";
"type": {
"kind": "struct";
"fields": [
{
"name": "identity";
"type": "pubkey";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "levels";
"type": "bytes";
},
{
"name": "expiries";
"type": {
"vec": "i64";
};
},
{
"name": "sender";
"type": "pubkey";
}
];
};
},
{
"name": "attachWalletToIdentityEvent";
"type": {
"kind": "struct";
"fields": [
{
"name": "identity";
"type": "pubkey";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "wallet";
"type": "pubkey";
},
{
"name": "sender";
"type": "pubkey";
}
];
};
},
{
"name": "changeCountryEvent";
"type": {
"kind": "struct";
"fields": [
{
"name": "identity";
"type": "pubkey";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "country";
"type": "u8";
},
{
"name": "sender";
"type": "pubkey";
}
];
};
},
{
"name": "createdIdentityEvent";
"type": {
"kind": "struct";
"fields": [
{
"name": "identity";
"type": "pubkey";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "kind";
"type": "u8";
},
{
"name": "sender";
"type": "pubkey";
},
{
"name": "owner";
"type": "pubkey";
}
];
};
},
{
"name": "detachWalletFromIdentityEvent";
"type": {
"kind": "struct";
"fields": [
{
"name": "identity";
"type": "pubkey";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "wallet";
"type": "pubkey";
},
{
"name": "sender";
"type": "pubkey";
}
];
};
},
{
"name": "identityAccount";
"type": {
"kind": "struct";
"fields": [
{
"name": "version";
"docs": [
"version of the account"
];
"type": "u8";
},
{
"name": "identityRegistry";
"docs": [
"identity registry to which the account belongs"
];
"type": "pubkey";
},
{
"name": "owner";
"docs": [
"owner of the identity account"
];
"type": "pubkey";
},
{
"name": "numWallets";
"docs": [
"number of wallets attached to this identity account"
];
"type": "u16";
},
{
"name": "country";
"docs": [
"country code of the user"
];
"type": "u8";
},
{
"name": "levels";
"type": {
"vec": {
"defined": {
"name": "identityLevel";
};
};
};
}
];
};
},
{
"name": "identityLevel";
"type": {
"kind": "struct";
"fields": [
{
"name": "level";
"type": "u8";
},
{
"name": "expiry";
"type": "i64";
}
];
};
},
{
"name": "identityRegistryAccount";
"type": {
"kind": "struct";
"fields": [
{
"name": "version";
"type": "u8";
},
{
"name": "bump";
"type": "u8";
},
{
"name": "assetMint";
"docs": [
"corresponding asset mint"
];
"type": "pubkey";
},
{
"name": "authority";
"docs": [
"authority to manage the registry"
];
"type": "pubkey";
}
];
};
},
{
"name": "removeLevelsFromIdentityEvent";
"type": {
"kind": "struct";
"fields": [
{
"name": "identity";
"type": "pubkey";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "levels";
"type": "bytes";
},
{
"name": "sender";
"type": "pubkey";
}
];
};
},
{
"name": "removedIdentityEvent";
"type": {
"kind": "struct";
"fields": [
{
"name": "identity";
"type": "pubkey";
},
{
"name": "mint";
"type": "pubkey";
},
{
"name": "kind";
"type": "u8";
},
{
"name": "sender";
"type": "pubkey";
},
{
"name": "owner";
"type": "pubkey";
}
];
};
},
{
"name": "walletIdentity";
"type": {
"kind": "struct";
"fields": [
{
"name": "identityAccount";
"type": "pubkey";
},
{
"name": "wallet";
"type": "pubkey";
}
];
};
}
];
};
//# sourceMappingURL=IdentityRegistryTypes.d.ts.map