Arcium LogoArcium TS SDK Docs
@arcium-hq/clientType aliases

ArciumIdlType

ArciumIdlType = object

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/arcium.json.

Properties

accounts

accounts: [{ discriminator: [2, 207, 122, 223, 93, 97, 231, 199]; name: "arxNode"; }, { discriminator: [152, 171, 158, 195, 75, 61, 51, 8]; name: "clockAccount"; }, { discriminator: [236, 225, 118, 228, 173, 106, 18, 60]; name: "cluster"; }, { discriminator: [136, 34, 167, 71, 41, 174, 103, 77]; name: "computationAccount"; }, { discriminator: [245, 176, 217, 221, 253, 104, 172, 200]; name: "computationDefinitionAccount"; }, { discriminator: [226, 70, 57, 224, 38, 233, 59, 136]; name: "computationDefinitionRaw"; }, { discriminator: [132, 11, 106, 171, 253, 138, 56, 78]; name: "failureClaimAccountHeader"; }, { discriminator: [172, 38, 77, 146, 148, 5, 51, 242]; name: "feePool"; }, { discriminator: [147, 145, 148, 170, 30, 13, 43, 216]; name: "largeExecPool"; }, { discriminator: [16, 168, 90, 235, 249, 207, 73, 223]; name: "largeMempool"; }, { discriminator: [103, 26, 85, 250, 179, 159, 17, 117]; name: "mxeAccount"; }, { discriminator: [97, 117, 128, 202, 213, 76, 5, 163]; name: "mediumExecPool"; }, { discriminator: [10, 249, 58, 39, 255, 231, 199, 168]; name: "mediumMempool"; }, { discriminator: [35, 240, 187, 131, 211, 114, 166, 11]; name: "mxeRecoveryAccount"; }, { discriminator: [219, 31, 188, 145, 69, 139, 204, 117]; name: "operator"; }, { discriminator: [113, 236, 217, 203, 251, 98, 36, 240]; name: "permissionedRecoveryPeersAccount"; }, { discriminator: [116, 60, 120, 184, 194, 209, 87, 183]; name: "recoveryClusterAccount"; }, { discriminator: [126, 243, 17, 238, 223, 222, 130, 120]; name: "recoveryPeerAccount"; }, { discriminator: [37, 147, 249, 253, 217, 136, 3, 87]; name: "smallExecPool"; }, { discriminator: [123, 153, 151, 118, 126, 71, 73, 92]; name: "smallMempool"; }, { discriminator: [80, 245, 5, 90, 154, 189, 190, 172]; name: "tinyExecPool"; }, { discriminator: [176, 33, 67, 108, 73, 135, 110, 166]; name: "tinyMempool"; }]


address

address: "Arcj82pX7HxYKLR92qvgZUAd7vGS1k4hQvAFcPATFdEQ"


errors

errors: [{ code: 6000; msg: "The given authority is invalid"; name: "invalidAuthority"; }, { code: 6001; msg: "The MXE keys are already set, i.e. all the nodes of the MXE cluster already agreed on the MXE keys"; name: "mxeKeysAlreadySet"; }, { code: 6002; msg: "The MXE keys are not set, i.e. not all the nodes of the MXE cluster agreed on the MXE keys"; name: "mxeKeysNotSet"; }, { code: 6003; msg: "An invalid MXE account has been supplied"; name: "invalidMxe"; }, { code: 6004; msg: "The cluster is already set"; name: "clusterAlreadySet"; }, { code: 6005; msg: "The cluster is not set"; name: "clusterNotSet"; }, { code: 6006; msg: "An invalid cluster account has been supplied"; name: "invalidCluster"; }, { code: 6007; msg: "An invalid computation definition account has been supplied"; name: "invalidComputationDefinition"; }, { code: 6008; msg: "Couldn't find a mempool ID for the computation"; name: "cantFindMempoolId"; }, { code: 6009; msg: "MXE has unclosed computation definitions"; name: "mxeHasComputationDefinitions"; }, { code: 6010; msg: "MXE keygen is not finalized"; name: "mxeKeygenNotFinalized"; }, { code: 6100; msg: "Mempool discriminator is invalid"; name: "invalidMempoolDiscriminator"; }, { code: 6101; msg: "Mempool size is invalid"; name: "invalidMempoolSize"; }, { code: 6102; msg: "Execpool discriminator is invalid"; name: "invalidExecpoolDiscriminator"; }, { code: 6103; msg: "Max parallelism reached"; name: "maxParallelismReached"; }, { code: 6200; msg: "Computation offset is invalid"; name: "invalidComputationOffset"; }, { code: 6201; msg: "Callback accounts are invalid"; name: "invalidCallbackAccs"; }, { code: 6202; msg: "Callback accounts length is invalid"; name: "invalidCallbackAccsLen"; }, { code: 6203; msg: "The computation is already initialized"; name: "alreadyInitializedComputation"; }, { code: 6204; msg: "Callback computation already called"; name: "alreadyCallbackedComputation"; }, { code: 6205; msg: "Callback tx is invalid"; name: "invalidCallbackTx"; }, { code: 6206; msg: "Computation status is invalid"; name: "invalidComputationStatus"; }, { code: 6207; msg: "Computation is invalid"; name: "invalidComputation"; }, { code: 6208; msg: "Computation authority is invalid"; name: "invalidComputationAuthority"; }, { code: 6209; msg: "Callback instructions are invalid"; name: "invalidCallbackInstructions"; }, { code: 6210; msg: "Computation has not expired from mempool yet"; name: "computationNotExpired"; }, { code: 6211; msg: "Invalid callback transaction index"; name: "invalidCallbackIndex"; }, { code: 6212; msg: "Multi-transaction callbacks disabled"; name: "multiTxCallbacksDisabled"; }, { code: 6300; msg: "Computation definition is not completed"; name: "computationDefinitionNotCompleted"; }, { code: 6301; msg: "Arguments supplied are invalid"; name: "invalidArguments"; }, { code: 6302; msg: "Circuit source is invalid"; name: "invalidCircuitSource"; }, { code: 6303; msg: "Computation definition already completed"; name: "computationDefinitionAlreadyCompleted"; }, { code: 6304; msg: "CU amount exceeds maximum limit"; name: "invalidCuAmount"; }, { code: 6305; msg: "Offset is invalid"; name: "invalidOffset"; }, { code: 6306; msg: "Computation definition is deactivated"; name: "computationDefinitionDeactivated"; }, { code: 6307; msg: "Computation definition is not deactivated"; name: "computationDefinitionNotDeactivated"; }, { code: 6308; msg: "Computation definition has active computations"; name: "computationDefinitionHasActiveComputations"; }, { code: 6309; msg: "Computation definition TTL not passed"; name: "computationDefinitionTtlNotPassed"; }, { code: 6310; msg: "Cannot close a reserved computation definition"; name: "cannotCloseReservedComputationDefinition"; }, { code: 6400; msg: "Node is invalid"; name: "invalidNode"; }, { code: 6401; msg: "Maximum number of nodes in the cluster has been reached"; name: "maxClusterMembershipReached"; }, { code: 6402; msg: "The node already exists in the cluster"; name: "nodeAlreadyExists"; }, { code: 6403; msg: "Node authority is invalid"; name: "invalidNodeAuthority"; }, { code: 6404; msg: "Node is not inactive"; name: "nodeNotInactive"; }, { code: 6405; msg: "Node is not active"; name: "nodeNotActive"; }, { code: 6406; msg: "Cluster membership is invalid"; name: "invalidClusterMembership"; }, { code: 6407; msg: "Node is in an active cluster"; name: "nodeInActiveCluster"; }, { code: 6408; msg: "Node config is invalid"; name: "invalidNodeConfig"; }, { code: 6409; msg: "Unauthorized to create node on mainnet"; name: "unauthorizedNodeCreation"; }, { code: 6410; msg: "Node offset is invalid"; name: "invalidNodeOffset"; }, { code: 6500; msg: "Cluster is full"; name: "clusterFull"; }, { code: 6501; msg: "Cluster deactivation epoch is invalid"; name: "invalidDeactivationEpoch"; }, { code: 6502; msg: "Cluster maximum size is invalid"; name: "invalidMaxSize"; }, { code: 6503; msg: "Cluster authority is invalid"; name: "invalidClusterAuthority"; }, { code: 6504; msg: "Cluster fee proposal is invalid"; name: "invalidFeeProposal"; }, { code: 6505; msg: "Cluster state is invalid"; name: "invalidClusterState"; }, { code: 6506; msg: "Cluster vote is invalid"; name: "invalidVote"; }, { code: 6507; msg: "Cluster is not ready"; name: "clusterNotReady"; }, { code: 6508; msg: "Bls pubkey not set"; name: "blsPubkeyNotSet"; }, { code: 6600; msg: "Borsh serialization failed"; name: "serializationFailed"; }, { code: 6601; msg: "Borsh deserialization failed"; name: "deserializationFailed"; }, { code: 6602; msg: "Heap is full"; name: "heapFull"; }, { code: 6603; msg: "Current slot is before the last updated slot"; name: "invalidSlot"; }, { code: 6604; msg: "Epoch is infinity"; name: "epochIsInfinity"; }, { code: 6605; msg: "Timestamp is invalid"; name: "invalidTimestamp"; }, { code: 6606; msg: "Epoch is invalid"; name: "invalidEpoch"; }, { code: 6607; msg: "Epoch overflowed"; name: "epochOverflow"; }, { code: 6608; msg: "Lighthouse program ID is invalid"; name: "invalidLighthouseProgramId"; }, { code: 6609; msg: "Extra instruction found in transaction"; name: "extraInstructionFound"; }, { code: 6610; msg: "Invalid number of Lighthouse program instructions"; name: "invalidLighthouseInstructionCount"; }, { code: 6611; msg: "Invalid BLS signature"; name: "invalidSignature"; }, { code: 6612; msg: "Value already set"; name: "valueAlreadySet"; }, { code: 6613; msg: "Invalid value setter index"; name: "invalidValueSetterIndex"; }, { code: 6614; msg: "Not all nodes have voted for the BLS public key"; name: "notAllNodesVotedForBlsPublicKey"; }, { code: 6615; msg: "Keyshares index out of bounds"; name: "keysharesIndexOutOfBounds"; }, { code: 6616; msg: "Recovery key material not set"; name: "recoveryKeyMaterialNotSet"; }, { code: 6617; msg: "Recovery already finalized"; name: "recoveryInitAlreadyFinalized"; }, { code: 6618; msg: "Invalid number of recovery peers"; name: "invalidRecoveryPeersCount"; }, { code: 6619; msg: "BLS public key is zero"; name: "blsPublicKeyZero"; }, { code: 6620; msg: "This instruction must be called directly, not via CPI"; name: "mustNotBeCalledViaCpi"; }, { code: 6621; msg: "Fee price exceeds maximum allowed"; name: "feePriceExceedsMax"; }, { code: 6622; msg: "No fees available to claim"; name: "noFeesToClaim"; }, { code: 6623; msg: "Recovery peer offset is zero"; name: "recoveryPeerOffsetZero"; }, { code: 6624; msg: "Invalid domain separator"; name: "invalidDomainSeparator"; }, { code: 6625; msg: "Recovery already initialized"; name: "recoveryInitAlreadyInitialized"; }, { code: 6700; msg: "MXE is not in `Migration` state"; name: "mxeNotInMigrationState"; }, { code: 6701; msg: "MXE is already in `Migration` state"; name: "mxeAlreadyInMigration"; }, { code: 6702; msg: "Backup MXE keygen is not complete"; name: "backupKeygenNotComplete"; }, { code: 6703; msg: "Authority mismatch between original and backup MXE"; name: "recoveryAuthorityMismatch"; }, { code: 6704; msg: "Recovery peers account not initialized"; name: "recoveryPeersNotInitialized"; }, { code: 6705; msg: "Invalid peer offset for recovery share submission"; name: "invalidRecoveryPeerOffset"; }, { code: 6706; msg: "Signer is not a valid recovery peer"; name: "notRecoveryPeer"; }, { code: 6707; msg: "Recovery execution already finalized"; name: "recoveryExecutionAlreadyFinalized"; }, { code: 6708; msg: "Recovery threshold not met"; name: "recoveryThresholdNotMet"; }, { code: 6709; msg: "Recovery execution not finalized"; name: "recoveryExecutionNotFinalized"; }, { code: 6710; msg: "Previous computation did not fail, cannot requeue"; name: "recoveryComputationNotFailed"; }, { code: 6711; msg: "Cannot close recovery with active computation"; name: "recoveryActiveComputationExists"; }, { code: 6713; msg: "Backup MXE cluster is not set"; name: "backupClusterNotSet"; }, { code: 6714; msg: "Share already submitted"; name: "shareAlreadySubmitted"; }, { code: 6715; msg: "Arithmetic overflow"; name: "arithmeticOverflow"; }, { code: 6716; msg: "MXE is in `Migration` state, cannot queue new computations"; name: "mxeInMigrationState"; }, { code: 6717; msg: "Permissioned recovery peers to add must be distinct"; name: "permissionedRecoveryPeersNotDistinct"; }, { code: 6718; msg: "Too many permissioned recovery peers to add"; name: "tooManyPermissionedRecoveryPeers"; }, { code: 6719; msg: "Can only remove existing permissioned recovery peers"; name: "removeNonExistingPermissionedRecoveryPeers"; }, { code: 6720; msg: "Unauthorized to create recovery peer on mainnet"; name: "unauthorizedRecoveryPeerCreation"; }, { code: 6721; msg: "Program must be compiled with the \mainnet\ feature flag."; name: "compilationWithoutMainnetFeatureFlag"; }, { code: 6722; msg: "MXE is in `Active` state"; name: "mxeInActiveState"; }, { code: 6723; msg: "MXE is not in `Active` state"; name: "mxeNotInActiveState"; }, { code: 6724; msg: "Mxe recovery account data is not empty"; name: "mxeRecoveryAccountDataNotEmpty"; }, { code: 6725; msg: "MXE is in migration state, cannot close MXE"; name: "cannotCloseMxeDuringMigration"; }]


events

events: [{ discriminator: [155, 213, 238, 159, 240, 76, 167, 19]; name: "callbackComputationEvent"; }, { discriminator: [143, 97, 229, 166, 72, 218, 87, 145]; name: "claimFailureEvent"; }, { discriminator: [24, 85, 55, 5, 223, 56, 125, 30]; name: "closeComputationDefinitionBuffersEvent"; }, { discriminator: [157, 140, 179, 138, 201, 132, 108, 37]; name: "closeComputationDefinitionEvent"; }, { discriminator: [71, 207, 152, 87, 123, 254, 179, 226]; name: "closeMxeEvent"; }, { discriminator: [139, 142, 249, 251, 50, 65, 58, 168]; name: "deactivateComputationDefinitionEvent"; }, { discriminator: [27, 75, 117, 221, 191, 213, 253, 249]; name: "finalizeComputationEvent"; }, { discriminator: [132, 26, 138, 201, 214, 29, 244, 167]; name: "finalizeFailureDataEvent"; }, { discriminator: [17, 51, 124, 226, 70, 97, 58, 186]; name: "initComputationEvent"; }, { discriminator: [83, 147, 226, 153, 39, 242, 109, 254]; name: "keyRecoveryEvent"; }, { discriminator: [118, 53, 33, 169, 32, 14, 197, 147]; name: "queueComputationEvent"; }]


instructions

instructions: [{ accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; writable: true; }]; args: [{ name: "nodeOffset"; type: "u32"; }]; discriminator: [15, 203, 48, 186, 243, 85, 60, 115]; name: "activateArx"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "id"; }]; }; writable: true; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }]; args: [{ name: "clusterId"; type: "u32"; }]; discriminator: [228, 170, 10, 172, 246, 96, 63, 154]; name: "activateCluster"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "permissionedRecoveryPeersAcc"; pda: { seeds: [{ kind: "const"; value: [80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 101, 100, 82, 101, 99, 111, 118, 101, 114, 121, 80, 101, 101, 114, 115, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { name: "programData"; pda: { program: { kind: "const"; value: [2, 168, 246, 145, 78, 136, 161, 176, 226, 16, 21, 62, 247, 99, 174, 43, 0, 194, 185, 61, 22, 193, 36, 210, 192, 83, 122, 16, 4, 128, 0, 0]; }; seeds: [{ kind: "const"; value: [146, 111, 9, 170, 109, 72, 125, 226, 216, 140, 55, 106, 22, 29, 7, 127, 176, 129, 11, 19, 35, 107, 124, 118, 71, 160, 112, 40, 3, 250, 93, 137]; }]; }; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "peers"; type: { vec: "pubkey"; }; }]; discriminator: [190, 177, 28, 28, 204, 131, 176, 251]; docs: ["Add permissioned recovery peers"]; name: "addPermissionedRecoveryPeers"; }, { accounts: [{ name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }]; args: [{ name: "clusterOffset"; type: "u32"; }]; discriminator: [172, 203, 90, 207, 128, 221, 229, 246]; name: "bumpEpochCluster"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "node"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "comp"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compDefOffset"; }]; }; }, { address: "Sysvar1nstructions1111111111111111111111111"; name: "instructionsSysvar"; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "nodeOffset"; type: "u32"; }, { name: "compDefOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "executionStatus"; type: { defined: { name: "executionStatus"; }; }; }, { name: "callbackTransactionIndex"; type: "u8"; }]; discriminator: [11, 224, 42, 236, 0, 154, 74, 163]; name: "callbackComputation"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "comp"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "clusterOffset"; type: "u32"; }]; discriminator: [215, 218, 1, 166, 81, 218, 16, 151]; name: "claimComputationRent"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "failureAcc"; pda: { seeds: [{ kind: "const"; value: [70, 97, 105, 108, 117, 114, 101, 67, 108, 97, 105, 109, 65, 99, 99, 111, 117, 110, 116, 72, 101, 97, 100, 101, 114]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "chunk"; type: "bytes"; }, { name: "failureClaimOffset"; type: "u32"; }]; discriminator: [92, 52, 184, 203, 76, 221, 128, 69]; name: "claimFailureAppend"; }, { accounts: [{ name: "signer"; signer: true; }, { name: "failureAcc"; pda: { seeds: [{ kind: "const"; value: [70, 97, 105, 108, 117, 114, 101, 67, 108, 97, 105, 109, 65, 99, 99, 111, 117, 110, 116, 72, 101, 97, 100, 101, 114]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "comp"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "nodeOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }]; discriminator: [192, 133, 215, 19, 76, 107, 111, 217]; name: "claimFailureFinalize"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "nodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "compAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }, { kind: "arg"; path: "compOffset"; }]; }; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { account: "computationAccount"; kind: "account"; path: "comp_acc.computation_definition_offset"; }]; }; }, { name: "failureAcc"; pda: { seeds: [{ kind: "const"; value: [70, 97, 105, 108, 117, 114, 101, 67, 108, 97, 105, 109, 65, 99, 99, 111, 117, 110, 116, 72, 101, 97, 100, 101, 114]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "nodeOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "outputLenBytes"; type: "u32"; }]; discriminator: [204, 106, 245, 73, 212, 136, 61, 99]; name: "claimFailureInit"; }, { accounts: [{ name: "nodeAuthority"; signer: true; writable: true; }, { name: "recipient"; writable: true; }, { name: "cluster"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "node"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "pool"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; writable: true; }]; args: [{ name: "clusterOffset"; type: "u32"; }, { name: "nodeOffset"; type: "u32"; }]; discriminator: [68, 13, 185, 34, 151, 76, 194, 43]; name: "claimNodeFees"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; }, { address: "11111111111111111111111111111111"; docs: ["System program account."]; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "clusterOffset"; type: "u32"; }]; discriminator: [175, 224, 148, 1, 107, 74, 70, 110]; docs: ["Closes a computation definition after TTL wait and verifying no active computations."]; name: "closeComputationDefinition"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; }, { name: "compDefRaw"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 82, 97, 119]; }, { kind: "account"; path: "compDefAcc"; }, { kind: "arg"; path: "rawCircuitIndex"; }]; }; writable: true; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "rawCircuitIndex"; type: "u8"; }]; discriminator: [98, 101, 140, 112, 8, 211, 211, 1]; docs: ["Closes the raw circuit buffer account for a computation definition."]; name: "closeComputationDefinitionBuffers"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "originalMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "backupMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeRecoveryAccount"; }]; }; writable: true; }, { name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; writable: true; }, { name: "keyRecoveryFinalizeCompDef"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeRecoveryAccount"; }, { kind: "const"; value: [3, 0, 0, 0]; }]; }; writable: true; }, { name: "keyRecoveryFinalizeComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "backupClusterOffset"; }, { kind: "account"; path: "mxeRecoveryAccount"; }]; }; writable: true; }, { name: "originalMxeProgram"; }, { name: "backupMxeProgram"; }]; args: [{ name: "originalMxeProgram"; type: "pubkey"; }, { name: "backupClusterOffset"; type: "u32"; }]; discriminator: [249, 127, 56, 116, 125, 136, 84, 184]; docs: ["Closes all recovery-related accounts in the success path."]; name: "closeKeyRecovery"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { docs: ["constraint in tests because setting it would require us to deploy a program each time."]; name: "mxeProgram"; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }]; }; writable: true; }, { name: "mxeKeygenComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { kind: "arg"; path: "keygenOffset"; }]; }; writable: true; }, { name: "mxeKeygenCompDef"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }, { kind: "const"; value: [1, 0, 0, 0]; }]; }; writable: true; }, { docs: ["Optional: only exists if key recovery was initiated."]; name: "mxeKeyRecoveryInitCompDef"; optional: true; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }, { kind: "const"; value: [2, 0, 0, 0]; }]; }; writable: true; }, { name: "keyRecoveryInitComputation"; optional: true; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { account: "mxeAccount"; kind: "account"; path: "mxe.key_recovery_init_offset"; }]; }; writable: true; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }]; }; writable: true; }]; args: [{ name: "clusterOffset"; type: "u32"; }, { name: "keygenOffset"; type: "u64"; }]; discriminator: [121, 143, 242, 246, 169, 45, 13, 97]; docs: ["Closes an MXE account and auto-closes the keygen computation definition."]; name: "closeMxe"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "permissionedRecoveryPeersAcc"; pda: { seeds: [{ kind: "const"; value: [80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 101, 100, 82, 101, 99, 111, 118, 101, 114, 121, 80, 101, 101, 114, 115, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { name: "programData"; pda: { program: { kind: "const"; value: [2, 168, 246, 145, 78, 136, 161, 176, 226, 16, 21, 62, 247, 99, 174, 43, 0, 194, 185, 61, 22, 193, 36, 210, 192, 83, 122, 16, 4, 128, 0, 0]; }; seeds: [{ kind: "const"; value: [146, 111, 9, 170, 109, 72, 125, 226, 216, 140, 55, 106, 22, 29, 7, 127, 176, 129, 11, 19, 35, 107, 124, 118, 71, 160, 112, 40, 3, 250, 93, 137]; }]; }; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: []; discriminator: [55, 55, 184, 150, 82, 190, 205, 92]; docs: ["Close the permissioned recovery peers account"]; name: "closePermissionedRecoveryPeersAccount"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; writable: true; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { name: "clusterAcc"; optional: true; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "account"; path: "arxNodeAcc"; }]; }; }]; args: [{ name: "nodeOffset"; type: "u32"; }]; discriminator: [117, 244, 137, 148, 25, 190, 175, 164]; name: "deactivateArx"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "id"; }]; }; writable: true; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }]; args: [{ name: "clusterId"; type: "u32"; }, { name: "deactivationEpoch"; type: { defined: { name: "epoch"; }; }; }]; discriminator: [13, 42, 182, 159, 184, 10, 212, 178]; name: "deactivateCluster"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }]; discriminator: [170, 212, 226, 44, 43, 226, 117, 162]; docs: ["Deactivates a computation definition, preventing new computations from being queued."]; name: "deactivateComputationDefinition"; }, { accounts: [{ name: "tinyMempool"; }, { name: "tinyExecpool"; }, { name: "smallMempool"; }, { name: "smallExecpool"; }, { name: "mediumMempool"; }, { name: "mediumExecpool"; }, { name: "largeMempool"; }, { name: "largeExecpool"; }]; args: []; discriminator: [57, 4, 200, 151, 58, 19, 120, 9]; docs: ["Only present so the mempool and execpool accounts are actually included in the idl, since we", "don't explicitly declare them in the accounts section of the other instructions."]; name: "dummyInstruction"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; }, { name: "compDefRaw"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 82, 97, 119]; }, { kind: "account"; path: "compDefAcc"; }, { kind: "arg"; path: "rawCircuitIndex"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "rawCircuitIndex"; type: "u8"; }]; discriminator: [92, 195, 192, 21, 193, 242, 135, 194]; name: "embiggenRawCircuitAcc"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "node"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; }]; args: [{ name: "nodeOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "keysharesOffset"; type: "u32"; }, { name: "keyshares"; type: { vec: { array: [{ array: ["u8", 32]; }, 5]; }; }; }]; discriminator: [236, 31, 169, 50, 185, 38, 47, 187]; name: "extendRecoveryKeyshares"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { docs: ["At least the first raw circuit account must exist before finalizing"]; name: "compDefRaw"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 82, 97, 119]; }, { kind: "account"; path: "compDefAcc"; }, { kind: "const"; value: [0]; }]; }; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }]; discriminator: [174, 66, 159, 51, 199, 243, 219, 38]; name: "finalizeComputationDefinition"; }, { accounts: [{ name: "signer"; signer: true; }, { name: "originalMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; writable: true; }, { name: "backupMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "backupMxeProgram"; }]; }; writable: true; }, { name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "originalMxeProgram"; }]; }; }, { name: "computation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { name: "compDef"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "backupMxeProgram"; }, { kind: "const"; value: [3, 0, 0, 0]; }]; }; }, { name: "node"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "originalMxeProgram"; }, { name: "backupMxeProgram"; }]; args: [{ name: "originalMxeProgram"; type: "pubkey"; }, { name: "backupMxeProgram"; type: "pubkey"; }, { name: "clusterOffset"; type: "u32"; }, { name: "compOffset"; type: "u64"; }, { name: "nodeOffset"; type: "u32"; }, { name: "executionStatus"; type: { defined: { name: "executionStatus"; }; }; }, { name: "callbackTransactionIndex"; type: "u8"; }, { name: "outputBytes"; type: "bytes"; }, { name: "blsSig"; type: { array: ["u8", 64]; }; }]; discriminator: [143, 63, 33, 26, 66, 235, 94, 31]; docs: ["Callback for key_recovery_finalize computation."]; name: "finalizeKeyRecoveryCallback"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "payer"; signer: true; writable: true; }, { name: "originalMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "backupMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "backupMxeProgram"; }]; }; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "originalMxeProgram"; }]; }; }, { name: "keyRecoveryFinalizeCompDef"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "backupMxeProgram"; }, { kind: "const"; value: [3, 0, 0, 0]; }]; }; }, { name: "keyRecoveryFinalizeComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { kind: "account"; path: "mxeRecoveryAccount"; }]; }; writable: true; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "poolAccount"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; }, { docs: ["Seeds are checked in the CPI to LUT program, so no need to check them here."]; name: "addressLookupTable"; writable: true; }, { address: "AddressLookupTab1e1111111111111111111111111"; name: "lutProgram"; }, { name: "originalMxeProgram"; }, { name: "backupMxeProgram"; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "originalMxeProgram"; type: "pubkey"; }, { name: "backupMxeProgram"; type: "pubkey"; }, { name: "clusterOffset"; type: "u32"; }]; discriminator: [211, 40, 223, 121, 15, 169, 2, 59]; docs: ["Queues the key_recovery_finalize computation after threshold is met."]; name: "finalizeKeyRecoveryExecution"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "node"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; }, { name: "comp"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }, { kind: "arg"; path: "computationOffset"; }]; }; }]; args: [{ name: "nodeOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "computationOffset"; type: "u64"; }]; discriminator: [205, 57, 149, 12, 12, 176, 188, 74]; name: "finalizeKeyRecoverySharesUpload"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "cluster"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "mxeProgram"; type: "pubkey"; }]; discriminator: [108, 137, 125, 95, 202, 237, 190, 158]; name: "finalizeMxeKeys"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "clusterOffset"; type: "u32"; }]; discriminator: [19, 165, 166, 25, 174, 122, 166, 250]; name: "increaseMempoolSize"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { name: "feePool"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "startEpochTimestamp"; type: { defined: { name: "timestamp"; }; }; }]; discriminator: [220, 59, 207, 236, 108, 250, 47, 100]; name: "init"; }, { accounts: [{ name: "operatorSigner"; signer: true; writable: true; }, { name: "operatorAcc"; pda: { seeds: [{ kind: "const"; value: [79, 112, 101, 114, 97, 116, 111, 114]; }, { kind: "account"; path: "operatorSigner"; }]; }; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "nodeOffset"; type: "u32"; }, { name: "config"; type: { defined: { name: "arxNodeConfig"; }; }; }, { name: "cuCapacityClaim"; type: "u64"; }, { name: "blsPubkey"; type: { defined: { name: "bn254g2blsPublicKey"; }; }; }, { name: "blsPopSig"; type: { array: ["u8", 64]; }; }, { name: "metadata"; type: { defined: { name: "nodeMetadata"; }; }; }, { name: "x25519Pubkey"; type: { array: ["u8", 32]; }; }]; discriminator: [55, 177, 212, 125, 72, 118, 148, 232]; name: "initArxNode"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "id"; }]; }; writable: true; }, { name: "authority"; }, { docs: ["function"]; name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { kind: "arg"; path: "id"; }]; }; writable: true; }, { name: "execpool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "id"; }]; }; writable: true; }, { name: "poolAccount"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "clusterId"; type: "u32"; }, { name: "mempoolSize"; type: { defined: { name: "mempoolSize"; }; }; }, { name: "clusterSize"; type: "u16"; }, { name: "cuPrice"; type: "u64"; }, { name: "tdInfo"; type: { option: { defined: { name: "nodeMetadata"; }; }; }; }]; discriminator: [144, 230, 5, 18, 93, 71, 133, 187]; name: "initCluster"; }, { accounts: [{ docs: ["Signer of the transaction."]; name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { docs: ["Seeds are checked in the CPI to LUT program, so no need to check them here."]; name: "addressLookupTable"; writable: true; }, { address: "AddressLookupTab1e1111111111111111111111111"; name: "lutProgram"; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; docs: ["System program account."]; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "computationDefinition"; type: { defined: { name: "computationDefinitionMeta"; }; }; }, { name: "circuitSourceOverride"; type: { option: { defined: { name: "circuitSource"; }; }; }; }, { name: "cuAmount"; type: "u64"; }]; discriminator: [45, 185, 155, 17, 97, 77, 230, 73]; docs: ["Initializes a computation definition."]; name: "initComputationDefinition"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "payer"; signer: true; writable: true; }, { name: "originalMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { docs: ["Full allocation happens in init_key_recovery_execution_part2."]; name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "originalMxeProgram"; }]; }; writable: true; }, { name: "originalMxeProgram"; }, { name: "backupMxeProgram"; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "originalMxeProgram"; type: "pubkey"; }, { name: "backupMxeProgram"; type: "pubkey"; }]; discriminator: [73, 228, 114, 224, 181, 108, 251, 224]; docs: ["Part 1 of key recovery execution initialization.", "Creates the MxeRecoveryAccount with partial size due to Solana's 10KB limit.", "Call init_key_recovery_execution_part2 afterwards."]; name: "initKeyRecoveryExecutionPart1"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "payer"; signer: true; writable: true; }, { name: "originalMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "backupMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "backupMxeProgram"; }]; }; writable: true; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "originalMxeProgram"; }]; }; writable: true; }, { docs: ["The computation definition account for MxeKeyRecoveryFinalize (on backup MXE)"]; name: "keyRecoveryFinalizeCompDef"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "backupMxeProgram"; }, { kind: "const"; value: [3, 0, 0, 0]; }]; }; writable: true; }, { name: "keyRecoveryFinalizeComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { account: "mxeAccount"; kind: "account"; path: "backup_mxe.cluster"; }, { kind: "arg"; path: "keyRecoveryFinalizeOffset"; }]; }; writable: true; }, { name: "originalMxeProgram"; }, { name: "backupMxeProgram"; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "originalMxeProgram"; type: "pubkey"; }, { name: "backupMxeProgram"; type: "pubkey"; }, { name: "clusterOffset"; type: "u32"; }, { name: "keyRecoveryFinalizeOffset"; type: "u64"; }]; discriminator: [181, 38, 231, 178, 21, 239, 196, 158]; docs: ["Part 2 of key recovery execution initialization.", "Finishes allocating MxeRecoveryAccount and creates the computation definition."]; name: "initKeyRecoveryExecutionPart2"; }, { accounts: [{ docs: ["Signer of the transaction."]; name: "signer"; signer: true; writable: true; }, { docs: ["Full allocation happens in init_mxe_part2."]; name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }]; }; writable: true; }, { docs: ["constraint in tests because setting it would require us to deploy a program each time."]; name: "mxeProgram"; }, { address: "11111111111111111111111111111111"; docs: ["System program account."]; name: "systemProgram"; }]; args: []; discriminator: [134, 126, 69, 42, 180, 144, 202, 165]; docs: ["Initializes a MPC Execution Environment (part 1).", "Due to Solana's 10KB per-instruction allocation limit, this only partially", "allocates recovery_cluster_acc. Call init_mxe_part2 afterwards to finish", "allocation and add keygen to mempool."]; name: "initMxePart1"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { docs: ["Cluster to add to the MXE."]; name: "cluster"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; }, { docs: ["MXE account to initialize."]; name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }]; }; writable: true; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "mxeKeygenComputationDefinition"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }, { kind: "const"; value: [1, 0, 0, 0]; }]; }; writable: true; }, { name: "mxeKeygenComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { kind: "arg"; path: "keygenOffset"; }]; }; writable: true; }, { name: "keyRecoveryInitComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { kind: "arg"; path: "keyRecoveryInitOffset"; }]; }; writable: true; }, { name: "mxeAuthority"; optional: true; }, { docs: ["constraint in tests because setting it would require us to deploy a program each time."]; name: "mxeProgram"; }, { name: "programData"; pda: { program: { kind: "const"; value: [2, 168, 246, 145, 78, 136, 161, 176, 226, 16, 21, 62, 247, 99, 174, 43, 0, 194, 185, 61, 22, 193, 36, 210, 192, 83, 122, 16, 4, 128, 0, 0]; }; seeds: [{ kind: "account"; path: "mxeProgram"; }]; }; }, { name: "poolAccount"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; writable: true; }, { docs: ["Seeds are checked in the CPI to LUT program, so no need to check them here."]; name: "addressLookupTable"; writable: true; }, { address: "AddressLookupTab1e1111111111111111111111111"; name: "lutProgram"; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "clusterOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "recoveryPeers"; type: { array: ["u32", 100]; }; }, { name: "keygenOffset"; type: "u64"; }, { name: "keyRecoveryInitOffset"; type: "u64"; }, { name: "recentSlot"; type: "u64"; }]; discriminator: [70, 121, 251, 59, 255, 152, 202, 136]; docs: ["Finishes MXE initialization (part 2).", "Reallocates recovery_cluster_acc to full size, initializes recovery_peers,", "and adds the keygen computation to the mempool."]; name: "initMxePart2"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "operatorAcc"; pda: { seeds: [{ kind: "const"; value: [79, 112, 101, 114, 97, 116, 111, 114]; }, { kind: "account"; path: "signer"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "meta"; type: { defined: { name: "operatorMeta"; }; }; }]; discriminator: [132, 210, 12, 91, 159, 94, 35, 54]; name: "initOperator"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "permissionedRecoveryPeersAcc"; pda: { seeds: [{ kind: "const"; value: [80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 101, 100, 82, 101, 99, 111, 118, 101, 114, 121, 80, 101, 101, 114, 115, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { name: "programData"; pda: { program: { kind: "const"; value: [2, 168, 246, 145, 78, 136, 161, 176, 226, 16, 21, 62, 247, 99, 174, 43, 0, 194, 185, 61, 22, 193, 36, 210, 192, 83, 122, 16, 4, 128, 0, 0]; }; seeds: [{ kind: "const"; value: [146, 111, 9, 170, 109, 72, 125, 226, 216, 140, 55, 106, 22, 29, 7, 127, 176, 129, 11, 19, 35, 107, 124, 118, 71, 160, 112, 40, 3, 250, 93, 137]; }]; }; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: []; discriminator: [23, 147, 149, 121, 218, 173, 81, 117]; docs: ["Initialize the permissioned recovery peers account"]; name: "initPermissionedRecoveryPeersAccount"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; }, { name: "compDefRaw"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 82, 97, 119]; }, { kind: "account"; path: "compDefAcc"; }, { kind: "arg"; path: "rawCircuitIndex"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "rawCircuitIndex"; type: "u8"; }]; discriminator: [16, 228, 193, 228, 93, 231, 58, 4]; name: "initRawCircuitAcc"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "recoveryPeerAccount"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 80, 101, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "peerOffset"; }]; }; writable: true; }, { name: "permissionedRecoveryPeersAcc"; pda: { seeds: [{ kind: "const"; value: [80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 101, 100, 82, 101, 99, 111, 118, 101, 114, 121, 80, 101, 101, 114, 115, 65, 99, 99, 111, 117, 110, 116]; }]; }; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "peerOffset"; type: "u32"; }, { name: "signer"; type: "pubkey"; }, { name: "x25519Pubkey"; type: { array: ["u8", 32]; }; }]; discriminator: [116, 29, 20, 126, 177, 149, 50, 147]; name: "initRecoveryPeerAccount"; }, { accounts: [{ name: "nodeAuthority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; writable: true; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "clusterId"; type: "u32"; }, { name: "nodeBump"; type: "u32"; }, { name: "join"; type: "bool"; }]; discriminator: [150, 167, 124, 239, 108, 128, 31, 162]; name: "joinCluster"; }, { accounts: [{ name: "nodeAuthority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }]; args: [{ name: "clusterOffset"; type: "u32"; }, { name: "nodeOffset"; type: "u32"; }, { name: "proposedFee"; type: "u64"; }]; discriminator: [103, 204, 172, 134, 248, 252, 27, 170]; name: "proposeFee"; }, { accounts: [{ name: "clusterAuthority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; writable: true; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "clusterId"; type: "u32"; }, { name: "nodeBump"; type: "u32"; }]; discriminator: [148, 228, 222, 211, 161, 128, 118, 175]; name: "proposeJoinCluster"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { docs: ["This is ok-ish though, as we're just reading the bump to verify the PDA."]; name: "signSeed"; pda: { program: { kind: "arg"; path: "mxeProgram"; }; seeds: [{ kind: "const"; value: [65, 114, 99, 105, 117, 109, 83, 105, 103, 110, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }]; }; signer: true; }, { name: "comp"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }, { kind: "arg"; path: "computationOffset"; }]; }; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "computationDefinitionOffset"; }]; }; }, { name: "cluster"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "poolAccount"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "computationDefinitionOffset"; type: "u32"; }, { name: "args"; type: { defined: { name: "argumentList"; }; }; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "customCallbackInstructions"; type: { vec: { defined: { name: "callbackInstruction"; }; }; }; }, { name: "callbackTransactionsRequired"; type: "u8"; }, { name: "outputDeliveryFee"; type: "u64"; }, { name: "cuPriceMicro"; type: "u64"; }]; discriminator: [1, 149, 103, 13, 102, 227, 93, 164]; docs: ["Queues a computation.", "cu_price_micro: The priority price of a CU, in micro-lamports. Used", "to calculate the priority fee and rounded down."]; name: "queueComputation"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "keyRecoveryInitComputationDefinition"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }, { kind: "const"; value: [2, 0, 0, 0]; }]; }; writable: true; }, { name: "keyRecoveryInitComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { account: "mxeAccount"; kind: "account"; path: "mxe.key_recovery_init_offset"; }]; }; writable: true; }, { name: "mxeProgram"; }, { name: "poolAccount"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "clusterOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }]; discriminator: [76, 132, 32, 81, 11, 163, 98, 82]; docs: ["Queues the key recovery init computation for the MXE.", "Can only be called after MXE keys are set."]; name: "queueKeyRecoveryInit"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "comp"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }, { kind: "arg"; path: "compOffset"; }]; }; writable: true; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }, { name: "poolAccount"; pda: { seeds: [{ kind: "const"; value: [70, 101, 101, 80, 111, 111, 108]; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "mxeProgram"; type: "pubkey"; }]; discriminator: [146, 230, 72, 249, 217, 144, 70, 33]; docs: ["Reclaim fees for an expired computation that was never executed."]; name: "reclaimExpiredComputationFee"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { docs: ["failure PDA"]; name: "recipient"; writable: true; }, { docs: ["the checks and close by hand in the instruction handler."]; name: "failureAcc"; writable: true; }]; args: [{ name: "compOffset"; type: "u64"; }, { name: "mxeProgram"; type: "pubkey"; }]; discriminator: [138, 13, 253, 191, 226, 239, 246, 10]; name: "reclaimFailureRentIdempotent"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "mxeProgram"; }]; args: [{ name: "mxeProgram"; type: "pubkey"; }]; discriminator: [65, 99, 9, 69, 97, 38, 105, 253]; docs: ["Sets an MXE to the `Migration` state, enabling the recovery process to begin."]; name: "recoverMxe"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }]; }; }, { name: "mxeProgram"; }, { name: "addressLookupTable"; pda: { program: { kind: "const"; value: [2, 119, 166, 175, 151, 51, 155, 122, 200, 141, 24, 146, 201, 4, 70, 245, 0, 2, 48, 146, 102, 246, 46, 83, 193, 24, 36, 73, 130, 0, 0, 0]; }; seeds: [{ kind: "account"; path: "mxe"; }, { account: "mxeAccount"; kind: "account"; path: "mxe.lut_offset_slot"; }]; }; writable: true; }, { address: "AddressLookupTab1e1111111111111111111111111"; name: "lutProgram"; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "account"; type: "pubkey"; }]; discriminator: [55, 38, 119, 20, 35, 231, 184, 236]; name: "registerAccountInLut"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "permissionedRecoveryPeersAcc"; pda: { seeds: [{ kind: "const"; value: [80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 101, 100, 82, 101, 99, 111, 118, 101, 114, 121, 80, 101, 101, 114, 115, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }, { name: "programData"; pda: { program: { kind: "const"; value: [2, 168, 246, 145, 78, 136, 161, 176, 226, 16, 21, 62, 247, 99, 174, 43, 0, 194, 185, 61, 22, 193, 36, 210, 192, 83, 122, 16, 4, 128, 0, 0]; }; seeds: [{ kind: "const"; value: [146, 111, 9, 170, 109, 72, 125, 226, 216, 140, 55, 106, 22, 29, 7, 127, 176, 129, 11, 19, 35, 107, 124, 118, 71, 160, 112, 40, 3, 250, 93, 137]; }]; }; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "peers"; type: { vec: "pubkey"; }; }]; discriminator: [246, 123, 224, 196, 110, 208, 85, 6]; docs: ["Remove permissioned recovery peers"]; name: "removePermissionedRecoveryPeers"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeProgram"; }]; }; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "mempool"; pda: { seeds: [{ kind: "const"; value: [77, 101, 109, 112, 111, 111, 108]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "cluster"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; }, { name: "mxeKeygenComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "clusterOffset"; }, { account: "mxeAccount"; kind: "account"; path: "mxe.keygen_offset"; }]; }; writable: true; }, { name: "mxeProgram"; }]; args: [{ name: "clusterOffset"; type: "u32"; }]; discriminator: [90, 98, 117, 181, 88, 71, 135, 30]; docs: ["Re-queues the MXE keygen computation if it has expired from the mempool.", "This allows retrying the keygen if it wasn't processed in time."]; name: "requeueMxeKeygen"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; }, { name: "mxeProgram"; }]; args: [{ name: "mxeProgram"; type: "pubkey"; }]; discriminator: [29, 16, 225, 132, 38, 216, 206, 33]; docs: ["Sets an MXE to `Active`."]; name: "setActive"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; writable: true; }]; args: [{ name: "nodeOffset"; type: "u32"; }, { name: "config"; type: { defined: { name: "arxNodeConfig"; }; }; }]; discriminator: [163, 75, 176, 148, 145, 196, 238, 234]; name: "setArxNodeConfig"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; writable: true; }]; args: [{ name: "nodeOffset"; type: "u32"; }, { name: "meta"; type: { defined: { name: "nodeMetadata"; }; }; }]; discriminator: [176, 88, 44, 90, 127, 151, 62, 80]; name: "setArxNodeMetadata"; }, { accounts: [{ name: "currentAuthority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "id"; }]; }; writable: true; }]; args: [{ name: "clusterId"; type: "u32"; }, { name: "newAuthority"; type: { option: "pubkey"; }; }]; discriminator: [94, 172, 32, 75, 38, 40, 31, 106]; name: "setClusterAuthority"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "id"; }]; }; writable: true; }]; args: [{ name: "clusterId"; type: "u32"; }, { name: "tdInfo"; type: { option: { defined: { name: "nodeMetadata"; }; }; }; }]; discriminator: [182, 126, 92, 101, 25, 252, 84, 180]; name: "setClusterTdInfo"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "node"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }]; args: [{ name: "nodeOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "mxeX25519Pubkey"; type: { array: ["u8", 32]; }; }, { name: "mxeEd25519VerifyingKey"; type: { array: ["u8", 32]; }; }, { name: "mxeElgamalPubkey"; type: { array: ["u8", 32]; }; }, { name: "mxePubkeyValidityProof"; type: { array: ["u8", 64]; }; }]; discriminator: [156, 205, 125, 215, 134, 88, 62, 144]; name: "setMxeKeys"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "node"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "mxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }]; }; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { account: "mxeAccount"; kind: "account"; path: "mxe.cluster"; }]; }; writable: true; }]; args: [{ name: "nodeOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "nonce"; type: { array: ["u8", 16]; }; }, { name: "encryptedMxeKeys"; type: { array: [{ array: ["u8", 32]; }, 13]; }; }, { name: "keyMaterialHash"; type: { array: ["u8", 32]; }; }, { name: "blsSig"; type: { array: ["u8", 64]; }; }]; discriminator: [49, 89, 116, 64, 81, 250, 112, 64]; name: "setMxeRecoveryKeysInit"; }, { accounts: [{ name: "nodeAuthority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }]; args: [{ name: "clusterId"; type: "u32"; }, { name: "nodeBump"; type: "u32"; }, { name: "aggregatedBlsPubkey"; type: { defined: { name: "bn254g2blsPublicKey"; }; }; }]; discriminator: [192, 135, 47, 120, 63, 18, 232, 164]; name: "submitAggregatedBlsPubkey"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "recoveryPeerAccount"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 80, 101, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "peerOffset"; }]; }; }, { name: "originalMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "recoveryClusterAcc"; pda: { seeds: [{ kind: "const"; value: [82, 101, 99, 111, 118, 101, 114, 121, 67, 108, 117, 115, 116, 101, 114, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "originalMxeProgram"; }]; }; writable: true; }, { name: "originalMxeProgram"; }, { name: "backupMxeProgram"; }]; args: [{ name: "originalMxeProgram"; type: "pubkey"; }, { name: "backupMxeProgram"; type: "pubkey"; }, { name: "peerOffset"; type: "u32"; }, { name: "peerIndex"; type: "u32"; }, { name: "share"; type: { array: [{ array: ["u8", 32]; }, 5]; }; }]; discriminator: [108, 74, 123, 253, 76, 98, 190, 164]; docs: ["Submits a recovery share from a recovery peer.", "Each share contains RESCUE_KEY_COUNT (5) field elements of 32 bytes each."]; name: "submitKeyRecoveryShare"; }, { accounts: [{ name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }]; args: []; discriminator: [47, 73, 68, 127, 116, 74, 89, 62]; name: "updateCurrentEpochIdempotent"; }, { accounts: [{ name: "signer"; signer: true; writable: true; }, { name: "compDefAcc"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "mxeProgram"; }, { kind: "arg"; path: "compOffset"; }]; }; }, { name: "compDefRaw"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 82, 97, 119]; }, { kind: "account"; path: "compDefAcc"; }, { kind: "arg"; path: "rawCircuitIndex"; }]; }; writable: true; }, { address: "11111111111111111111111111111111"; name: "systemProgram"; }]; args: [{ name: "compOffset"; type: "u32"; }, { name: "mxeProgram"; type: "pubkey"; }, { name: "rawCircuitIndex"; type: "u8"; }, { name: "uploadData"; type: { array: ["u8", 814]; }; }, { name: "offset"; type: "u32"; }]; discriminator: [86, 238, 214, 111, 30, 23, 168, 100]; name: "uploadCircuit"; }, { accounts: [{ name: "nodeAuthority"; signer: true; writable: true; }, { name: "clusterAcc"; pda: { seeds: [{ kind: "const"; value: [67, 108, 117, 115, 116, 101, 114]; }, { kind: "arg"; path: "clusterOffset"; }]; }; writable: true; }, { name: "arxNodeAcc"; pda: { seeds: [{ kind: "const"; value: [65, 114, 120, 78, 111, 100, 101]; }, { kind: "arg"; path: "nodeOffset"; }]; }; }, { name: "clock"; pda: { seeds: [{ kind: "const"; value: [67, 108, 111, 99, 107, 65, 99, 99, 111, 117, 110, 116]; }]; }; writable: true; }]; args: [{ name: "clusterOffset"; type: "u32"; }, { name: "nodeOffset"; type: "u32"; }, { name: "feeVote"; type: "u64"; }]; discriminator: [39, 118, 79, 185, 118, 12, 71, 84]; name: "voteFee"; }, { accounts: [{ name: "authority"; signer: true; writable: true; }, { name: "originalMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; }, { name: "backupMxe"; pda: { seeds: [{ kind: "const"; value: [77, 88, 69, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeRecoveryAccount"; }]; }; writable: true; }, { name: "mxeRecoveryAccount"; pda: { seeds: [{ kind: "const"; value: [77, 120, 101, 82, 101, 99, 111, 118, 101, 114, 121, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "originalMxeProgram"; }]; }; writable: true; }, { name: "keyRecoveryFinalizeCompDef"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 68, 101, 102, 105, 110, 105, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "account"; path: "mxeRecoveryAccount"; }, { kind: "const"; value: [3, 0, 0, 0]; }]; }; writable: true; }, { name: "keyRecoveryFinalizeComputation"; pda: { seeds: [{ kind: "const"; value: [67, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 65, 99, 99, 111, 117, 110, 116]; }, { kind: "arg"; path: "backupClusterOffset"; }, { kind: "account"; path: "mxeRecoveryAccount"; }]; }; writable: true; }, { name: "executingPool"; pda: { seeds: [{ kind: "const"; value: [69, 120, 101, 99, 112, 111, 111, 108]; }, { kind: "arg"; path: "backupClusterOffset"; }]; }; writable: true; }, { name: "originalMxeProgram"; }, { name: "backupMxeProgram"; }]; args: [{ name: "originalMxeProgram"; type: "pubkey"; }, { name: "backupClusterOffset"; type: "u32"; }]; discriminator: [28, 29, 32, 130, 111, 5, 244, 101]; docs: ["Closes all recovery-related accounts in the cancel path.", "Instruction name starts with 'Z' to append to the idls."]; name: "zCloseAbortedKeyRecovery"; }]


metadata

metadata: object

NameType
description"The Arcium program"
name"arcium"
spec"0.1.0"
version"0.10.4"

types

types: [{ name: "abortReason"; type: { kind: "enum"; variants: [{ name: "invalidMac"; }, { name: "expectedSentShare"; }, { name: "expectedFieldElement"; }, { name: "expectedAbort"; }, { name: "malformedData"; }, { name: "computationFailed"; }, { name: "internalError"; }, { name: "preprocessingStreamError"; }, { name: "divisionByZero"; }, { name: "noSignature"; }, { name: "invalidSignature"; }, { name: "primitiveError"; }, { name: "invalidBatchLength"; }, { name: "quadraticNonResidue"; }, { name: "bitConversionError"; }, { name: "channelClosed"; }, { name: "timeoutElapsed"; }, { name: "keyRecoveryError"; }]; }; }, { name: "acccountAccessInfo"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ name: "inner"; type: "u16"; }]; kind: "struct"; }; }, { name: "accountArgument"; type: { fields: [{ name: "pubkey"; type: "pubkey"; }, { name: "offset"; type: "u32"; }, { name: "length"; type: "u32"; }]; kind: "struct"; }; }, { name: "activation"; type: { fields: [{ docs: ["epoch for the cluster was activated. Epoch::INFINITY if inactive."]; name: "activationEpoch"; type: { defined: { name: "epoch"; }; }; }, { docs: ["epoch for the cluster to be deactivated. Epoch::INFINITY if none."]; name: "deactivationEpoch"; type: { defined: { name: "epoch"; }; }; }]; kind: "struct"; }; }, { docs: ["Container for arguments that separates small inline values from large indexed data"]; name: "argumentList"; type: { fields: [{ name: "args"; type: { vec: { defined: { name: "argumentRef"; }; }; }; }, { name: "byteArrays"; type: { vec: { array: ["u8", 32]; }; }; }, { name: "plaintextNumbers"; type: { vec: "u64"; }; }, { name: "values128Bit"; type: { vec: "u128"; }; }, { name: "accounts"; type: { vec: { defined: { name: "accountArgument"; }; }; }; }]; kind: "struct"; }; }, { docs: ["A reference to an argument - stores small values that don't affect alignment inline and large", "values as indices."]; name: "argumentRef"; type: { kind: "enum"; variants: [{ fields: ["bool"]; name: "plaintextBool"; }, { fields: ["u8"]; name: "plaintextU8"; }, { fields: ["i8"]; name: "plaintextI8"; }, { fields: ["u8"]; name: "plaintextU16"; }, { fields: ["u8"]; name: "plaintextU32"; }, { fields: ["u8"]; name: "plaintextU64"; }, { fields: ["u8"]; name: "plaintextU128"; }, { fields: ["u8"]; name: "plaintextFloat"; }, { fields: ["u8"]; name: "encryptedBool"; }, { fields: ["u8"]; name: "encryptedU8"; }, { fields: ["u8"]; name: "encryptedU16"; }, { fields: ["u8"]; name: "encryptedU32"; }, { fields: ["u8"]; name: "encryptedU64"; }, { fields: ["u8"]; name: "encryptedU128"; }, { fields: ["u8"]; name: "encryptedFloat"; }, { fields: ["u8"]; name: "x25519Pubkey"; }, { fields: ["u8"]; name: "arcisEd25519Signature"; }, { fields: ["u8"]; name: "account"; }, { fields: ["u8"]; name: "plaintextI16"; }, { fields: ["u8"]; name: "plaintextI32"; }, { fields: ["u8"]; name: "plaintextI64"; }, { fields: ["u8"]; name: "plaintextI128"; }, { fields: ["u8"]; name: "encryptedI8"; }, { fields: ["u8"]; name: "encryptedI16"; }, { fields: ["u8"]; name: "encryptedI32"; }, { fields: ["u8"]; name: "encryptedI64"; }, { fields: ["u8"]; name: "encryptedI128"; }, { fields: ["u8"]; name: "plaintextPoint"; }]; }; }, { name: "arxNode"; type: { fields: [{ docs: ["X25519 public key. MUST BE AT byte index 8 - 40"]; name: "x25519Pubkey"; type: { array: ["u8", 32]; }; }, { name: "primaryStakingAccount"; type: "pubkey"; }, { name: "metadata"; type: { defined: { name: "nodeMetadata"; }; }; }, { name: "config"; type: { defined: { name: "arxNodeConfig"; }; }; }, { docs: ["The offsets of the cluster the node is a member of."]; name: "clusterMembership"; type: { defined: { name: "clusterMembership"; }; }; }, { name: "cuCapacityClaim"; type: "u64"; }, { name: "isActive"; type: "bool"; }, { docs: ["BLS public key for this node (64 bytes compressed G2 point for alt-bn128)"]; name: "blsPubkey"; type: { defined: { name: "bn254g2blsPublicKey"; }; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { name: "arxNodeConfig"; type: { fields: [{ docs: ["Admin key for node management operations"]; name: "authority"; type: "pubkey"; }, { docs: ["Key used to sign computation callbacks - separated for operational security"]; name: "callbackAuthority"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "bn254g2blsPublicKey"; type: { fields: [{ array: ["u8", 64]; }]; kind: "struct"; }; }, { docs: ["A callback account to be provided to a computation.", "We don't specify signer, since node operators can't sign."]; name: "callbackAccount"; type: { fields: [{ name: "pubkey"; type: "pubkey"; }, { name: "isWritable"; type: "bool"; }]; kind: "struct"; }; }, { name: "callbackComputationEvent"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "mxeProgramId"; type: "pubkey"; }]; kind: "struct"; }; }, { docs: ["A custom callback instruction with its own program ID and discriminator."]; name: "callbackInstruction"; type: { fields: [{ name: "programId"; type: "pubkey"; }, { name: "discriminator"; type: "bytes"; }, { name: "accounts"; type: { vec: { defined: { name: "callbackAccount"; }; }; }; }]; kind: "struct"; }; }, { name: "circuitFailureReason"; type: { kind: "enum"; variants: [{ name: "onChainCircuitNotReady"; }, { name: "offChainCircuitFetchFailed"; }, { name: "offChainCircuitHashMismatch"; }, { name: "circuitCuMismatch"; }, { name: "localCircuitFetchFailed"; }, { name: "circuitSerialization"; }, { name: "otherArxError"; }]; }; }, { name: "circuitSource"; type: { kind: "enum"; variants: [{ fields: [{ defined: { name: "localCircuitSource"; }; }]; name: "local"; }, { fields: [{ defined: { name: "onChainCircuitSource"; }; }]; name: "onChain"; }, { fields: [{ defined: { name: "offChainCircuitSource"; }; }]; name: "offChain"; }]; }; }, { name: "claimFailureEvent"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "mxeProgramId"; type: "pubkey"; }]; kind: "struct"; }; }, { docs: ["An account storing the current network epoch"]; name: "clockAccount"; type: { fields: [{ name: "startEpoch"; type: { defined: { name: "epoch"; }; }; }, { name: "currentEpoch"; type: { defined: { name: "epoch"; }; }; }, { name: "startEpochTimestamp"; type: { defined: { name: "timestamp"; }; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { name: "closeComputationDefinitionBuffersEvent"; type: { fields: [{ name: "compDefOffset"; type: "u32"; }, { name: "mxeProgramId"; type: "pubkey"; }, { name: "rawCircuitIndex"; type: "u8"; }]; kind: "struct"; }; }, { name: "closeComputationDefinitionEvent"; type: { fields: [{ name: "compDefOffset"; type: "u32"; }, { name: "mxeProgramId"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "closeMxeEvent"; type: { fields: [{ name: "mxeProgramId"; type: "pubkey"; }, { name: "clusterOffset"; type: "u32"; }]; kind: "struct"; }; }, { name: "cluster"; type: { fields: [{ name: "tdInfo"; type: { option: { defined: { name: "nodeMetadata"; }; }; }; }, { name: "authority"; type: { option: "pubkey"; }; }, { name: "clusterSize"; type: "u16"; }, { name: "activation"; type: { defined: { name: "activation"; }; }; }, { name: "maxCapacity"; type: "u64"; }, { docs: ["The price of compute units in this cluster, in micro-lamports (millionths of a lamport)."]; name: "cuPrice"; type: "u64"; }, { docs: ["The proposals for the cu price proposals in the next epoch, in micro-lamports.", "Index 0 is always the current price, we allow `MAX_FEE_PROPS` at most."]; name: "cuPriceProposals"; type: { array: ["u64", 32]; }; }, { docs: ["The epoch this cluster was last updated.", "Used to determine if the cluster needs to be updated."]; name: "lastUpdatedEpoch"; type: { defined: { name: "epoch"; }; }; }, { name: "nodes"; type: { vec: { defined: { name: "nodeRef"; }; }; }; }, { name: "pendingNodes"; type: { vec: "u32"; }; }, { docs: ["BLS public key for the cluster (64 bytes compressed G2 point for alt-bn128)", "Set only when all nodes have submitted and agreed on the aggregated pubkey"]; name: "blsPublicKey"; type: { defined: { generics: [{ kind: "type"; type: { defined: ...; }; }]; name: "setUnset"; }; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { name: "clusterMembership"; type: { kind: "enum"; variants: [{ name: "inactive"; }, { fields: ["u32"]; name: "active"; }, { fields: ["u32"]; name: "proposed"; }]; }; }, { docs: ["A computation execution call to a [super::mxe::ComputationDefinitionAccount]."]; name: "computationAccount"; type: { fields: [{ name: "payer"; type: "pubkey"; }, { docs: ["The program ID of the MXE that this computation is associated with."]; name: "mxeProgramId"; type: "pubkey"; }, { docs: ["The offset of the corresponding [super::mxe::ComputationDefinitionAccount]."]; name: "computationDefinitionOffset"; type: "u32"; }, { docs: ["The execution fee for the execution."]; name: "executionFee"; type: { defined: { name: "executionFee"; }; }; }, { name: "slot"; type: "u64"; }, { name: "slotCounter"; type: "u16"; }, { name: "status"; type: { defined: { name: "computationStatus"; }; }; }, { name: "arguments"; type: { defined: { name: "argumentList"; }; }; }, { name: "customCallbackInstructions"; type: { vec: { defined: { name: "callbackInstruction"; }; }; }; }, { name: "callbackTransactionsRequired"; type: "u8"; }, { name: "callbackTransactionsSubmittedBm"; type: "u16"; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { docs: ["An account representing a [ComputationDefinition] in a MXE."]; name: "computationDefinitionAccount"; type: { fields: [{ docs: ["Slot at which the computation definition was deactivated, or `None` while active.", "An OnChain circuit with `OnChainCircuitSource.is_completed == false` is not yet", "queueable even when `deactivation_slot == None`; use `is_ready_to_queue()` to combine", "both conditions."]; name: "deactivationSlot"; type: { option: "u64"; }; }, { docs: ["The amount of CUs this computation will use."]; name: "cuAmount"; type: "u64"; }, { docs: ["The interface of the computation to execute."]; name: "definition"; type: { defined: { name: "computationDefinitionMeta"; }; }; }, { docs: ["Where to fetch the actual raw circuit to execute."]; name: "circuitSource"; type: { defined: { name: "circuitSource"; }; }; }, { docs: ["We have to manually put the bump here instead of using the #[bump] for backwards", "compatibility."]; name: "bump"; type: "u8"; }, { docs: ["Padding to avoid breaking change since the above used to be Option<Pubkey>"]; name: "padding"; type: { array: ["u8", 24]; }; }]; kind: "struct"; }; }, { docs: ["A computation definition for execution in a MXE."]; name: "computationDefinitionMeta"; type: { fields: [{ name: "circuitLen"; type: "u32"; }, { name: "signature"; type: { defined: { name: "computationSignature"; }; }; }]; kind: "struct"; }; }, { name: "computationDefinitionRaw"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "bump"; type: "u8"; }, { docs: ["The length here is meaningless."]; name: "compiledCircuit"; type: { array: ["u8", 0]; }; }]; kind: "struct"; }; }, { docs: ["Metadata for each computation slot in the execpool."]; name: "computationMeta"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ name: "index"; type: "u64"; }, { docs: ["Slot at which the computation was originally queued (derived from mempool buffer", "position at promotion time). Preserves the original queue time so lifecycle checks", "like `all_computations_newer_than` compare against the real queue slot, not the", "promotion slot."]; name: "queuedSlot"; type: "u64"; }]; kind: "struct"; }; }, { name: "computationReference"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "priorityFee"; type: "u64"; }, { name: "accs"; type: { array: [{ defined: { name: "acccountAccessInfo"; }; }, 15]; }; }, { name: "padding"; type: { array: ["u8", 2]; }; }]; kind: "struct"; }; }, { docs: ["The signature of a computation defined in a [ComputationDefinition]."]; name: "computationSignature"; type: { fields: [{ docs: ["The input parameters of the computation."]; name: "parameters"; type: { vec: { defined: { name: "parameter"; }; }; }; }, { docs: ["The output(s) of the computation."]; name: "outputs"; type: { vec: { defined: { name: "output"; }; }; }; }]; kind: "struct"; }; }, { name: "computationStatus"; type: { kind: "enum"; variants: [{ name: "queued"; }, { name: "finalized"; }]; }; }, { name: "deactivateComputationDefinitionEvent"; type: { fields: [{ name: "compDefOffset"; type: "u32"; }, { name: "mxeProgramId"; type: "pubkey"; }, { name: "deactivationSlot"; type: "u64"; }]; kind: "struct"; }; }, { docs: ["The network epoch"]; name: "epoch"; type: { fields: ["u64"]; kind: "struct"; }; }, { generics: [{ kind: "const"; name: "maxParrallelComputations"; type: "usize"; }]; name: "executingPool"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "bump"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 7]; }; }, { name: "counter"; type: "u64"; }, { name: "meta"; type: { array: [{ defined: { name: "computationMeta"; }; }, { generic: "maxParrallelComputations"; }]; }; }, { name: "currentlyExecuting"; type: { array: [{ defined: { name: "computationReference"; }; }, { generic: "maxParrallelComputations"; }]; }; }]; kind: "struct"; }; }, { name: "executionFailure"; type: { kind: "enum"; variants: [{ name: "serialization"; }, { name: "router"; }, { name: "circuit"; }, { name: "inputs"; }, { name: "protocolInit"; }, { name: "protocolRun"; }, { fields: [{ defined: { name: "abortReason"; }; }]; name: "abort"; }, { fields: [{ defined: { name: "keyRecoveryFailureReason"; }; }]; name: "keyRecoveryFailure"; }, { name: "trustedDealer"; }, { name: "outputTooLarge"; }, { fields: [{ defined: { name: "circuitFailureReason"; }; }]; name: "circuitFailure"; }]; }; }, { name: "executionFee"; type: { fields: [{ docs: ["The base fee for the computation."]; name: "baseFee"; type: "u64"; }, { docs: ["The additional fee to enforce priortized execution in the mempool."]; name: "priorityFee"; type: "u64"; }, { docs: ["A fee for output delivery fees (i.e. tx fees)."]; name: "outputDeliveryFee"; type: "u64"; }]; kind: "struct"; }; }, { name: "executionStatus"; type: { kind: "enum"; variants: [{ name: "success"; }, { fields: [{ defined: { name: "executionFailure"; }; }, { array: ["u8", 32]; }]; name: "failure"; }]; }; }, { name: "failureClaimAccountHeader"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "bump"; type: "u8"; }, { name: "isComplete"; type: "bool"; }, { name: "padding"; type: { array: ["u8", 6]; }; }, { name: "challengeEndSlot"; type: "u64"; }, { name: "poster"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "feePool"; type: { fields: [{ name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { name: "finalizeComputationEvent"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "mxeProgramId"; type: "pubkey"; }, { name: "executionStatus"; type: { defined: { name: "executionStatus"; }; }; }]; kind: "struct"; }; }, { name: "finalizeFailureDataEvent"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "mxeProgramId"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "initComputationEvent"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "mxeProgramId"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "keyRecoveryEvent"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "mxeProgramId"; type: "pubkey"; }, { name: "backupMxeProgramId"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "keyRecoveryFailureReason"; type: { kind: "enum"; variants: [{ name: "keysDigestMismatch"; }, { name: "x25519PubkeyMismatch"; }, { name: "ed25519VerifyingKeyMismatch"; }, { name: "elGamalPubkeyMismatch"; }, { name: "tooManyCorruptPeers"; }, { name: "serialization"; }, { name: "noPubkeysSet"; }]; }; }, { name: "largeExecPool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { generics: [{ kind: "const"; value: "100"; }]; name: "executingPool"; }; }; }]; kind: "struct"; }; }, { name: "largeMempool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { name: "largeMempoolInner"; }; }; }]; kind: "struct"; }; }, { name: "largeMempoolInner"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "lastUpdatedSlot"; type: "u64"; }, { name: "slotCounter"; type: "u16"; }, { name: "bump"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 5]; }; }, { name: "computations"; type: { defined: { name: "largeMempoolInnerBuffer"; }; }; }]; kind: "struct"; }; }, { name: "largeMempoolInnerBuffer"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "elems"; type: { array: [{ defined: { name: "largeMempoolInnerBufferHeap"; }; }, 180]; }; }, { docs: ["Bit array tracking which slots are valid (1 = valid, 0 = stale)", "1 bit per slot, packed into bytes. For $buffer_length=180, this is 23 bytes."]; name: "validBits"; type: { array: ["u8", 23]; }; }, { name: "startIndex"; type: "u8"; }, { name: "length"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 7]; }; }]; kind: "struct"; }; }, { name: "largeMempoolInnerBufferHeap"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "entries"; type: { array: [{ defined: { name: "computationReference"; }; }, 100]; }; }, { name: "count"; type: "u16"; }, { name: "padding"; type: { array: ["u8", 6]; }; }]; kind: "struct"; }; }, { name: "localCircuitSource"; type: { kind: "enum"; variants: [{ name: "mxeKeygen"; }, { name: "mxeKeyRecoveryInit"; }, { name: "mxeKeyRecoveryFinalize"; }]; }; }, { docs: ["A MPC Execution Environment."]; name: "mxeAccount"; type: { fields: [{ docs: ["`cluster` used to be Option<u32>, so we need to add a padding byte for backwards", "compatibility."]; name: "padding"; type: "u8"; }, { docs: ["The cluster executing the MXE."]; name: "cluster"; type: "u32"; }, { docs: ["The offset used for the keygen computation account.", "Stored so requeue_mxe_keygen can find the computation account."]; name: "keygenOffset"; type: "u64"; }, { docs: ["The offset used for the key recovery init computation account.", "Stored so queue_key_recovery_init can find the computation account."]; name: "keyRecoveryInitOffset"; type: "u64"; }, { docs: ["The program ID of the program that this MXE is associated with. Needed so that when we", "index this account offchain we can find out what program it is associated with."]; name: "mxeProgramId"; type: "pubkey"; }, { docs: ["The management authority of the MXE."]; name: "authority"; type: { option: "pubkey"; }; }, { docs: ["The utility pubkeys, consisting of", "- x25519 pubkey (32 bytes), used for key exchange", "- ed25519 verifying key (32 bytes), used for signature verification", "- ElGamal pubkey (32 bytes), used for c-spl", "- ElGamal pubkey validity proof (64 bytes), used for c-spl"]; name: "utilityPubkeys"; type: { defined: { generics: [{ kind: "type"; type: { defined: ...; }; }]; name: "setUnset"; }; }; }, { name: "lutOffsetSlot"; type: "u64"; }, { docs: ["The offsets of all [ComputationDefinitionAccount]s of this MXE."]; name: "computationDefinitions"; type: { vec: "u32"; }; }, { docs: ["The status of this MXE (`Active` or `Migration`)."]; name: "status"; type: { defined: { name: "mxeStatus"; }; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { name: "mediumExecPool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { generics: [{ kind: "const"; value: "10"; }]; name: "executingPool"; }; }; }]; kind: "struct"; }; }, { name: "mediumMempool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { name: "mediumMempoolInner"; }; }; }]; kind: "struct"; }; }, { name: "mediumMempoolInner"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "lastUpdatedSlot"; type: "u64"; }, { name: "slotCounter"; type: "u16"; }, { name: "bump"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 5]; }; }, { name: "computations"; type: { defined: { name: "mediumMempoolInnerBuffer"; }; }; }]; kind: "struct"; }; }, { name: "mediumMempoolInnerBuffer"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "elems"; type: { array: [{ defined: { name: "mediumMempoolInnerBufferHeap"; }; }, 180]; }; }, { docs: ["Bit array tracking which slots are valid (1 = valid, 0 = stale)", "1 bit per slot, packed into bytes. For $buffer_length=180, this is 23 bytes."]; name: "validBits"; type: { array: ["u8", 23]; }; }, { name: "startIndex"; type: "u8"; }, { name: "length"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 7]; }; }]; kind: "struct"; }; }, { name: "mediumMempoolInnerBufferHeap"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "entries"; type: { array: [{ defined: { name: "computationReference"; }; }, 10]; }; }, { name: "count"; type: "u16"; }, { name: "padding"; type: { array: ["u8", 6]; }; }]; kind: "struct"; }; }, { name: "mempoolSize"; type: { kind: "enum"; variants: [{ name: "tiny"; }, { name: "small"; }, { name: "medium"; }, { name: "large"; }]; }; }, { docs: ["Account for tracking key recovery execution state.", "PDA seeds: [MxeRecoveryAccount::SEED, original_mxe_pubkey]"]; name: "mxeRecoveryAccount"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ docs: ["The computation offset for the queued key_recovery_finalize circuit."]; name: "keyRecoveryFinalizeOffset"; type: "u64"; }, { docs: ["The shares submitted by recovery peers. Each peer submits RESCUE_KEY_COUNT (5) field", "elements. Each field element is 32 bytes. Zeros indicate not yet uploaded."]; name: "shares"; type: { array: [{ array: [{ array: ...; }, 5]; }, 100]; }; }, { name: "originalMxePubkey"; type: "pubkey"; }, { name: "backupMxePubkey"; type: "pubkey"; }, { docs: ["Padding to ensure struct size is u64 aligned"]; name: "padding"; type: { array: ["u8", 7]; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { docs: ["The status of an MXE."]; name: "mxeStatus"; type: { kind: "enum"; variants: [{ name: "active"; }, { name: "migration"; }]; }; }, { docs: ["location as [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) country code"]; name: "nodeMetadata"; type: { fields: [{ docs: ["`Ipv4Addr`, represented by its 4 octets"]; name: "ip"; type: { array: ["u8", 4]; }; }, { docs: ["Needed for MPC protocol"]; name: "peerId"; type: { array: ["u8", 32]; }; }, { name: "location"; type: "u8"; }]; kind: "struct"; }; }, { docs: ["A reference to a node in the cluster.", "The offset is to derive the Node Account.", "The current_total_rewards is the total rewards the node has received so far in the current", "epoch."]; name: "nodeRef"; type: { fields: [{ name: "offset"; type: "u32"; }, { docs: ["Current total rewards the node has received in the current epoch in lamports."]; name: "currentTotalRewards"; type: "u64"; }, { name: "vote"; type: "u8"; }]; kind: "struct"; }; }, { name: "offChainCircuitSource"; type: { fields: [{ name: "source"; type: "string"; }, { name: "hash"; type: { array: ["u8", 32]; }; }]; kind: "struct"; }; }, { name: "onChainCircuitSource"; type: { fields: [{ docs: ["Specifies if the circuit for this computation has been fully uploaded,", "as this can take multiple transactions due to the circuit size."]; name: "isCompleted"; type: "bool"; }, { docs: ["The authority that is allowed to upload circuit data and finalize the computation", "definition. This controls the definition lifecycle, distinct from", "`finalization_authority` (in `ComputationDefinitionAccount`) which controls computation", "execution finalization."]; name: "uploadAuth"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "operator"; type: { fields: [{ name: "nodeOffsets"; type: { vec: "u32"; }; }, { name: "meta"; type: { defined: { name: "operatorMeta"; }; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { docs: ["location as [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html) country code"]; name: "operatorMeta"; type: { fields: [{ docs: ["URL should point to a JSON containing the following fields:", "- `name`: String, the name of the operator", "- `description`: String, a description of the operator", "- `icon`: String, a URL to an icon representing the operator", "- `url`: String, a URL to the operator's website"]; name: "url"; type: "string"; }, { name: "location"; type: "u8"; }]; kind: "struct"; }; }, { docs: ["An output of a computation.", "We currently don't support encrypted outputs yet since encrypted values are passed via", "data objects."]; name: "output"; type: { kind: "enum"; variants: [{ name: "plaintextBool"; }, { name: "plaintextU8"; }, { name: "plaintextU16"; }, { name: "plaintextU32"; }, { name: "plaintextU64"; }, { name: "plaintextU128"; }, { name: "ciphertext"; }, { name: "arcisX25519Pubkey"; }, { name: "plaintextFloat"; }, { name: "plaintextPoint"; }, { name: "plaintextI8"; }, { name: "plaintextI16"; }, { name: "plaintextI32"; }, { name: "plaintextI64"; }, { name: "plaintextI128"; }]; }; }, { docs: ["A parameter of a computation.", "We differentiate between plaintext and encrypted parameters and data objects.", "Plaintext parameters are directly provided as their value.", "Encrypted parameters are provided as an offchain reference to the data.", "Data objects are provided as a reference to the data object account."]; name: "parameter"; type: { kind: "enum"; variants: [{ name: "plaintextBool"; }, { name: "plaintextU8"; }, { name: "plaintextU16"; }, { name: "plaintextU32"; }, { name: "plaintextU64"; }, { name: "plaintextU128"; }, { name: "ciphertext"; }, { name: "arcisX25519Pubkey"; }, { name: "arcisSignature"; }, { name: "plaintextFloat"; }, { name: "plaintextI8"; }, { name: "plaintextI16"; }, { name: "plaintextI32"; }, { name: "plaintextI64"; }, { name: "plaintextI128"; }, { name: "plaintextPoint"; }]; }; }, { docs: ["Account for tracking permissioned recovery peers - needed until we have staking."]; name: "permissionedRecoveryPeersAccount"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ docs: ["DO NOT PUT ANYTHING ELSE BEFORE THE PERMISSIONED_PEERS FIELD, IT'S EXPECTED TO BE AT", "OFFSET 8."]; name: "permissionedPeers"; type: { array: ["pubkey", 25]; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { name: "queueComputationEvent"; type: { fields: [{ name: "computationOffset"; type: "u64"; }, { name: "mxeProgramId"; type: "pubkey"; }]; kind: "struct"; }; }, { name: "recoveryClusterAccount"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ docs: ["The offsets of nodes in our key recovery cluster. 0 means null in this context.", "DO NOT PUT ANYTHING BEFORE THE RECOVERY_PEERS FIELD, IT'S EXPECTED TO BE AT OFFSET 8."]; name: "recoveryPeers"; type: { array: ["u32", 100]; }; }, { name: "recoveryKeyMaterial"; type: { defined: { name: "recoveryKeyMaterial"; }; }; }, { name: "padding"; type: { array: ["u8", 2]; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { name: "recoveryKeyMaterial"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ name: "nonce"; type: { array: ["u8", 16]; }; }, { name: "encryptedMxeKeys"; type: { array: [{ array: ["u8", 32]; }, 13]; }; }, { name: "keyMaterialHash"; type: { array: ["u8", 32]; }; }, { name: "recoveryKeyshares"; type: { array: [{ array: [{ array: ...; }, 5]; }, 100]; }; }, { name: "blsSig"; type: { array: ["u8", 64]; }; }, { name: "status"; type: "u8"; }]; kind: "struct"; }; }, { name: "recoveryPeerAccount"; repr: { kind: "c"; }; serialization: "bytemuck"; type: { fields: [{ name: "authority"; type: "pubkey"; }, { docs: ["DO NOT PUT ANYTHING ELSE BEFORE THE X25519_PUBKEY FIELD, IT'S EXPECTED TO BE AT OFFSET 40."]; name: "x25519Pubkey"; type: { array: ["u8", 32]; }; }, { docs: ["DO NOT PUT ANYTHING ELSE BEFORE THE PEER_OFFSET FIELD, IT'S EXPECTED TO BE AT OFFSET 72."]; name: "peerOffset"; type: { array: ["u8", 4]; }; }, { name: "bump"; type: "u8"; }]; kind: "struct"; }; }, { docs: ["Utility struct to store a value that needs to be set by a certain number of participants (keys", "in our case). Once all participants have set the value, the value is considered set and we only", "store it once."]; generics: [{ kind: "type"; name: "t"; }]; name: "setUnset"; type: { kind: "enum"; variants: [{ fields: [{ generic: "t"; }]; name: "set"; }, { fields: [{ generic: "t"; }, { vec: "bool"; }]; name: "unset"; }]; }; }, { name: "smallExecPool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { generics: [{ kind: "const"; value: "3"; }]; name: "executingPool"; }; }; }]; kind: "struct"; }; }, { name: "smallMempool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { name: "smallMempoolInner"; }; }; }]; kind: "struct"; }; }, { name: "smallMempoolInner"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "lastUpdatedSlot"; type: "u64"; }, { name: "slotCounter"; type: "u16"; }, { name: "bump"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 5]; }; }, { name: "computations"; type: { defined: { name: "smallMempoolInnerBuffer"; }; }; }]; kind: "struct"; }; }, { name: "smallMempoolInnerBuffer"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "elems"; type: { array: [{ defined: { name: "smallMempoolInnerBufferHeap"; }; }, 180]; }; }, { docs: ["Bit array tracking which slots are valid (1 = valid, 0 = stale)", "1 bit per slot, packed into bytes. For $buffer_length=180, this is 23 bytes."]; name: "validBits"; type: { array: ["u8", 23]; }; }, { name: "startIndex"; type: "u8"; }, { name: "length"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 7]; }; }]; kind: "struct"; }; }, { name: "smallMempoolInnerBufferHeap"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "entries"; type: { array: [{ defined: { name: "computationReference"; }; }, 3]; }; }, { name: "count"; type: "u16"; }, { name: "padding"; type: { array: ["u8", 6]; }; }]; kind: "struct"; }; }, { name: "timestamp"; type: { fields: [{ name: "timestamp"; type: "u64"; }]; kind: "struct"; }; }, { name: "tinyExecPool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { generics: [{ kind: "const"; value: "1"; }]; name: "executingPool"; }; }; }]; kind: "struct"; }; }, { name: "tinyMempool"; repr: { kind: "transparent"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "inner"; type: { defined: { name: "tinyMempoolInner"; }; }; }]; kind: "struct"; }; }, { name: "tinyMempoolInner"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "lastUpdatedSlot"; type: "u64"; }, { name: "slotCounter"; type: "u16"; }, { name: "bump"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 5]; }; }, { name: "computations"; type: { defined: { name: "tinyMempoolInnerBuffer"; }; }; }]; kind: "struct"; }; }, { name: "tinyMempoolInnerBuffer"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "elems"; type: { array: [{ defined: { name: "tinyMempoolInnerBufferHeap"; }; }, 180]; }; }, { docs: ["Bit array tracking which slots are valid (1 = valid, 0 = stale)", "1 bit per slot, packed into bytes. For $buffer_length=180, this is 23 bytes."]; name: "validBits"; type: { array: ["u8", 23]; }; }, { name: "startIndex"; type: "u8"; }, { name: "length"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 7]; }; }]; kind: "struct"; }; }, { name: "tinyMempoolInnerBufferHeap"; repr: { kind: "c"; }; serialization: "bytemuckunsafe"; type: { fields: [{ name: "entries"; type: { array: [{ defined: { name: "computationReference"; }; }, 1]; }; }, { name: "count"; type: "u16"; }, { name: "padding"; type: { array: ["u8", 6]; }; }]; kind: "struct"; }; }, { name: "utilityPubkeys"; type: { fields: [{ name: "x25519Pubkey"; type: { array: ["u8", 32]; }; }, { name: "ed25519VerifyingKey"; type: { array: ["u8", 32]; }; }, { name: "elgamalPubkey"; type: { array: ["u8", 32]; }; }, { name: "pubkeyValidityProof"; type: { array: ["u8", 64]; }; }]; kind: "struct"; }; }]