@arcium-hq/client 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.mjs CHANGED
@@ -1252,7 +1252,7 @@ class Aes256Cipher {
1252
1252
  var address = "BKck65TgoKRokMjQM3datB9oRwJ8rAj2jxPXvHXUvcL6";
1253
1253
  var metadata = {
1254
1254
  name: "arcium",
1255
- version: "0.2.0",
1255
+ version: "0.3.0",
1256
1256
  spec: "0.1.0",
1257
1257
  description: "The Arcium program"
1258
1258
  };
@@ -1570,7 +1570,7 @@ var instructions = [
1570
1570
  },
1571
1571
  {
1572
1572
  kind: "account",
1573
- path: "mxe.cluster.ok_or(MXEError :: ClusterNotSet) ? ",
1573
+ path: "mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? ",
1574
1574
  account: "MXEAccount"
1575
1575
  }
1576
1576
  ]
@@ -1858,7 +1858,7 @@ var instructions = [
1858
1858
  },
1859
1859
  {
1860
1860
  kind: "account",
1861
- path: "arx_node_acc.cluster_memberships.get(1).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
1861
+ path: "arx_node_acc.cluster_memberships.get(1).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
1862
1862
  account: "ArxNode"
1863
1863
  }
1864
1864
  ]
@@ -1883,7 +1883,7 @@ var instructions = [
1883
1883
  },
1884
1884
  {
1885
1885
  kind: "account",
1886
- path: "arx_node_acc.cluster_memberships.get(2).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
1886
+ path: "arx_node_acc.cluster_memberships.get(2).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
1887
1887
  account: "ArxNode"
1888
1888
  }
1889
1889
  ]
@@ -1908,7 +1908,7 @@ var instructions = [
1908
1908
  },
1909
1909
  {
1910
1910
  kind: "account",
1911
- path: "arx_node_acc.cluster_memberships.get(3).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
1911
+ path: "arx_node_acc.cluster_memberships.get(3).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
1912
1912
  account: "ArxNode"
1913
1913
  }
1914
1914
  ]
@@ -1933,7 +1933,7 @@ var instructions = [
1933
1933
  },
1934
1934
  {
1935
1935
  kind: "account",
1936
- path: "arx_node_acc.cluster_memberships.get(4).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
1936
+ path: "arx_node_acc.cluster_memberships.get(4).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
1937
1937
  account: "ArxNode"
1938
1938
  }
1939
1939
  ]
@@ -1958,7 +1958,7 @@ var instructions = [
1958
1958
  },
1959
1959
  {
1960
1960
  kind: "account",
1961
- path: "arx_node_acc.cluster_memberships.get(5).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
1961
+ path: "arx_node_acc.cluster_memberships.get(5).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
1962
1962
  account: "ArxNode"
1963
1963
  }
1964
1964
  ]
@@ -1983,7 +1983,7 @@ var instructions = [
1983
1983
  },
1984
1984
  {
1985
1985
  kind: "account",
1986
- path: "arx_node_acc.cluster_memberships.get(6).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
1986
+ path: "arx_node_acc.cluster_memberships.get(6).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
1987
1987
  account: "ArxNode"
1988
1988
  }
1989
1989
  ]
@@ -2008,7 +2008,7 @@ var instructions = [
2008
2008
  },
2009
2009
  {
2010
2010
  kind: "account",
2011
- path: "arx_node_acc.cluster_memberships.get(7).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
2011
+ path: "arx_node_acc.cluster_memberships.get(7).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
2012
2012
  account: "ArxNode"
2013
2013
  }
2014
2014
  ]
@@ -2033,7 +2033,7 @@ var instructions = [
2033
2033
  },
2034
2034
  {
2035
2035
  kind: "account",
2036
- path: "arx_node_acc.cluster_memberships.get(8).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
2036
+ path: "arx_node_acc.cluster_memberships.get(8).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
2037
2037
  account: "ArxNode"
2038
2038
  }
2039
2039
  ]
@@ -2058,7 +2058,7 @@ var instructions = [
2058
2058
  },
2059
2059
  {
2060
2060
  kind: "account",
2061
- path: "arx_node_acc.cluster_memberships.get(9).ok_or(NodeError ::\nInvalidClusterMembership) ? ",
2061
+ path: "arx_node_acc.cluster_memberships.get(9).ok_or(ArciumError ::\nInvalidClusterMembership) ? ",
2062
2062
  account: "ArxNode"
2063
2063
  }
2064
2064
  ]
@@ -2436,7 +2436,7 @@ var instructions = [
2436
2436
  },
2437
2437
  {
2438
2438
  kind: "account",
2439
- path: "mxe.cluster.ok_or(MXEError :: ClusterNotSet) ? ",
2439
+ path: "mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? ",
2440
2440
  account: "MXEAccount"
2441
2441
  }
2442
2442
  ]
@@ -2726,7 +2726,7 @@ var instructions = [
2726
2726
  },
2727
2727
  {
2728
2728
  kind: "account",
2729
- path: "mxe.cluster.ok_or(MXEError :: ClusterNotSet) ? ",
2729
+ path: "mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? ",
2730
2730
  account: "MXEAccount"
2731
2731
  }
2732
2732
  ]
@@ -4097,6 +4097,41 @@ var instructions = [
4097
4097
  writable: true,
4098
4098
  signer: true
4099
4099
  },
4100
+ {
4101
+ name: "sign_seed",
4102
+ docs: [
4103
+ "This is ok-ish though, as we're not reading the account, we just need it to check that the",
4104
+ "CPI invocation is valid. The only downside is it's a bit ugly and wastes some CUs since",
4105
+ "we can't use a potentially stored bump."
4106
+ ],
4107
+ signer: true,
4108
+ pda: {
4109
+ seeds: [
4110
+ {
4111
+ kind: "const",
4112
+ value: [
4113
+ 83,
4114
+ 105,
4115
+ 103,
4116
+ 110,
4117
+ 101,
4118
+ 114,
4119
+ 65,
4120
+ 99,
4121
+ 99,
4122
+ 111,
4123
+ 117,
4124
+ 110,
4125
+ 116
4126
+ ]
4127
+ }
4128
+ ],
4129
+ program: {
4130
+ kind: "arg",
4131
+ path: "_mxe_program"
4132
+ }
4133
+ }
4134
+ },
4100
4135
  {
4101
4136
  name: "comp",
4102
4137
  writable: true,
@@ -4278,7 +4313,7 @@ var instructions = [
4278
4313
  },
4279
4314
  {
4280
4315
  kind: "arg",
4281
- path: "cluster_index.map_or(mxe.cluster.ok_or(MXEError :: ClusterNotSet) ? , | i |\nmxe.fallback_clusters [i as usize])"
4316
+ path: "cluster_index.map_or(mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? , | i |\nmxe.fallback_clusters [i as usize])"
4282
4317
  }
4283
4318
  ]
4284
4319
  }
@@ -4357,16 +4392,6 @@ var instructions = [
4357
4392
  }
4358
4393
  }
4359
4394
  },
4360
- {
4361
- name: "callback_accs",
4362
- type: {
4363
- vec: {
4364
- defined: {
4365
- name: "CallbackAccount"
4366
- }
4367
- }
4368
- }
4369
- },
4370
4395
  {
4371
4396
  name: "mxe_program",
4372
4397
  type: "pubkey"
@@ -4377,6 +4402,16 @@ var instructions = [
4377
4402
  option: "string"
4378
4403
  }
4379
4404
  },
4405
+ {
4406
+ name: "custom_callback_instructions",
4407
+ type: {
4408
+ vec: {
4409
+ defined: {
4410
+ name: "CallbackInstruction"
4411
+ }
4412
+ }
4413
+ }
4414
+ },
4380
4415
  {
4381
4416
  name: "input_delivery_fee",
4382
4417
  type: "u64"
@@ -4754,7 +4789,7 @@ var instructions = [
4754
4789
  },
4755
4790
  {
4756
4791
  kind: "account",
4757
- path: "mxe.cluster.ok_or(MXEError :: ClusterNotSet) ? ",
4792
+ path: "mxe.cluster.ok_or(ArciumError :: ClusterNotSet) ? ",
4758
4793
  account: "MXEAccount"
4759
4794
  }
4760
4795
  ]
@@ -5333,48 +5368,258 @@ var events = [
5333
5368
  var errors = [
5334
5369
  {
5335
5370
  code: 6000,
5371
+ name: "InvalidAuthority",
5372
+ msg: "The given authority is invalid"
5373
+ },
5374
+ {
5375
+ code: 6001,
5376
+ name: "MxeKeysAlreadySet",
5377
+ msg: "The MXE keys are already set, i.e. all the nodes of the MXE cluster already agreed on the MXE keys"
5378
+ },
5379
+ {
5380
+ code: 6002,
5381
+ name: "MxeKeysNotSet",
5382
+ msg: "The MXE keys are not set, i.e. not all the nodes of the MXE cluster agreed on the MXE keys"
5383
+ },
5384
+ {
5385
+ code: 6003,
5386
+ name: "InvalidMXE",
5387
+ msg: "An invalid MXE account has been supplied"
5388
+ },
5389
+ {
5390
+ code: 6004,
5391
+ name: "ClusterAlreadySet",
5392
+ msg: "The cluster is already set"
5393
+ },
5394
+ {
5395
+ code: 6005,
5396
+ name: "ClusterNotSet",
5397
+ msg: "The cluster is not set"
5398
+ },
5399
+ {
5400
+ code: 6006,
5401
+ name: "InvalidCluster",
5402
+ msg: "An invalid cluster account has been supplied"
5403
+ },
5404
+ {
5405
+ code: 6007,
5406
+ name: "InvalidComputationDefinition",
5407
+ msg: "An invalid computation definition account has been supplied"
5408
+ },
5409
+ {
5410
+ code: 6008,
5411
+ name: "CantFindMempoolID",
5412
+ msg: "Couldn't find a mempool ID for the computation"
5413
+ },
5414
+ {
5415
+ code: 6100,
5416
+ name: "InvalidMempoolDiscriminator",
5417
+ msg: "Mempool discriminator is invalid"
5418
+ },
5419
+ {
5420
+ code: 6101,
5421
+ name: "InvalidMempoolSize",
5422
+ msg: "Mempool size is invalid"
5423
+ },
5424
+ {
5425
+ code: 6102,
5426
+ name: "InvalidExecpoolDiscriminator",
5427
+ msg: "Execpool discriminator is invalid"
5428
+ },
5429
+ {
5430
+ code: 6103,
5431
+ name: "MaxParallelismReached",
5432
+ msg: "Max parallelism reached"
5433
+ },
5434
+ {
5435
+ code: 6200,
5436
+ name: "InvalidComputationOffset",
5437
+ msg: "Computation offset is invalid"
5438
+ },
5439
+ {
5440
+ code: 6201,
5441
+ name: "InvalidCallbackAccs",
5442
+ msg: "Callback accounts are invalid"
5443
+ },
5444
+ {
5445
+ code: 6202,
5446
+ name: "InvalidCallbackAccsLen",
5447
+ msg: "Callback accounts length is invalid"
5448
+ },
5449
+ {
5450
+ code: 6203,
5451
+ name: "AlreadyInitializedComputation",
5452
+ msg: "The computation is already initialized"
5453
+ },
5454
+ {
5455
+ code: 6204,
5456
+ name: "AlreadyCallbackedComputation",
5457
+ msg: "Callback computation already called"
5458
+ },
5459
+ {
5460
+ code: 6205,
5461
+ name: "InvalidFinalizeTx",
5462
+ msg: "Finalize tx is invalid"
5463
+ },
5464
+ {
5465
+ code: 6206,
5466
+ name: "InvalidComputationStatus",
5467
+ msg: "Computation status is invalid"
5468
+ },
5469
+ {
5470
+ code: 6207,
5471
+ name: "InvalidComputation",
5472
+ msg: "Computation is invalid"
5473
+ },
5474
+ {
5475
+ code: 6208,
5476
+ name: "InvalidComputationAuthority",
5477
+ msg: "Computation authority is invalid"
5478
+ },
5479
+ {
5480
+ code: 6209,
5481
+ name: "InvalidCallbackInstructions",
5482
+ msg: "Callback instructions are invalid"
5483
+ },
5484
+ {
5485
+ code: 6300,
5486
+ name: "ComputationDefinitionNotCompleted",
5487
+ msg: "Computation definition is not completed"
5488
+ },
5489
+ {
5490
+ code: 6301,
5491
+ name: "InvalidArguments",
5492
+ msg: "Arguments supplied are invalid"
5493
+ },
5494
+ {
5495
+ code: 6302,
5496
+ name: "InvalidCircuitSource",
5497
+ msg: "Circuit source is invalid"
5498
+ },
5499
+ {
5500
+ code: 6303,
5501
+ name: "ComputationDefinitionAlreadyCompleted",
5502
+ msg: "Computation definition already completed"
5503
+ },
5504
+ {
5505
+ code: 6400,
5336
5506
  name: "InvalidNode",
5337
5507
  msg: "Node is invalid"
5338
5508
  },
5339
5509
  {
5340
- code: 6001,
5510
+ code: 6401,
5341
5511
  name: "MaxClusterMembershipReached",
5342
5512
  msg: "Maximum number of nodes in the cluster has been reached"
5343
5513
  },
5344
5514
  {
5345
- code: 6002,
5515
+ code: 6402,
5346
5516
  name: "NodeAlreadyExists",
5347
5517
  msg: "The node already exists in the cluster"
5348
5518
  },
5349
5519
  {
5350
- code: 6003,
5351
- name: "InvalidAuthority",
5520
+ code: 6403,
5521
+ name: "InvalidNodeAuthority",
5352
5522
  msg: "Node authority is invalid"
5353
5523
  },
5354
5524
  {
5355
- code: 6004,
5525
+ code: 6404,
5356
5526
  name: "NodeNotInactive",
5357
5527
  msg: "Node is not inactive"
5358
5528
  },
5359
5529
  {
5360
- code: 6005,
5530
+ code: 6405,
5361
5531
  name: "NodeNotActive",
5362
5532
  msg: "Node is not active"
5363
5533
  },
5364
5534
  {
5365
- code: 6006,
5535
+ code: 6406,
5366
5536
  name: "InvalidClusterMembership",
5367
5537
  msg: "Cluster membership is invalid"
5368
5538
  },
5369
5539
  {
5370
- code: 6007,
5540
+ code: 6407,
5371
5541
  name: "NodeInActiveCluster",
5372
5542
  msg: "Node is in an active cluster"
5373
5543
  },
5374
5544
  {
5375
- code: 6008,
5376
- name: "InvalidConfig",
5545
+ code: 6408,
5546
+ name: "InvalidNodeConfig",
5377
5547
  msg: "Node config is invalid"
5548
+ },
5549
+ {
5550
+ code: 6500,
5551
+ name: "ClusterFull",
5552
+ msg: "Cluster is full"
5553
+ },
5554
+ {
5555
+ code: 6501,
5556
+ name: "InvalidDeactivationEpoch",
5557
+ msg: "Cluster deactivation epoch is invalid"
5558
+ },
5559
+ {
5560
+ code: 6502,
5561
+ name: "InvalidMaxSize",
5562
+ msg: "Cluster maximum size is invalid"
5563
+ },
5564
+ {
5565
+ code: 6503,
5566
+ name: "InvalidClusterAuthority",
5567
+ msg: "Cluster authority is invalid"
5568
+ },
5569
+ {
5570
+ code: 6504,
5571
+ name: "InvalidFeeProposal",
5572
+ msg: "Cluster fee proposal is invalid"
5573
+ },
5574
+ {
5575
+ code: 6505,
5576
+ name: "InvalidClusterState",
5577
+ msg: "Cluster state is invalid"
5578
+ },
5579
+ {
5580
+ code: 6506,
5581
+ name: "InvalidVote",
5582
+ msg: "Cluster vote is invalid"
5583
+ },
5584
+ {
5585
+ code: 6600,
5586
+ name: "SerializationFailed",
5587
+ msg: "Borsh serialization failed"
5588
+ },
5589
+ {
5590
+ code: 6601,
5591
+ name: "DeserializationFailed",
5592
+ msg: "Borsh deserialization failed"
5593
+ },
5594
+ {
5595
+ code: 6602,
5596
+ name: "HeapFull",
5597
+ msg: "Heap is full"
5598
+ },
5599
+ {
5600
+ code: 6603,
5601
+ name: "InvalidSlot",
5602
+ msg: "Current slot is before the last updated slot"
5603
+ },
5604
+ {
5605
+ code: 6604,
5606
+ name: "EpochIsInfinity",
5607
+ msg: "Epoch is infinity"
5608
+ },
5609
+ {
5610
+ code: 6605,
5611
+ name: "InvalidTimestamp",
5612
+ msg: "Timestamp is invalid"
5613
+ },
5614
+ {
5615
+ code: 6606,
5616
+ name: "InvalidEpoch",
5617
+ msg: "Epoch is invalid"
5618
+ },
5619
+ {
5620
+ code: 6607,
5621
+ name: "EpochOverflow",
5622
+ msg: "Epoch overflowed"
5378
5623
  }
5379
5624
  ];
5380
5625
  var types = [
@@ -5721,20 +5966,18 @@ var types = [
5721
5966
  type: "u32"
5722
5967
  },
5723
5968
  {
5724
- name: "allowed_authorities",
5725
- type: {
5726
- vec: "pubkey"
5727
- }
5969
+ name: "authority",
5970
+ docs: [
5971
+ "Admin key for node management operations"
5972
+ ],
5973
+ type: "pubkey"
5728
5974
  },
5729
5975
  {
5730
- name: "supported_protocols",
5731
- type: {
5732
- vec: {
5733
- defined: {
5734
- name: "MPCProtocol"
5735
- }
5736
- }
5737
- }
5976
+ name: "callback_authority",
5977
+ docs: [
5978
+ "Key used to sign computation callbacks - separated for operational security"
5979
+ ],
5980
+ type: "pubkey"
5738
5981
  }
5739
5982
  ]
5740
5983
  }
@@ -5775,6 +6018,35 @@ var types = [
5775
6018
  ]
5776
6019
  }
5777
6020
  },
6021
+ {
6022
+ name: "CallbackInstruction",
6023
+ docs: [
6024
+ "A custom callback instruction with its own program ID and discriminator."
6025
+ ],
6026
+ type: {
6027
+ kind: "struct",
6028
+ fields: [
6029
+ {
6030
+ name: "program_id",
6031
+ type: "pubkey"
6032
+ },
6033
+ {
6034
+ name: "discriminator",
6035
+ type: "bytes"
6036
+ },
6037
+ {
6038
+ name: "accounts",
6039
+ type: {
6040
+ vec: {
6041
+ defined: {
6042
+ name: "CallbackAccount"
6043
+ }
6044
+ }
6045
+ }
6046
+ }
6047
+ ]
6048
+ }
6049
+ },
5778
6050
  {
5779
6051
  name: "CircuitSource",
5780
6052
  type: {
@@ -6022,19 +6294,19 @@ var types = [
6022
6294
  }
6023
6295
  },
6024
6296
  {
6025
- name: "callback_accs",
6297
+ name: "callback_url",
6026
6298
  type: {
6027
- vec: {
6028
- defined: {
6029
- name: "CallbackAccount"
6030
- }
6031
- }
6299
+ option: "string"
6032
6300
  }
6033
6301
  },
6034
6302
  {
6035
- name: "callback_url",
6303
+ name: "custom_callback_instructions",
6036
6304
  type: {
6037
- option: "string"
6305
+ vec: {
6306
+ defined: {
6307
+ name: "CallbackInstruction"
6308
+ }
6309
+ }
6038
6310
  }
6039
6311
  },
6040
6312
  {
@@ -6123,15 +6395,6 @@ var types = [
6123
6395
  name: "ComputationSignature"
6124
6396
  }
6125
6397
  }
6126
- },
6127
- {
6128
- name: "callback_discriminator",
6129
- type: {
6130
- array: [
6131
- "u8",
6132
- 8
6133
- ]
6134
- }
6135
6398
  }
6136
6399
  ]
6137
6400
  }
@@ -6305,6 +6568,21 @@ var types = [
6305
6568
  ]
6306
6569
  }
6307
6570
  },
6571
+ {
6572
+ name: "counter",
6573
+ type: "u64"
6574
+ },
6575
+ {
6576
+ name: "execpool_index",
6577
+ type: {
6578
+ array: [
6579
+ "u64",
6580
+ {
6581
+ generic: "MAX_PARRALLEL_COMPUTATIONS"
6582
+ }
6583
+ ]
6584
+ }
6585
+ },
6308
6586
  {
6309
6587
  name: "currently_executing",
6310
6588
  type: {
@@ -6658,20 +6936,6 @@ var types = [
6658
6936
  ]
6659
6937
  }
6660
6938
  },
6661
- {
6662
- name: "MPCProtocol",
6663
- type: {
6664
- kind: "enum",
6665
- variants: [
6666
- {
6667
- name: "CERBERUS"
6668
- },
6669
- {
6670
- name: "MANTICORE"
6671
- }
6672
- ]
6673
- }
6674
- },
6675
6939
  {
6676
6940
  name: "MXEAccount",
6677
6941
  docs: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcium-hq/client",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Client SDK for interacting with encrypted Solana programs",
5
5
  "author": "Arcium",
6
6
  "license": "GPL-3.0-only",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@coral-xyz/anchor": "0.31",
64
- "@noble/curves": "^1.8.1",
64
+ "@noble/curves": "^1.9.5",
65
65
  "@noble/hashes": "^1.7.1",
66
66
  "@solana/web3.js": "^1.95.4"
67
67
  },