UNPKG

@dstoken-solana/rwa-token-sdk

Version:

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

1,715 lines 83.3 kB
/** * 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;