@dstoken-solana/rwa-token-sdk
Version:
RWA Token SDK for the development of permissioned tokens on SVM blockchains.
1,715 lines • 83.3 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/policy_engine.json`.
*/
export type PolicyEngine = {
"address": "FsE8mCJyvgMzqJbfHbJQm3iuf3cRZC6n2vZi1Q8rQCy2";
"metadata": {
"name": "policyEngine";
"version": "0.0.1";
"spec": "0.1.0";
"description": "The Policy Registry Program (PRP) enables the creation of policies that can be used to control the flow of funds in a programmatic way.";
};
"instructions": [
{
"name": "addLock";
"discriminator": [
242,
102,
183,
107,
109,
168,
82,
140
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "assetMint";
"relations": [
"policyEngine",
"identityRegistry"
];
},
{
"name": "policyEngine";
"writable": true;
},
{
"name": "identityRegistry";
"relations": [
"identityAccount"
];
},
{
"name": "identityAccount";
"relations": [
"trackerAccount"
];
},
{
"name": "trackerAccount";
"writable": true;
},
{
"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": "amount";
"type": "u64";
},
{
"name": "releaseTimestamp";
"type": "i64";
},
{
"name": "reason";
"type": "u64";
},
{
"name": "reasonString";
"type": "string";
}
];
},
{
"name": "attachToPolicyEngine";
"docs": [
"policies",
"attach a policy"
];
"discriminator": [
99,
59,
117,
21,
146,
11,
54,
173
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "policyEngine";
"writable": true;
},
{
"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": "identityFilter";
"type": {
"defined": {
"name": "identityFilter";
};
};
},
{
"name": "policyType";
"type": {
"defined": {
"name": "policyType";
};
};
},
{
"name": "customError";
"type": "u8";
}
];
},
{
"name": "changeCounterLimits";
"discriminator": [
200,
2,
8,
102,
43,
168,
141,
139
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "policyEngine";
"writable": true;
},
{
"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": "removedCounterLimits";
"type": "bytes";
},
{
"name": "addedCounterLimits";
"type": {
"vec": {
"defined": {
"name": "counterLimit";
};
};
};
}
];
},
{
"name": "changeCounters";
"discriminator": [
156,
107,
88,
204,
113,
131,
241,
192
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "policyEngine";
"writable": true;
},
{
"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": "removedCounters";
"type": "bytes";
},
{
"name": "addedCounters";
"type": {
"vec": {
"defined": {
"name": "counter";
};
};
};
}
];
},
{
"name": "changeIssuancePolicies";
"discriminator": [
186,
201,
163,
157,
32,
250,
166,
37
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "policyEngine";
"writable": true;
},
{
"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": "issuancePolicies";
"type": {
"defined": {
"name": "issuancePolicies";
};
};
}
];
},
{
"name": "changeMapping";
"discriminator": [
103,
1,
52,
20,
160,
194,
113,
125
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "policyEngine";
"writable": true;
},
{
"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": "mappingSource";
"type": "bytes";
},
{
"name": "mappingValue";
"type": "bytes";
}
];
},
{
"name": "closeTrackerAccount";
"docs": [
"close tracker account"
];
"discriminator": [
191,
131,
63,
182,
65,
217,
37,
166
];
"accounts": [
{
"name": "payer";
"writable": true;
},
{
"name": "identityRegistry";
"signer": true;
"relations": [
"identityAccount"
];
},
{
"name": "assetMint";
"relations": [
"identityRegistry",
"trackerAccount"
];
},
{
"name": "identityAccount";
"relations": [
"trackerAccount"
];
},
{
"name": "trackerAccount";
"writable": true;
}
];
"args": [];
},
{
"name": "createPolicyEngine";
"docs": [
"create a policy registry"
];
"discriminator": [
85,
105,
207,
153,
73,
125,
225,
54
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "assetMint";
},
{
"name": "policyEngineAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "assetMint";
}
];
};
},
{
"name": "extraMetasAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "const";
"value": [
101,
120,
116,
114,
97,
45,
97,
99,
99,
111,
117,
110,
116,
45,
109,
101,
116,
97,
115
];
},
{
"kind": "account";
"path": "assetMint";
}
];
};
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
}
];
"args": [
{
"name": "authority";
"type": "pubkey";
}
];
},
{
"name": "createTrackerAccount";
"docs": [
"create tracker account"
];
"discriminator": [
40,
16,
40,
191,
109,
177,
83,
190
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "identityAccount";
"pda": {
"seeds": [
{
"kind": "account";
"path": "identityRegistry";
},
{
"kind": "arg";
"path": "owner";
}
];
"program": {
"kind": "const";
"value": [
231,
75,
81,
14,
232,
84,
45,
52,
3,
211,
48,
13,
45,
218,
249,
1,
6,
163,
235,
112,
36,
214,
213,
157,
141,
10,
56,
4,
197,
233,
153,
177
];
};
};
},
{
"name": "identityRegistry";
"signer": true;
},
{
"name": "assetMint";
"relations": [
"identityRegistry"
];
},
{
"name": "trackerAccount";
"writable": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "assetMint";
},
{
"kind": "account";
"path": "identityAccount";
}
];
};
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
}
];
"args": [
{
"name": "owner";
"type": "pubkey";
}
];
},
{
"name": "detachFromPolicyEngine";
"docs": [
"remove policy"
];
"discriminator": [
156,
137,
67,
121,
46,
207,
45,
12
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "policyEngine";
"writable": true;
},
{
"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": "hash";
"type": "string";
}
];
},
{
"name": "enforcePolicyIssuance";
"discriminator": [
204,
149,
175,
224,
136,
255,
219,
75
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "assetController";
"signer": true;
"pda": {
"seeds": [
{
"kind": "account";
"path": "assetMint";
}
];
"program": {
"kind": "const";
"value": [
102,
89,
127,
105,
153,
104,
231,
6,
81,
85,
192,
80,
35,
31,
89,
115,
246,
148,
12,
38,
237,
44,
189,
34,
196,
160,
89,
167,
15,
131,
146,
20
];
};
};
},
{
"name": "assetMint";
"relations": [
"policyEngine",
"identityRegistry"
];
},
{
"name": "policyEngine";
"writable": true;
},
{
"name": "destinationAccount";
},
{
"name": "identityRegistry";
"relations": [
"identityAccount"
];
},
{
"name": "identityAccount";
"relations": [
"destinationTrackerAccount"
];
},
{
"name": "destinationTrackerAccount";
"writable": true;
},
{
"name": "systemProgram";
"address": "11111111111111111111111111111111";
}
];
"args": [
{
"name": "amount";
"type": "u64";
},
{
"name": "issuanceTimestamp";
"type": "i64";
}
];
"returns": "i64";
},
{
"name": "enforcePolicyOnLevelsChange";
"discriminator": [
236,
18,
123,
137,
253,
244,
32,
248
];
"accounts": [
{
"name": "identityAccount";
},
{
"name": "identityRegistry";
"signer": true;
"relations": [
"identityAccount"
];
},
{
"name": "assetMint";
"relations": [
"identityRegistry",
"policyEngine"
];
},
{
"name": "trackerAccount";
"pda": {
"seeds": [
{
"kind": "account";
"path": "assetMint";
},
{
"kind": "account";
"path": "identityAccount";
}
];
};
},
{
"name": "policyEngine";
"writable": true;
}
];
"args": [
{
"name": "newLevels";
"type": {
"defined": {
"name": "newLevelsArgs";
};
};
},
{
"name": "newCountry";
"type": "u8";
},
{
"name": "enforceLimits";
"type": "bool";
}
];
},
{
"name": "executeTransaction";
"docs": [
"execute transfer hook"
];
"discriminator": [
105,
37,
101,
197,
75,
251,
102,
26
];
"accounts": [
{
"name": "sourceAccount";
},
{
"name": "assetMint";
},
{
"name": "destinationAccount";
},
{
"name": "ownerDelegate";
},
{
"name": "extraMetasAccount";
"pda": {
"seeds": [
{
"kind": "const";
"value": [
101,
120,
116,
114,
97,
45,
97,
99,
99,
111,
117,
110,
116,
45,
109,
101,
116,
97,
115
];
},
{
"kind": "account";
"path": "assetMint";
}
];
};
},
{
"name": "policyEngineAccount";
"writable": true;
},
{
"name": "identityRegistry";
"address": "GZsnjqT3c5zbHqsctrJ4EG4rbEfo7ZXyyUG7aDJNmxfA";
},
{
"name": "identityRegistryAccount";
},
{
"name": "sourceWalletIdentity";
},
{
"name": "destinationWalletIdentity";
},
{
"name": "sourceIdentityAccount";
},
{
"name": "destinationIdentityAccount";
},
{
"name": "sourceTrackerAccount";
"writable": true;
},
{
"name": "destinationTrackerAccount";
"writable": true;
}
];
"args": [
{
"name": "amount";
"type": "u64";
}
];
},
{
"name": "removeLock";
"discriminator": [
1,
17,
121,
74,
62,
241,
127,
120
];
"accounts": [
{
"name": "payer";
"writable": true;
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "assetMint";
"relations": [
"policyEngine",
"identityRegistry"
];
},
{
"name": "policyEngine";
"writable": true;
},
{
"name": "identityRegistry";
"relations": [
"identityAccount"
];
},
{
"name": "identityAccount";
"relations": [
"trackerAccount"
];
},
{
"name": "trackerAccount";
"writable": true;
},
{
"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": "index";
"type": "u8";
}
];
},
{
"name": "setCounters";
"discriminator": [
127,
151,
147,
141,
171,
53,
28,
135
];
"accounts": [
{
"name": "payer";
"signer": true;
},
{
"name": "signer";
"signer": true;
},
{
"name": "policyEngine";
"writable": true;
},
{
"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": "changedCounters";
"type": "bytes";
},
{
"name": "values";
"type": {
"vec": "u64";
};
}
];
},
{
"name": "updateCountersOnBurn";
"discriminator": [
22,
151,
139,
67,
21,
61,
191,
236
];
"accounts": [
{
"name": "assetController";
"signer": true;
},
{
"name": "assetMint";
"relations": [
"policyEngine",
"identityRegistry"
];
},
{
"name": "policyEngine";
"writable": true;
},
{
"name": "destinationAccount";
},
{
"name": "identityRegistry";
"relations": [
"identityAccount"
];
},
{
"name": "identityAccount";
"relations": [
"destinationTrackerAccount"
];
},
{
"name": "destinationTrackerAccount";
"writable": true;
}
];
"args": [
{
"name": "amount";
"type": "u64";
}
];
}
];
"accounts": [
{
"name": "identityAccount";
"discriminator": [
194,
90,
181,
160,
182,
206,
116,
158
];
},
{
"name": "identityRegistryAccount";
"discriminator": [
154,
254,
118,
4,
115,
36,
125,
78
];
},
{
"name": "policyEngineAccount";
"discriminator": [
124,
85,
205,
80,
2,
18,
26,
45
];
},
{
"name": "trackerAccount";
"discriminator": [
83,
95,
166,
148,
57,
30,
90,
210
];
}
];
"events": [
{
"name": "attachPolicyEvent";
"discriminator": [
104,
248,
239,
158,
181,
172,
130,
47
];
},
{
"name": "changedCounterLimitsEvent";
"discriminator": [
91,
102,
100,
27,
124,
137,
26,
180
];
},
{
"name": "changedCountersEvent";
"discriminator": [
111,
121,
17,
44,
125,
218,
213,
226
];
},
{
"name": "changedIssuancePoliciesEvent";
"discriminator": [
225,
149,
140,
234,
143,
91,
92,
243
];
},
{
"name": "changedMappingEvent";
"discriminator": [
199,
174,
161,
68,
233,
180,
13,
199
];
},
{
"name": "detachPolicyEvent";
"discriminator": [
166,
167,
46,
102,
163,
198,
55,
44
];
},
{
"name": "lockEvent";
"discriminator": [
76,
37,
6,
186,
14,
42,
253,
15
];
},
{
"name": "setCounterValueEvent";
"discriminator": [
124,
109,
69,
140,
144,
62,
60,
75
];
},
{
"name": "transferEvent";
"discriminator": [
100,
10,
46,
113,
8,
28,
179,
125
];
},
{
"name": "unlockEvent";
"discriminator": [
105,
1,
235,
144,
68,
123,
75,
123
];
}
];
"errors": [
{
"code": 6000;
"name": "invalidPolicy";
"msg": "Invalid policy passed";
},
{
"code": 6001;
"name": "transactionAmountLimitExceeded";
"msg": "Transaction amount limit exceeded";
},
{
"code": 6002;
"name": "transactionAmountVelocityExceeded";
"msg": "Transaction amount velocity exceeded";
},
{
"code": 6003;
"name": "transactionCountVelocityExceeded";
"msg": "Transaction count velocity exceeded";
},
{
"code": 6004;
"name": "identityLevelLimitExceeded";
"msg": "Identity level limit exceeded";
},
{
"code": 6005;
"name": "policyEngineFull";
"msg": "Policy registry is full, cannot add more policies";
},
{
"code": 6006;
"name": "policyNotFound";
"msg": "Policy not found";
},
{
"code": 6007;
"name": "identityFilterFailed";
"msg": "Identity filter failed";
},
{
"code": 6008;
"name": "unauthorizedSigner";
"msg": "Unauthorized signer";
},
{
"code": 6009;
"name": "policyAlreadyExists";
"msg": "Policy already exists";
},
{
"code": 6010;
"name": "maxBalanceExceeded";
"msg": "Max balance exceeded";
},
{
"code": 6011;
"name": "minBalanceExceeded";
"msg": "Min balance exceeded";
},
{
"code": 6012;
"name": "invalidCpiTransferAmount";
"msg": "Invalid CPI transfer amount";
},
{
"code": 6013;
"name": "invalidCpiTransferMint";
"msg": "Invalid CPI transfer mint";
},
{
"code": 6014;
"name": "invalidCpiTransferProgram";
"msg": "Invalid CPI transfer program";
},
{
"code": 6015;
"name": "invalidPdaPassedIn";
"msg": "Invalid PDA passed in";
},
{
"code": 6016;
"name": "transferHistoryFull";
"msg": "Transfer history full";
},
{
"code": 6017;
"name": "transferPaused";
"msg": "All Transfers have been paused";
},
{
"code": 6018;
"name": "forceFullTransfer";
"msg": "Expected source account to transfer full amount";
},
{
"code": 6019;
"name": "holderLimitExceeded";
"msg": "Holder limit exceeded";
},
{
"code": 6020;
"name": "balanceLimitExceeded";
"msg": "Balance limit exceeded";
},
{
"code": 6021;
"name": "trackerAccountOwnerMismatch";
"msg": "Tracker account owner mismatch";
},
{
"code": 6022;
"name": "forbiddenIdentityGroup";
"msg": "Forbidden identity group";
},
{
"code": 6023;
"name": "invalidIdentityAccount";
"msg": "Invalid identity account";
},
{
"code": 6024;
"name": "holdersLimitExceeded";
"msg": "Holders limit exceeded";
},
{
"code": 6025;
"name": "minMaxBalanceExceeded";
"msg": "Min max balance exceeded";
},
{
"code": 6026;
"name": "invalidPolicyEngineAccount";
"msg": "Invalid policy engine account";
},
{
"code": 6027;
"name": "percentageLimitExceeded";
"msg": "Percentage limit exceeded";
},
{
"code": 6028;
"name": "flowback";
"msg": "flowback";
},
{
"code": 6029;
"name": "invalidInstructionData";
"msg": "Invalid instruction data";
},
{
"code": 6030;
"name": "backdatingNotAllowed";
"msg": "Backdating not allowed";
},
{
"code": 6031;
"name": "maxSupplyExceeded";
"msg": "Max supply exceeded";
},
{
"code": 6032;
"name": "counterNotFound";
"msg": "Counter not found";
},
{
"code": 6033;
"name": "dataIsNotEmpty";
"msg": "Data is not empty";
},
{
"code": 6034;
"name": "holdUp";
"msg": "Tokens are held up";
},
{
"code": 6035;
"name": "tokensLocked";
"msg": "Tokens are locked";
},
{
"code": 6050;
"name": "forceAccredited";
},
{
"code": 6051;
"name": "forceAccreditedUs";
},
{
"code": 6052;
"name": "tokenPaused";
},
{
"code": 6053;