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: [219,31,188,145,69,139,204,117];name:"operator"; }, {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:
"Bv3Fb9VjzjWGfX18QTUcVycAfeLoQ5zZN6vv2g3cTZxp"
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: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: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: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: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: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"; }]
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: [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: [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; }, {name:"clock";pda: {seeds: [{kind:"const";value: [67,108,111,99,107,65,99,99,111,117,110,116]; }]; };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]; }]; }; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];args: [{name:"clusterId";type:"u32"; }];discriminator: [228,170,10,172,246,96,63,154];name:"activateCluster"; }, {accounts: [{name:"signer";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:"clock";pda: {seeds: [{kind:"const";value: [67,108,111,99,107,65,99,99,111,117,110,116]; }]; }; }];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.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };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.ok_or(ArciumError :: ClusterNotSet) ? "; }, {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.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };writable:true; }, {name:"executingPool";pda: {seeds: [{kind:"const";value: [69,120,101,99,112,111,111,108]; }, {account:"mxeAccount";kind:"account";path:"mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };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:"11111111111111111111111111111111";name:"systemProgram"; }, {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; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];args: [{name:"compOffset";type:"u64"; }, {name:"nodeOffset";type:"u32"; }, {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.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };writable:true; }, {name:"mempool";pda: {seeds: [{kind:"const";value: [77,101,109,112,111,111,108]; }, {account:"mxeAccount";kind:"account";path:"mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };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.ok_or(ArciumError :: ClusterNotSet) ? "; }, {kind:"arg";path:"compOffset"; }]; };writable:true; }, {name:"clusterAcc";pda: {seeds: [{kind:"const";value: [67,108,117,115,116,101,114]; }, {account:"mxeAccount";kind:"account";path:"mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };writable:true; }, {name:"mxe";pda: {seeds: [{kind:"const";value: [77,88,69,65,99,99,111,117,110,116]; }, {kind:"arg";path:"mxeProgram"; }]; }; }];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:"clusterAcc";pda: {seeds: [{kind:"const";value: [67,108,117,115,116,101,114]; }, {account:"mxeAccount";kind:"account";path:"mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };writable:true; }, {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.ok_or(ArciumError :: ClusterNotSet) ? "; }, {kind:"arg";path:"compOffset"; }]; }; }, {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"; }];discriminator: [204,106,245,73,212,136,61,99];name:"claimFailureInit"; }, {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]; }]; }; }, {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]; }]; }; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];args: [{name:"clusterId";type:"u32"; }, {name:"deactivationEpoch";type: {defined: {name:"epoch"; }; }; }];discriminator: [13,42,182,159,184,10,212,178];name:"deactivateCluster"; }, {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:"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: [174,66,159,51,199,243,219,38];name:"finalizeComputationDefinition"; }, {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.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };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; }, {name:"clock";pda: {seeds: [{kind:"const";value: [67,108,111,99,107,65,99,99,111,117,110,116]; }]; }; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];args: [{name:"nodeOffset";type:"u32"; }, {name:"config";type: {defined: {name:"arxNodeConfig"; }; }; }, {name:"cuCapacityClaim";type:"u64"; }, {name:"metadata";type: {defined: {name:"nodeMetadata"; }; }; }];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]; }]; }; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];args: [{name:"clusterId";type:"u32"; }, {name:"mempoolSize";type: {defined: {name:"mempoolSize"; }; }; }, {name:"maxSize";type:"u32"; }, {name:"cuPrice";type:"u64"; }];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; }, {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"; }, {name:"finalizationAuthority";type: {option:"pubkey"; }; }];discriminator: [45,185,155,17,97,77,230,73];docs: ["Initializes a computation definition."];name:"initComputationDefinition"; }, {accounts: [{docs: ["Signer of the transaction."];name:"signer";signer:true;writable:true; }, {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:"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; }, {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"; }]; }; }, {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:"const";value: [1,0,0,0,0,0,0,0]; }]; };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:"poolAccount";pda: {seeds: [{kind:"const";value: [70,101,101,80,111,111,108]; }]; };writable:true; }, {address:"11111111111111111111111111111111";docs: ["System program account."];name:"systemProgram"; }];args: [{name:"clusterOffset";type:"u32"; }];discriminator: [240,227,11,166,193,167,25,79];docs: ["Initializes a MPC Execution Environment."];name:"initMxe"; }, {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:"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:"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; }, {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:"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:"mxe";pda: {seeds: [{kind:"const";value: [77,88,69,65,99,99,111,117,110,116]; }, {kind:"arg";path:"mxeProgram"; }]; };writable:true; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];args: [{name:"clusterOffset";type:"u32"; }, {name:"mxeProgram";type:"pubkey"; }];discriminator: [225,222,68,9,96,160,126,211];name:"leaveMxe"; }, {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:"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]; }]; }; }, {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 not reading the account, we just need it to check that the","CPI invocation is valid. The only downside is it's a bit ugly and wastes some CUs since","we can't use a potentially stored bump."];name:"signSeed";pda: {program: {kind:"arg";path:"mxeProgram"; };seeds: [{kind:"const";value: [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]; }, {kind:"arg";path: "cluster_index.map_or(mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? , | i |\nmxe.fallback_clusters [i as usize])"; }, {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]; }, {kind:"arg";path: "cluster_index.map_or(mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? , | i |\nmxe.fallback_clusters [i as usize])"; }]; };writable:true; }, {name:"mempool";pda: {seeds: [{kind:"const";value: [77,101,109,112,111,111,108]; }, {kind:"arg";path: "cluster_index.map_or(mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? , | i |\nmxe.fallback_clusters [i as usize])"; }]; };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]; }, {kind:"arg";path: "cluster_index.map_or(mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? , | i |\nmxe.fallback_clusters [i as usize])"; }]; };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]; }]; }; }];args: [{name:"compOffset";type:"u64"; }, {name:"computationDefinitionOffset";type:"u32"; }, {name:"clusterIndex";type: {option:"u16"; }; }, {name:"args";type: {defined: {name:"argumentList"; }; }; }, {name:"mxeProgram";type:"pubkey"; }, {name:"callbackUrl";type: {option:"string"; }; }, {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 thousandths of lamports. Used","to calculate the priority fee and rounded down."];name:"queueComputation"; }, {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; }, {address:"SysvarC1ock11111111111111111111111111111111";name:"clock"; }];args: [{name:"compOffset";type:"u64"; }, {name:"nodeOffset";type:"u32"; }, {name:"mxeProgram";type:"pubkey"; }];discriminator: [159,99,116,180,42,9,202,219];name:"reclaimFailureRent"; }, {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"; }, {kind:"const";value: [1,0,0,0,0,0,0,0]; }]; };writable:true; }, {name:"poolAccount";pda: {seeds: [{kind:"const";value: [70,101,101,80,111,111,108]; }]; };writable:true; }, {name:"mxeProgram"; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];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:"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"; }; }; }];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: [{docs: ["Signer of the transaction."];name:"signer";signer:true;writable:true; }, {docs: ["MXE account to set the cluster for."];name:"mxe";pda: {seeds: [{kind:"const";value: [77,88,69,65,99,99,111,117,110,116]; }, {kind:"account";path:"mxeProgram"; }]; }; }, {docs: ["Cluster to set for the MXE."];name:"cluster";pda: {seeds: [{kind:"const";value: [67,108,117,115,116,101,114]; }, {kind:"arg";path:"clusterOffset"; }]; }; }, {name:"mxeProgram"; }, {address:"11111111111111111111111111111111";docs: ["System program account."];name:"systemProgram"; }];args: [{name:"clusterOffset";type:"u32"; }];discriminator: [140,96,38,83,225,128,25,176];name:"setCluster"; }, {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; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];args: [{name:"clusterId";type:"u32"; }, {name:"newAuthority";type: {option:"pubkey"; }; }];discriminator: [94,172,32,75,38,40,31,106];name:"setClusterAuthority"; }, {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.ok_or(ArciumError :: ClusterNotSet) ? "; }]; };writable:true; }, {address:"11111111111111111111111111111111";name:"systemProgram"; }];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:"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"; }]; }; }];args: [{name:"clusterOffset";type:"u32"; }, {name:"nodeOffset";type:"u32"; }, {name:"feeVote";type:"u64"; }];discriminator: [39,118,79,185,118,12,71,84];name:"voteFee"; }]
metadata
metadata:
object
| Name | Type |
|---|---|
description | "The Arcium program" |
name | "arcium" |
spec | "0.1.0" |
version | "0.4.0" |
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:"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:"arcisX25519Pubkey"; }, {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"; }]; }; }, {name:"arxNode";type: {fields: [{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"; }, {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"; }; }, {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:"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:"cluster";type: {fields: [{name:"authority";type: {option:"pubkey"; }; }, {name:"maxSize";type:"u32"; }, {name:"activation";type: {defined: {name:"activation"; }; }; }, {name:"maxCapacity";type:"u64"; }, {docs: ["The price of compute units in this cluster."];name:"cuPrice";type:"u64"; }, {docs: ["The proposals for the cu price proposals in the next epoch.","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: {defined: {name:"nodeRef"; }; }; }; }, {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 MXE's cluster to be used for execution.","","# Notes","","- [None] represents the default cluster,","- [Some] specifies the index of the fallback cluster."];name:"clusterIndex";type: {option:"u16"; }; }, {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:"callbackUrl";type: {option:"string"; }; }, {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: ["The authority that is allowed to finalize the computation. If set to None, anyone can."];name:"finalizationAuthority";type: {option:"pubkey"; }; }, {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"; }; }; }, {name:"bump";type:"u8"; }];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"; }; }, {name:"computationReference";repr: {kind:"c"; };serialization:"bytemuck";type: {fields: [{name:"computationOffset";type:"u64"; }, {name:"priorityFee";type:"u64"; }, {name:"accs";type: {array: [{defined: {name:"acccountAccessInfo"; }; },12]; }; }];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"; }]; }; }, {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:"execpoolIndex";type: {array: ["u64", {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"; }]; }; }, {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"; }];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:"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"; }]; }; }, {docs: ["A MPC Execution Environment."];name:"mxeAccount";type: {fields: [{docs: ["The cluster executing the MXE."];name:"cluster";type: {option:"u32"; }; }, {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"; }; }; }, {docs: ["Fallback clusters that can execute this MXE as an alternative to the","[MXEAccount::cluster]. There can be a maximum of [MAX_FALLBACK_CLUSTERS]","fallback clusters."];name:"fallbackClusters";type: {vec:"u32"; }; }, {docs: ["The clusters that have rejected this MXE."];name:"rejectedClusters";type: {vec:"u32"; }; }, {docs: ["The offsets of all [ComputationDefinitionAccount]s of this MXE."];name:"computationDefinitions";type: {vec:"u32"; }; }, {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: ["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 it's 4 octects"];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 the circuit."];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"; }]; }; }, {name:"queueComputationEvent";type: {fields: [{name:"computationOffset";type:"u64"; }, {name:"mxeProgramId";type:"pubkey"; }];kind:"struct"; }; }, {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"; }; }]