@inco/js 0.2.16 → 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/dist/cjs/attestedcompute/attested-compute.d.ts +38 -0
- package/dist/cjs/attestedcompute/attested-compute.js +98 -0
- package/dist/cjs/attestedcompute/types.d.ts +34 -0
- package/dist/cjs/attestedcompute/types.js +46 -0
- package/dist/{attesteddecrypt → cjs/attesteddecrypt}/attested-decrypt.d.ts +16 -11
- package/dist/cjs/attesteddecrypt/attested-decrypt.js +93 -0
- package/dist/cjs/attesteddecrypt/index.d.ts +2 -0
- package/dist/{generated/abis → cjs/attesteddecrypt}/index.js +3 -3
- package/dist/cjs/attesteddecrypt/types.d.ts +20 -0
- package/dist/{attesteddecrypt → cjs/attesteddecrypt}/types.js +1 -1
- package/dist/cjs/binary.js +82 -0
- package/dist/{chain.d.ts → cjs/chain.d.ts} +3 -0
- package/dist/cjs/chain.js +31 -0
- package/dist/{encryption → cjs/encryption}/encryption.d.ts +2 -2
- package/dist/cjs/encryption/encryption.js +109 -0
- package/dist/cjs/encryption/index.d.ts +1 -0
- package/dist/{encryption → cjs/encryption}/index.js +2 -2
- package/dist/{fhevm → cjs/fhevm}/fhe-environment.d.ts +1 -1
- package/dist/cjs/fhevm/fhe-environment.js +11 -0
- package/dist/{fhevm → cjs/fhevm}/fhevm.d.ts +1 -1
- package/dist/cjs/fhevm/fhevm.js +145 -0
- package/dist/cjs/fhevm/index.d.ts +1 -0
- package/dist/{fhevm → cjs/fhevm}/index.js +2 -2
- package/dist/{fhevm → cjs/fhevm}/reencrypt.d.ts +3 -3
- package/dist/cjs/fhevm/reencrypt.js +127 -0
- package/dist/{fhevm → cjs/fhevm}/tfhe.d.ts +1 -1
- package/dist/cjs/fhevm/tfhe.js +336 -0
- package/dist/{fhevm → cjs/fhevm}/types.d.ts +1 -1
- package/dist/cjs/fhevm/types.js +29 -0
- package/dist/cjs/generated/abis/addTwo.js +62 -0
- package/dist/cjs/generated/abis/inco-fhevm.js +681 -0
- package/dist/{generated → cjs/generated}/abis/lightning.d.ts +4 -0
- package/dist/cjs/generated/abis/lightning.js +1609 -0
- package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.js +6 -6
- package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.js +16 -16
- package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.js +4 -4
- package/dist/{generated → cjs/generated}/es/google/api/http_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/google/api/http_pb.js +6 -6
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.js +6 -6
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.js +11 -11
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.js +23 -23
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.js +23 -23
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.js +17 -17
- package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.d.ts +239 -33
- package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +161 -0
- package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.js +11 -11
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.js +6 -6
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.js +9 -9
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.js +11 -11
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.d.ts +1 -1
- package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.js +9 -9
- package/dist/{generated → cjs/generated}/fhe-environments.js +1 -1
- package/dist/{generated → cjs/generated}/lightning.d.ts +42 -0
- package/dist/{generated → cjs/generated}/lightning.js +45 -1
- package/dist/cjs/generated/local-node.d.ts +34 -0
- package/dist/cjs/generated/local-node.js +38 -0
- package/dist/{generated → cjs/generated}/ts/amino/amino.js +2 -2
- package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.js +49 -49
- package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +108 -0
- package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +433 -0
- package/dist/cjs/generated/ts/cometbft/types/v1/params.js +716 -0
- package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +358 -0
- package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +221 -0
- package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.js +2 -2
- package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +216 -0
- package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.js +2 -2
- package/dist/{generated → cjs/generated}/ts/google/api/annotations.js +2 -2
- package/dist/cjs/generated/ts/google/api/http.js +356 -0
- package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.js +35 -35
- package/dist/cjs/generated/ts/google/protobuf/duration.js +93 -0
- package/dist/cjs/generated/ts/google/protobuf/timestamp.js +93 -0
- package/dist/cjs/generated/ts/google/protobuf/wrappers.js +509 -0
- package/dist/cjs/generated/ts/inco/abci/v1/types.js +73 -0
- package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +66 -0
- package/dist/cjs/generated/ts/inco/fhe/v1/events.js +190 -0
- package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +714 -0
- package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.d.ts +19 -19
- package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.js +20 -20
- package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.d.ts +19 -19
- package/dist/cjs/generated/ts/inco/fhe/v1/tx.js +1236 -0
- package/dist/cjs/generated/ts/inco/fhe/v1/types.js +990 -0
- package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +66 -0
- package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +331 -0
- package/dist/cjs/generated/ts/inco/originchain/v1/events.js +216 -0
- package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +69 -0
- package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/query.d.ts +5 -5
- package/dist/cjs/generated/ts/inco/originchain/v1/query.js +280 -0
- package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/tx.d.ts +3 -3
- package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +140 -0
- package/dist/cjs/generated/ts/inco/originchain/v1/types.js +203 -0
- package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +66 -0
- package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +185 -0
- package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/query.d.ts +5 -5
- package/dist/cjs/generated/ts/inco/preflight/v1/query.js +259 -0
- package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/tx.d.ts +7 -7
- package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +448 -0
- package/dist/cjs/generated/ts/inco/preflight/v1/types.js +398 -0
- package/dist/{handle.d.ts → cjs/handle.d.ts} +1 -1
- package/dist/{handle.js → cjs/handle.js} +5 -5
- package/dist/cjs/index.d.ts +5 -0
- package/dist/{index.js → cjs/index.js} +5 -5
- package/dist/{kms → cjs/kms}/client.d.ts +2 -2
- package/dist/{kms → cjs/kms}/client.js +3 -3
- package/dist/{l1 → cjs/l1}/client.d.ts +6 -6
- package/dist/{l1 → cjs/l1}/client.js +8 -8
- package/dist/cjs/l1/index.d.ts +2 -0
- package/dist/{l1 → cjs/l1}/index.js +3 -3
- package/dist/{l1 → cjs/l1}/preflight.d.ts +3 -3
- package/dist/cjs/l1/preflight.js +42 -0
- package/dist/cjs/lite/attested-compute.d.ts +4 -0
- package/dist/cjs/lite/attested-compute.js +6 -0
- package/dist/{lite → cjs/lite}/attested-decrypt.d.ts +1 -1
- package/dist/cjs/lite/attested-decrypt.js +6 -0
- package/dist/{lite → cjs/lite}/deployments.d.ts +2 -2
- package/dist/cjs/lite/deployments.js +21 -0
- package/dist/{lite → cjs/lite}/ecies.d.ts +6 -6
- package/dist/cjs/lite/ecies.js +135 -0
- package/dist/{lite → cjs/lite}/hadu.d.ts +1 -1
- package/dist/cjs/lite/hadu.js +41 -0
- package/dist/cjs/lite/index.d.ts +7 -0
- package/dist/{attesteddecrypt → cjs/lite}/index.js +7 -3
- package/dist/{lite → cjs/lite}/lightning.d.ts +20 -9
- package/dist/cjs/lite/lightning.js +217 -0
- package/dist/{lite → cjs/lite}/reencrypt.d.ts +7 -6
- package/dist/cjs/lite/reencrypt.js +142 -0
- package/dist/cjs/local/index.d.ts +1 -0
- package/dist/{local → cjs/local}/index.js +2 -2
- package/dist/{local → cjs/local}/local-node.d.ts +4 -1
- package/dist/cjs/local/local-node.js +33 -0
- package/dist/{reencryption → cjs/reencryption}/eip712.js +9 -7
- package/dist/cjs/reencryption/index.d.ts +2 -0
- package/dist/cjs/reencryption/index.js +19 -0
- package/dist/{reencryption → cjs/reencryption}/types.d.ts +6 -8
- package/dist/{reencryption → cjs/reencryption}/types.js +1 -1
- package/dist/{retry.js → cjs/retry.js} +1 -1
- package/dist/{schema.js → cjs/schema.js} +1 -1
- package/dist/{viem.d.ts → cjs/viem.d.ts} +363 -1
- package/dist/cjs/viem.js +12 -0
- package/dist/esm/attestedcompute/attested-compute.d.ts +38 -0
- package/dist/esm/attestedcompute/attested-compute.js +95 -0
- package/dist/esm/attestedcompute/types.d.ts +34 -0
- package/dist/esm/attestedcompute/types.js +42 -0
- package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +40 -0
- package/dist/esm/attesteddecrypt/attested-decrypt.js +89 -0
- package/dist/esm/attesteddecrypt/index.d.ts +2 -0
- package/dist/esm/attesteddecrypt/index.js +3 -0
- package/dist/esm/attesteddecrypt/types.d.ts +20 -0
- package/dist/esm/attesteddecrypt/types.js +12 -0
- package/dist/esm/binary.d.ts +21 -0
- package/dist/esm/binary.js +67 -0
- package/dist/esm/chain.d.ts +25 -0
- package/dist/esm/chain.js +27 -0
- package/dist/esm/encryption/encryption.d.ts +119 -0
- package/dist/esm/encryption/encryption.js +101 -0
- package/dist/esm/encryption/index.d.ts +1 -0
- package/dist/esm/encryption/index.js +2 -0
- package/dist/esm/fhevm/fhe-environment.d.ts +9 -0
- package/dist/esm/fhevm/fhe-environment.js +8 -0
- package/dist/esm/fhevm/fhevm.d.ts +41 -0
- package/dist/esm/fhevm/fhevm.js +139 -0
- package/dist/esm/fhevm/index.d.ts +1 -0
- package/dist/esm/fhevm/index.js +2 -0
- package/dist/esm/fhevm/reencrypt.d.ts +20 -0
- package/dist/esm/fhevm/reencrypt.js +123 -0
- package/dist/esm/fhevm/tfhe.d.ts +74 -0
- package/dist/esm/fhevm/tfhe.js +328 -0
- package/dist/esm/fhevm/types.d.ts +3 -0
- package/dist/esm/fhevm/types.js +26 -0
- package/dist/esm/generated/abis/addTwo.d.ts +83 -0
- package/dist/{generated → esm/generated}/abis/addTwo.js +2 -5
- package/dist/esm/generated/abis/inco-fhevm.d.ts +874 -0
- package/dist/{generated → esm/generated}/abis/inco-fhevm.js +3 -6
- package/dist/esm/generated/abis/lightning.d.ts +2230 -0
- package/dist/{generated → esm/generated}/abis/lightning.js +6 -6
- package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
- package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
- package/dist/esm/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
- package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +115 -0
- package/dist/esm/generated/es/google/api/annotations_pb.d.ts +13 -0
- package/dist/esm/generated/es/google/api/annotations_pb.js +27 -0
- package/dist/esm/generated/es/google/api/http_pb.d.ts +440 -0
- package/dist/esm/generated/es/google/api/http_pb.js +34 -0
- package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
- package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +21 -0
- package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
- package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
- package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
- package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +108 -0
- package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
- package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +108 -0
- package/dist/esm/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
- package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +133 -0
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +526 -0
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +158 -0
- package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
- package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
- package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
- package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
- package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
- package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +38 -0
- package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
- package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +48 -0
- package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
- package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +34 -0
- package/dist/esm/generated/fhe-environments.d.ts +14 -0
- package/dist/esm/generated/fhe-environments.js +15 -0
- package/dist/esm/generated/lightning.d.ts +253 -0
- package/dist/esm/generated/lightning.js +267 -0
- package/dist/esm/generated/local-node.d.ts +34 -0
- package/dist/esm/generated/local-node.js +35 -0
- package/dist/esm/generated/ts/amino/amino.d.ts +1 -0
- package/dist/esm/generated/ts/amino/amino.js +8 -0
- package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
- package/dist/esm/generated/ts/cometbft/abci/v1/types.js +5063 -0
- package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
- package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +105 -0
- package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
- package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +430 -0
- package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +179 -0
- package/dist/esm/generated/ts/cometbft/types/v1/params.js +713 -0
- package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
- package/dist/esm/generated/ts/cometbft/types/v1/validator.js +353 -0
- package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
- package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
- package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
- package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +8 -0
- package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
- package/dist/esm/generated/ts/cosmos_proto/cosmos.js +211 -0
- package/dist/esm/generated/ts/gogoproto/gogo.d.ts +1 -0
- package/dist/esm/generated/ts/gogoproto/gogo.js +8 -0
- package/dist/esm/generated/ts/google/api/annotations.d.ts +1 -0
- package/dist/esm/generated/ts/google/api/annotations.js +8 -0
- package/dist/esm/generated/ts/google/api/http.d.ts +371 -0
- package/dist/esm/generated/ts/google/api/http.js +353 -0
- package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
- package/dist/esm/generated/ts/google/protobuf/descriptor.js +5070 -0
- package/dist/esm/generated/ts/google/protobuf/duration.d.ts +99 -0
- package/dist/esm/generated/ts/google/protobuf/duration.js +90 -0
- package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +128 -0
- package/dist/esm/generated/ts/google/protobuf/timestamp.js +90 -0
- package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +111 -0
- package/dist/esm/generated/ts/google/protobuf/wrappers.js +506 -0
- package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +35 -0
- package/dist/esm/generated/ts/inco/abci/v1/types.js +70 -0
- package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
- package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +63 -0
- package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +66 -0
- package/dist/esm/generated/ts/inco/fhe/v1/events.js +187 -0
- package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
- package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +711 -0
- package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +366 -0
- package/dist/esm/generated/ts/inco/fhe/v1/query.js +1391 -0
- package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
- package/dist/esm/generated/ts/inco/fhe/v1/tx.js +1233 -0
- package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +225 -0
- package/dist/esm/generated/ts/inco/fhe/v1/types.js +985 -0
- package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
- package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +63 -0
- package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
- package/dist/esm/generated/ts/inco/originchain/v1/abci.js +328 -0
- package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +60 -0
- package/dist/esm/generated/ts/inco/originchain/v1/events.js +213 -0
- package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
- package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +66 -0
- package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +116 -0
- package/dist/esm/generated/ts/inco/originchain/v1/query.js +277 -0
- package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
- package/dist/esm/generated/ts/inco/originchain/v1/tx.js +137 -0
- package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +58 -0
- package/dist/esm/generated/ts/inco/originchain/v1/types.js +200 -0
- package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
- package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +63 -0
- package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
- package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +182 -0
- package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +93 -0
- package/dist/esm/generated/ts/inco/preflight/v1/query.js +256 -0
- package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
- package/dist/esm/generated/ts/inco/preflight/v1/tx.js +445 -0
- package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +84 -0
- package/dist/esm/generated/ts/inco/preflight/v1/types.js +395 -0
- package/dist/esm/handle.d.ts +41 -0
- package/dist/esm/handle.js +94 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/kms/client.d.ts +8 -0
- package/dist/esm/kms/client.js +35 -0
- package/dist/esm/l1/client.d.ts +35 -0
- package/dist/esm/l1/client.js +93 -0
- package/dist/esm/l1/index.d.ts +2 -0
- package/dist/esm/l1/index.js +3 -0
- package/dist/esm/l1/preflight.d.ts +20 -0
- package/dist/esm/l1/preflight.js +39 -0
- package/dist/esm/lite/attested-compute.d.ts +4 -0
- package/dist/esm/lite/attested-compute.js +3 -0
- package/dist/esm/lite/attested-decrypt.d.ts +3 -0
- package/dist/esm/lite/attested-decrypt.js +3 -0
- package/dist/esm/lite/deployments.d.ts +6 -0
- package/dist/esm/lite/deployments.js +17 -0
- package/dist/esm/lite/ecies.d.ts +26 -0
- package/dist/esm/lite/ecies.js +124 -0
- package/dist/esm/lite/hadu.d.ts +24 -0
- package/dist/esm/lite/hadu.js +36 -0
- package/dist/esm/lite/index.d.ts +7 -0
- package/dist/esm/lite/index.js +7 -0
- package/dist/esm/lite/lightning.d.ts +132 -0
- package/dist/esm/lite/lightning.js +213 -0
- package/dist/esm/lite/reencrypt.d.ts +24 -0
- package/dist/esm/lite/reencrypt.js +132 -0
- package/dist/esm/local/index.d.ts +1 -0
- package/dist/esm/local/index.js +2 -0
- package/dist/esm/local/local-node.d.ts +22 -0
- package/dist/esm/local/local-node.js +29 -0
- package/dist/esm/reencryption/eip712.d.ts +29 -0
- package/dist/esm/reencryption/eip712.js +83 -0
- package/dist/esm/reencryption/index.d.ts +2 -0
- package/dist/esm/reencryption/index.js +3 -0
- package/dist/esm/reencryption/types.d.ts +25 -0
- package/dist/esm/reencryption/types.js +2 -0
- package/dist/esm/retry.d.ts +15 -0
- package/dist/esm/retry.js +25 -0
- package/dist/esm/schema.d.ts +4 -0
- package/dist/esm/schema.js +15 -0
- package/dist/esm/viem.d.ts +789 -0
- package/dist/esm/viem.js +8 -0
- package/dist/types/attestedcompute/attested-compute.d.ts +38 -0
- package/dist/types/attestedcompute/types.d.ts +34 -0
- package/dist/types/attesteddecrypt/attested-decrypt.d.ts +40 -0
- package/dist/types/attesteddecrypt/index.d.ts +2 -0
- package/dist/types/attesteddecrypt/types.d.ts +20 -0
- package/dist/types/binary.d.ts +21 -0
- package/dist/types/chain.d.ts +25 -0
- package/dist/types/encryption/encryption.d.ts +119 -0
- package/dist/types/encryption/index.d.ts +1 -0
- package/dist/types/fhevm/fhe-environment.d.ts +9 -0
- package/dist/types/fhevm/fhevm.d.ts +41 -0
- package/dist/types/fhevm/index.d.ts +1 -0
- package/dist/types/fhevm/reencrypt.d.ts +20 -0
- package/dist/types/fhevm/tfhe.d.ts +74 -0
- package/dist/types/fhevm/types.d.ts +3 -0
- package/dist/types/generated/abis/addTwo.d.ts +83 -0
- package/dist/types/generated/abis/inco-fhevm.d.ts +874 -0
- package/dist/types/generated/abis/lightning.d.ts +2230 -0
- package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
- package/dist/types/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
- package/dist/types/generated/es/google/api/annotations_pb.d.ts +13 -0
- package/dist/types/generated/es/google/api/http_pb.d.ts +440 -0
- package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
- package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
- package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
- package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
- package/dist/types/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
- package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +526 -0
- package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
- package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
- package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
- package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
- package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
- package/dist/types/generated/fhe-environments.d.ts +14 -0
- package/dist/types/generated/lightning.d.ts +253 -0
- package/dist/types/generated/local-node.d.ts +34 -0
- package/dist/types/generated/ts/amino/amino.d.ts +1 -0
- package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
- package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
- package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
- package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +179 -0
- package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
- package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
- package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
- package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
- package/dist/types/generated/ts/gogoproto/gogo.d.ts +1 -0
- package/dist/types/generated/ts/google/api/annotations.d.ts +1 -0
- package/dist/types/generated/ts/google/api/http.d.ts +371 -0
- package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
- package/dist/types/generated/ts/google/protobuf/duration.d.ts +99 -0
- package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +128 -0
- package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +111 -0
- package/dist/types/generated/ts/inco/abci/v1/types.d.ts +35 -0
- package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
- package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +66 -0
- package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
- package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +366 -0
- package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
- package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +225 -0
- package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
- package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
- package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +60 -0
- package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
- package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +116 -0
- package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
- package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +58 -0
- package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
- package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
- package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +93 -0
- package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
- package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +84 -0
- package/dist/types/handle.d.ts +41 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/kms/client.d.ts +8 -0
- package/dist/types/l1/client.d.ts +35 -0
- package/dist/types/l1/index.d.ts +2 -0
- package/dist/types/l1/preflight.d.ts +20 -0
- package/dist/types/lite/attested-compute.d.ts +4 -0
- package/dist/types/lite/attested-decrypt.d.ts +3 -0
- package/dist/types/lite/deployments.d.ts +6 -0
- package/dist/types/lite/ecies.d.ts +26 -0
- package/dist/types/lite/hadu.d.ts +24 -0
- package/dist/types/lite/index.d.ts +7 -0
- package/dist/types/lite/lightning.d.ts +132 -0
- package/dist/types/lite/reencrypt.d.ts +24 -0
- package/dist/types/local/index.d.ts +1 -0
- package/dist/types/local/local-node.d.ts +22 -0
- package/dist/types/reencryption/eip712.d.ts +29 -0
- package/dist/types/reencryption/index.d.ts +2 -0
- package/dist/types/reencryption/types.d.ts +25 -0
- package/dist/types/retry.d.ts +15 -0
- package/dist/types/schema.d.ts +4 -0
- package/dist/types/viem.d.ts +789 -0
- package/package.json +67 -15
- package/dist/attesteddecrypt/attested-decrypt.js +0 -79
- package/dist/attesteddecrypt/index.d.ts +0 -2
- package/dist/attesteddecrypt/types.d.ts +0 -28
- package/dist/binary.js +0 -82
- package/dist/chain.js +0 -28
- package/dist/encryption/encryption.js +0 -109
- package/dist/encryption/index.d.ts +0 -1
- package/dist/fhevm/fhe-environment.js +0 -11
- package/dist/fhevm/fhevm.js +0 -145
- package/dist/fhevm/index.d.ts +0 -1
- package/dist/fhevm/reencrypt.js +0 -127
- package/dist/fhevm/tfhe.js +0 -336
- package/dist/fhevm/types.js +0 -29
- package/dist/generated/abis/index.d.ts +0 -2
- package/dist/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +0 -593
- package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js +0 -201
- package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js +0 -66
- package/dist/generated/es/kms/base_pb.d.ts +0 -765
- package/dist/generated/es/kms/base_pb.js +0 -241
- package/dist/generated/es/sf/ethereum/type/v2/type_pb.d.ts +0 -1736
- package/dist/generated/es/sf/ethereum/type/v2/type_pb.js +0 -574
- package/dist/generated/local-node.d.ts +0 -7
- package/dist/generated/local-node.js +0 -11
- package/dist/generated/ts/cometbft/crypto/v1/keys.js +0 -108
- package/dist/generated/ts/cometbft/crypto/v1/proof.js +0 -433
- package/dist/generated/ts/cometbft/types/v1/params.js +0 -716
- package/dist/generated/ts/cometbft/types/v1/validator.js +0 -358
- package/dist/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
- package/dist/generated/ts/cosmos_proto/cosmos.js +0 -216
- package/dist/generated/ts/google/api/http.js +0 -356
- package/dist/generated/ts/google/protobuf/duration.js +0 -93
- package/dist/generated/ts/google/protobuf/timestamp.js +0 -93
- package/dist/generated/ts/google/protobuf/wrappers.js +0 -509
- package/dist/generated/ts/inco/abci/v1/types.js +0 -73
- package/dist/generated/ts/inco/fhe/module/v1/module.js +0 -66
- package/dist/generated/ts/inco/fhe/v1/events.js +0 -190
- package/dist/generated/ts/inco/fhe/v1/genesis.js +0 -714
- package/dist/generated/ts/inco/fhe/v1/tx.js +0 -1236
- package/dist/generated/ts/inco/fhe/v1/types.js +0 -990
- package/dist/generated/ts/inco/originchain/module/v1/module.js +0 -66
- package/dist/generated/ts/inco/originchain/v1/abci.js +0 -331
- package/dist/generated/ts/inco/originchain/v1/events.js +0 -216
- package/dist/generated/ts/inco/originchain/v1/genesis.js +0 -69
- package/dist/generated/ts/inco/originchain/v1/query.js +0 -280
- package/dist/generated/ts/inco/originchain/v1/tx.js +0 -140
- package/dist/generated/ts/inco/originchain/v1/types.js +0 -203
- package/dist/generated/ts/inco/preflight/module/v1/module.js +0 -66
- package/dist/generated/ts/inco/preflight/v1/genesis.js +0 -185
- package/dist/generated/ts/inco/preflight/v1/query.js +0 -259
- package/dist/generated/ts/inco/preflight/v1/tx.js +0 -448
- package/dist/generated/ts/inco/preflight/v1/types.js +0 -398
- package/dist/index.d.ts +0 -5
- package/dist/l1/index.d.ts +0 -2
- package/dist/l1/preflight.js +0 -42
- package/dist/lite/attested-decrypt.js +0 -6
- package/dist/lite/deployments.js +0 -21
- package/dist/lite/ecies.js +0 -135
- package/dist/lite/hadu.js +0 -41
- package/dist/lite/index.d.ts +0 -7
- package/dist/lite/index.js +0 -23
- package/dist/lite/lightning.js +0 -198
- package/dist/lite/reencrypt.js +0 -142
- package/dist/local/index.d.ts +0 -1
- package/dist/local/local-node.js +0 -28
- package/dist/reencryption/index.d.ts +0 -2
- package/dist/reencryption/index.js +0 -19
- package/dist/types.d.ts +0 -20
- package/dist/types.js +0 -3
- package/dist/viem.js +0 -12
- /package/dist/{binary.d.ts → cjs/binary.d.ts} +0 -0
- /package/dist/{generated → cjs/generated}/abis/addTwo.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/abis/inco-fhevm.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/fhe-environments.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/amino/amino.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/keys.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/proof.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/params.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/validator.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cosmos/app/v1alpha1/module.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/cosmos_proto/cosmos.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/google/api/annotations.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/google/api/http.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/google/protobuf/duration.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/google/protobuf/timestamp.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/google/protobuf/wrappers.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/abci/v1/types.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/fhe/module/v1/module.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/events.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/genesis.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/types.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/originchain/module/v1/module.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/abci.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/events.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/genesis.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/types.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/preflight/module/v1/module.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/genesis.d.ts +0 -0
- /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/types.d.ts +0 -0
- /package/dist/{reencryption → cjs/reencryption}/eip712.d.ts +0 -0
- /package/dist/{retry.d.ts → cjs/retry.d.ts} +0 -0
- /package/dist/{schema.d.ts → cjs/schema.d.ts} +0 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
import type { Account, Chain, Transport, WalletClient } from 'viem';
|
2
|
+
import { SupportedChainId } from '../chain.js';
|
3
|
+
import { EciesScheme } from '../encryption/encryption.js';
|
4
|
+
import type { KmsClient } from '../kms/client.js';
|
5
|
+
import { AttestedCompute } from './types.js';
|
6
|
+
/**
|
7
|
+
* Arguments for creating an attested compute.
|
8
|
+
*/
|
9
|
+
export interface IncoLiteAttestedComputeArgs {
|
10
|
+
/** The wallet used to interact with the blockchain and sign the compute request */
|
11
|
+
walletClient: WalletClient<Transport, Chain, Account>;
|
12
|
+
/** The KMS connect RPC endpoint or client instance */
|
13
|
+
kmsConnectRpcEndpointOrClient?: string | KmsClient;
|
14
|
+
/** The chain ID to use */
|
15
|
+
chainId: SupportedChainId;
|
16
|
+
}
|
17
|
+
/**
|
18
|
+
* Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
|
19
|
+
* @param args - The arguments for creating the attested compute function
|
20
|
+
* @returns A function that can perform binary operation on a handle and return an attestation
|
21
|
+
* @throws {AttestedComputeError} If the creation fails
|
22
|
+
*
|
23
|
+
* @todo Support multiple operations in a single request.
|
24
|
+
*
|
25
|
+
* @example
|
26
|
+
* ```typescript
|
27
|
+
* const compute = await incoLiteAttestedCompute({
|
28
|
+
* walletClient,
|
29
|
+
* chainId: sepolia,
|
30
|
+
* });
|
31
|
+
* const decryptionAttestation = await compute({
|
32
|
+
* lhsHandle: '0x...',
|
33
|
+
* op: AttestedComputeSupportedOps.Eq,
|
34
|
+
* rhsPlaintext: 1337n,
|
35
|
+
* });
|
36
|
+
* ```
|
37
|
+
*/
|
38
|
+
export declare function incoLiteAttestedCompute({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }: IncoLiteAttestedComputeArgs): AttestedCompute<EciesScheme>;
|
@@ -0,0 +1,98 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.incoLiteAttestedCompute = incoLiteAttestedCompute;
|
4
|
+
const viem_1 = require("viem");
|
5
|
+
const attested_decrypt_js_1 = require("../attesteddecrypt/attested-decrypt.js");
|
6
|
+
const binary_js_1 = require("../binary.js");
|
7
|
+
const chain_js_1 = require("../chain.js");
|
8
|
+
const encryption_js_1 = require("../encryption/encryption.js");
|
9
|
+
const handle_js_1 = require("../handle.js");
|
10
|
+
const client_js_1 = require("../kms/client.js");
|
11
|
+
const eip712_js_1 = require("../reencryption/eip712.js");
|
12
|
+
const retry_js_1 = require("../retry.js");
|
13
|
+
const types_js_1 = require("./types.js");
|
14
|
+
const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
|
15
|
+
const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
|
16
|
+
/**
|
17
|
+
* Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
|
18
|
+
* @param args - The arguments for creating the attested compute function
|
19
|
+
* @returns A function that can perform binary operation on a handle and return an attestation
|
20
|
+
* @throws {AttestedComputeError} If the creation fails
|
21
|
+
*
|
22
|
+
* @todo Support multiple operations in a single request.
|
23
|
+
*
|
24
|
+
* @example
|
25
|
+
* ```typescript
|
26
|
+
* const compute = await incoLiteAttestedCompute({
|
27
|
+
* walletClient,
|
28
|
+
* chainId: sepolia,
|
29
|
+
* });
|
30
|
+
* const decryptionAttestation = await compute({
|
31
|
+
* lhsHandle: '0x...',
|
32
|
+
* op: AttestedComputeSupportedOps.Eq,
|
33
|
+
* rhsPlaintext: 1337n,
|
34
|
+
* });
|
35
|
+
* ```
|
36
|
+
*/
|
37
|
+
function incoLiteAttestedCompute({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }) {
|
38
|
+
const kmsClient = (0, client_js_1.getKmsClient)(kmsConnectRpcEndpointOrClient || (0, client_js_1.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
|
39
|
+
return async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, }) {
|
40
|
+
try {
|
41
|
+
(0, attested_decrypt_js_1.validateHandle)(lhsHandle);
|
42
|
+
const rhsPlaintextBig = BigInt(rhsPlaintext);
|
43
|
+
// Create the EIP712 payload for the handles to decrypt
|
44
|
+
const eip712Payload = (0, eip712_js_1.createEIP712Payload)({
|
45
|
+
chainId: BigInt(chainId),
|
46
|
+
primaryType: 'AttestedComputeRequest',
|
47
|
+
primaryTypeFields: [
|
48
|
+
{ name: 'op', type: 'uint8' },
|
49
|
+
{ name: 'lhsHandle', type: 'bytes32' },
|
50
|
+
{ name: 'rhsPlaintext', type: 'bytes32' },
|
51
|
+
],
|
52
|
+
message: {
|
53
|
+
op: op,
|
54
|
+
lhsHandle: lhsHandle,
|
55
|
+
rhsPlaintext: (0, binary_js_1.bigintToBytes32)(rhsPlaintextBig),
|
56
|
+
},
|
57
|
+
domainName: ATTESTED_COMPUTE_DOMAIN_NAME,
|
58
|
+
domainVersion: ATTESTED_COMPUTE_DOMAIN_VERSION,
|
59
|
+
});
|
60
|
+
// Sign the EIP712 message
|
61
|
+
const eip712Signature = await walletClient.signTypedData(eip712Payload);
|
62
|
+
const rhsValueBytes = (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, (0, handle_js_1.getHandleType)(lhsHandle), rhsPlaintextBig);
|
63
|
+
const attestedComputeRequest = {
|
64
|
+
$typeName: 'inco.kms.lite.v1.AttestedComputeRequest',
|
65
|
+
userAddress: walletClient.account.address,
|
66
|
+
op: op,
|
67
|
+
lhsHandle: lhsHandle,
|
68
|
+
rhsPlaintext: rhsValueBytes.value.toString(16),
|
69
|
+
eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
|
70
|
+
};
|
71
|
+
const response = await (0, retry_js_1.retryWithBackoff)(async () => {
|
72
|
+
return await kmsClient.attestedCompute(attestedComputeRequest);
|
73
|
+
}, backoffConfig);
|
74
|
+
const decryptionAttestation = response.decryptionAttestation;
|
75
|
+
if (decryptionAttestation?.plaintext === undefined) {
|
76
|
+
throw new types_js_1.AttestedComputeError('No plaintext in response');
|
77
|
+
}
|
78
|
+
const computeResultHandle = response.decryptionAttestation?.handle;
|
79
|
+
if (!computeResultHandle) {
|
80
|
+
throw new types_js_1.AttestedComputeError('No compute result handle in response');
|
81
|
+
}
|
82
|
+
const handleType = (0, handle_js_1.getHandleType)(computeResultHandle);
|
83
|
+
const bigIntValue = (0, binary_js_1.bytesToBigInt)(decryptionAttestation.plaintext);
|
84
|
+
return {
|
85
|
+
handle: computeResultHandle,
|
86
|
+
plaintext: (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, handleType, bigIntValue),
|
87
|
+
covalidatorSignature: decryptionAttestation.signature,
|
88
|
+
};
|
89
|
+
}
|
90
|
+
catch (error) {
|
91
|
+
if (error instanceof types_js_1.AttestedComputeError) {
|
92
|
+
throw error;
|
93
|
+
}
|
94
|
+
throw new types_js_1.AttestedComputeError('Failed to perform attested compute', error);
|
95
|
+
}
|
96
|
+
};
|
97
|
+
}
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9EQSwwREFvRkM7QUF2SUQsK0JBQWtDO0FBQ2xDLGdGQUF3RTtBQUV4RSw0Q0FBeUU7QUFDekUsMENBQWtFO0FBQ2xFLCtEQUFrSDtBQUVsSCw0Q0FBNkM7QUFFN0MsZ0RBQXdFO0FBQ3hFLHlEQUFnRTtBQUVoRSwwQ0FBK0M7QUFDL0MseUNBQXNGO0FBRXRGLE1BQU0sNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7QUFDM0QsTUFBTSwrQkFBK0IsR0FBRyxPQUFPLENBQUM7QUFjaEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsRUFDdEMsNkJBQTZCLEVBQzdCLE9BQU8sRUFDUCxZQUFZLEdBQ2dCO0lBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUEsd0JBQVksRUFBQyw2QkFBNkIsSUFBSSxJQUFBLGtDQUFzQixFQUFDLElBQUEsNEJBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBILE9BQU8sS0FBSyxVQUFVLGVBQWUsQ0FBNkIsRUFDaEUsU0FBUyxFQUNULEVBQUUsRUFDRixZQUFZLEVBQ1osYUFBYSxHQU1kO1FBQ0MsSUFBSSxDQUFDO1lBQ0gsSUFBQSxvQ0FBYyxFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUU3Qyx1REFBdUQ7WUFDdkQsTUFBTSxhQUFhLEdBQUcsSUFBQSwrQkFBbUIsRUFBQztnQkFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLGlCQUFpQixFQUFFO29CQUNqQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFB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
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import type { DecryptionAttestation } from '../attesteddecrypt/types.js';
|
2
|
+
import { HexString } from '../binary.js';
|
3
|
+
import { EncryptionScheme, SupportedFheType } from '../encryption/encryption.js';
|
4
|
+
import { SupportedScalarBinaryOp } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
|
5
|
+
import type { BackoffConfig } from '../retry.js';
|
6
|
+
/**
|
7
|
+
* Supported attested compute operations.
|
8
|
+
*/
|
9
|
+
export declare const AttestedComputeSupportedOps: {
|
10
|
+
readonly Eq: SupportedScalarBinaryOp.FHE_EQ;
|
11
|
+
readonly Ne: SupportedScalarBinaryOp.FHE_NE;
|
12
|
+
readonly Ge: SupportedScalarBinaryOp.FHE_GE;
|
13
|
+
readonly Gt: SupportedScalarBinaryOp.FHE_GT;
|
14
|
+
readonly Le: SupportedScalarBinaryOp.FHE_LE;
|
15
|
+
readonly Lt: SupportedScalarBinaryOp.FHE_LT;
|
16
|
+
};
|
17
|
+
/**
|
18
|
+
* This type represents all the supported operations for attested compute.
|
19
|
+
*/
|
20
|
+
export type AttestedComputeOP = (typeof AttestedComputeSupportedOps)[keyof typeof AttestedComputeSupportedOps];
|
21
|
+
/**
|
22
|
+
* Custom error class for attested compute operations.
|
23
|
+
*/
|
24
|
+
export declare class AttestedComputeError extends Error {
|
25
|
+
readonly cause?: unknown | undefined;
|
26
|
+
constructor(message: string, cause?: unknown | undefined);
|
27
|
+
}
|
28
|
+
export type AttestedCompute<S extends EncryptionScheme> = <T extends SupportedFheType>(args: {
|
29
|
+
/** The handle to compute on */
|
30
|
+
lhsHandle: HexString;
|
31
|
+
op: AttestedComputeOP;
|
32
|
+
rhsPlaintext: bigint | boolean;
|
33
|
+
backoffConfig?: Partial<BackoffConfig>;
|
34
|
+
}) => Promise<DecryptionAttestation<S, T>>;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AttestedComputeError = exports.AttestedComputeSupportedOps = void 0;
|
4
|
+
const kms_service_pb_js_1 = require("../generated/es/inco/kms/lite/v1/kms_service_pb.js");
|
5
|
+
/**
|
6
|
+
* Supported attested compute operations.
|
7
|
+
*/
|
8
|
+
exports.AttestedComputeSupportedOps = {
|
9
|
+
/*
|
10
|
+
Add: SupportedScalarBinaryOp.FHE_ADD,
|
11
|
+
Sub: SupportedScalarBinaryOp.FHE_SUB,
|
12
|
+
Mul: SupportedScalarBinaryOp.FHE_MUL,
|
13
|
+
Div: SupportedScalarBinaryOp.FHE_DIV,
|
14
|
+
Rem: SupportedScalarBinaryOp.FHE_REM,
|
15
|
+
BitAnd: SupportedScalarBinaryOp.FHE_BIT_AND,
|
16
|
+
BitOr: SupportedScalarBinaryOp.FHE_BIT_OR,
|
17
|
+
BitXor: SupportedScalarBinaryOp.FHE_BIT_XOR,
|
18
|
+
Shl: SupportedScalarBinaryOp.FHE_SHL,
|
19
|
+
Shr: SupportedScalarBinaryOp.FHE_SHR,
|
20
|
+
Rotl: SupportedScalarBinaryOp.FHE_ROTL,
|
21
|
+
Rotr: SupportedScalarBinaryOp.FHE_ROTR,
|
22
|
+
*/
|
23
|
+
Eq: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_EQ,
|
24
|
+
Ne: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_NE,
|
25
|
+
Ge: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_GE,
|
26
|
+
Gt: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_GT,
|
27
|
+
Le: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_LE,
|
28
|
+
Lt: kms_service_pb_js_1.SupportedScalarBinaryOp.FHE_LT,
|
29
|
+
/*
|
30
|
+
Min: SupportedScalarBinaryOp.FHE_MIN,
|
31
|
+
Max: SupportedScalarBinaryOp.FHE_MAX,
|
32
|
+
*/
|
33
|
+
};
|
34
|
+
/**
|
35
|
+
* Custom error class for attested compute operations.
|
36
|
+
*/
|
37
|
+
class AttestedComputeError extends Error {
|
38
|
+
cause;
|
39
|
+
constructor(message, cause) {
|
40
|
+
super(message);
|
41
|
+
this.cause = cause;
|
42
|
+
this.name = 'AttestedComputeError';
|
43
|
+
}
|
44
|
+
}
|
45
|
+
exports.AttestedComputeError = AttestedComputeError;
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRjb21wdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDBGQUE2RjtBQUc3Rjs7R0FFRztBQUNVLFFBQUEsMkJBQTJCLEdBQUc7SUFDekM7Ozs7Ozs7Ozs7Ozs7TUFhRTtJQUNGLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSwyQ0FBdUIsQ0FBQyxNQUFNO0lBQ2xDOzs7TUFHRTtDQUNNLENBQUM7QUFPWDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsS0FBSztJQUczQjtJQUZsQixZQUNFLE9BQWUsRUFDQyxLQUFlO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFSRCxvREFRQyJ9
|
@@ -1,9 +1,14 @@
|
|
1
1
|
import type { Account, Chain, Transport, WalletClient } from 'viem';
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import
|
6
|
-
|
2
|
+
import { SupportedChainId } from '../chain.js';
|
3
|
+
import { EciesScheme } from '../encryption/encryption.js';
|
4
|
+
import type { KmsClient } from '../kms/client.js';
|
5
|
+
import { AttestedDecryptor } from './types.js';
|
6
|
+
/**
|
7
|
+
* Validates a handle format.
|
8
|
+
* @param handle - The handle to validate
|
9
|
+
* @throws {AttestedDecryptError} If the handle format is invalid
|
10
|
+
*/
|
11
|
+
export declare function validateHandle(handle: string): void;
|
7
12
|
/**
|
8
13
|
* Arguments for creating an attested decryptor.
|
9
14
|
*/
|
@@ -13,23 +18,23 @@ export interface IncoLiteAttestedDecryptorArgs {
|
|
13
18
|
/** The KMS connect RPC endpoint or client instance */
|
14
19
|
kmsConnectRpcEndpointOrClient?: string | KmsClient;
|
15
20
|
/** The chain ID to use */
|
16
|
-
chainId:
|
21
|
+
chainId: SupportedChainId;
|
17
22
|
}
|
18
23
|
/**
|
19
|
-
* Creates an attested decryptor that can decrypt handles
|
24
|
+
* Creates an attested decryptor that can decrypt handles with an attached attestation from the covalidator.
|
20
25
|
* @param args - The arguments for creating the decryptor
|
21
26
|
* @returns A function that can decrypt handles using attestation
|
22
27
|
* @throws {AttestedDecryptError} If the decryptor creation fails
|
23
28
|
*
|
29
|
+
* @todo Support multiple handles in a single request.
|
30
|
+
*
|
24
31
|
* @example
|
25
32
|
* ```typescript
|
26
33
|
* const decryptor = await incoLiteAttestedDecryptor({
|
27
34
|
* walletClient,
|
28
35
|
* chainId: sepolia,
|
29
36
|
* });
|
30
|
-
* const plaintext = await decryptor({ handle: '0x...' });
|
37
|
+
* const { plaintext, covalidatorSignature } = await decryptor({ handle: '0x...' });
|
31
38
|
* ```
|
32
39
|
*/
|
33
|
-
export declare function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }: IncoLiteAttestedDecryptorArgs):
|
34
|
-
handle: HexString;
|
35
|
-
}, backoffConfig?: Partial<BackoffConfig>) => Promise<PlaintextOf<EciesScheme, T>>)>;
|
40
|
+
export declare function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }: IncoLiteAttestedDecryptorArgs): AttestedDecryptor<EciesScheme>;
|
@@ -0,0 +1,93 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.validateHandle = validateHandle;
|
4
|
+
exports.incoLiteAttestedDecryptor = incoLiteAttestedDecryptor;
|
5
|
+
const viem_1 = require("viem");
|
6
|
+
const binary_js_1 = require("../binary.js");
|
7
|
+
const chain_js_1 = require("../chain.js");
|
8
|
+
const encryption_js_1 = require("../encryption/encryption.js");
|
9
|
+
const handle_js_1 = require("../handle.js");
|
10
|
+
const client_js_1 = require("../kms/client.js");
|
11
|
+
const eip712_js_1 = require("../reencryption/eip712.js");
|
12
|
+
const retry_js_1 = require("../retry.js");
|
13
|
+
const types_js_1 = require("./types.js");
|
14
|
+
const ATTESTED_DECRYPT_DOMAIN_NAME = 'IncoAttestedDecrypt';
|
15
|
+
const ATTESTED_DECRYPT_DOMAIN_VERSION = '0.1.0';
|
16
|
+
/**
|
17
|
+
* Validates a handle format.
|
18
|
+
* @param handle - The handle to validate
|
19
|
+
* @throws {AttestedDecryptError} If the handle format is invalid
|
20
|
+
*/
|
21
|
+
function validateHandle(handle) {
|
22
|
+
if (!handle.startsWith('0x') || handle.length !== 66) {
|
23
|
+
throw new types_js_1.AttestedDecryptError('Invalid handle format: must be a 32-byte hex string with 0x prefix');
|
24
|
+
}
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* Creates an attested decryptor that can decrypt handles with an attached attestation from the covalidator.
|
28
|
+
* @param args - The arguments for creating the decryptor
|
29
|
+
* @returns A function that can decrypt handles using attestation
|
30
|
+
* @throws {AttestedDecryptError} If the decryptor creation fails
|
31
|
+
*
|
32
|
+
* @todo Support multiple handles in a single request.
|
33
|
+
*
|
34
|
+
* @example
|
35
|
+
* ```typescript
|
36
|
+
* const decryptor = await incoLiteAttestedDecryptor({
|
37
|
+
* walletClient,
|
38
|
+
* chainId: sepolia,
|
39
|
+
* });
|
40
|
+
* const { plaintext, covalidatorSignature } = await decryptor({ handle: '0x...' });
|
41
|
+
* ```
|
42
|
+
*/
|
43
|
+
function incoLiteAttestedDecryptor({ kmsConnectRpcEndpointOrClient, chainId, walletClient, }) {
|
44
|
+
const kmsClient = (0, client_js_1.getKmsClient)(kmsConnectRpcEndpointOrClient || (0, client_js_1.defaultCovalidatorGrpc)((0, chain_js_1.getSupportedChain)(chainId)));
|
45
|
+
return async function attestedDecrypt({ handle, backoffConfig, }) {
|
46
|
+
try {
|
47
|
+
validateHandle(handle);
|
48
|
+
// Create the EIP712 payload for the handles to decrypt
|
49
|
+
const eip712Payload = (0, eip712_js_1.createEIP712Payload)({
|
50
|
+
chainId: BigInt(chainId),
|
51
|
+
primaryType: 'AttestedDecryptRequest',
|
52
|
+
primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
|
53
|
+
message: {
|
54
|
+
handles: [handle],
|
55
|
+
},
|
56
|
+
domainName: ATTESTED_DECRYPT_DOMAIN_NAME,
|
57
|
+
domainVersion: ATTESTED_DECRYPT_DOMAIN_VERSION,
|
58
|
+
});
|
59
|
+
// Sign the EIP712 message
|
60
|
+
const eip712Signature = await walletClient.signTypedData(eip712Payload);
|
61
|
+
const attestedDecryptRequest = {
|
62
|
+
$typeName: 'inco.kms.lite.v1.AttestedDecryptRequest',
|
63
|
+
userAddress: walletClient.account.address,
|
64
|
+
handles: [handle],
|
65
|
+
eip712Signature: (0, viem_1.hexToBytes)(eip712Signature),
|
66
|
+
};
|
67
|
+
const response = await (0, retry_js_1.retryWithBackoff)(async () => {
|
68
|
+
return await kmsClient.attestedDecrypt(attestedDecryptRequest);
|
69
|
+
}, backoffConfig);
|
70
|
+
if (response.decryptionAttestations.length !== 1) {
|
71
|
+
throw new types_js_1.AttestedDecryptError('Expected 1 decryption attestation in response');
|
72
|
+
}
|
73
|
+
const decryptionAttestation = response.decryptionAttestations[0];
|
74
|
+
if (decryptionAttestation.plaintext === undefined) {
|
75
|
+
throw new types_js_1.AttestedDecryptError('No plaintext in response');
|
76
|
+
}
|
77
|
+
const handleType = (0, handle_js_1.getHandleType)(handle);
|
78
|
+
const bigIntValue = (0, binary_js_1.bytesToBigInt)(decryptionAttestation.plaintext);
|
79
|
+
return {
|
80
|
+
handle: decryptionAttestation.handle,
|
81
|
+
plaintext: (0, encryption_js_1.bigintToPlaintext)(encryption_js_1.encryptionSchemes.ecies, handleType, bigIntValue),
|
82
|
+
covalidatorSignature: decryptionAttestation.signature,
|
83
|
+
};
|
84
|
+
}
|
85
|
+
catch (error) {
|
86
|
+
if (error instanceof types_js_1.AttestedDecryptError) {
|
87
|
+
throw error;
|
88
|
+
}
|
89
|
+
throw new types_js_1.AttestedDecryptError('Failed to decrypt handle', error);
|
90
|
+
}
|
91
|
+
};
|
92
|
+
}
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGRlY3J5cHQvYXR0ZXN0ZWQtZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNCQSx3Q0FJQztBQStCRCw4REFvRUM7QUE1SEQsK0JBQWtDO0FBQ2xDLDRDQUF3RDtBQUN4RCwwQ0FBa0U7QUFDbEUsK0RBQWtIO0FBRWxILDRDQUE2QztBQUU3QyxnREFBd0U7QUFDeEUseURBQWdFO0FBRWhFLDBDQUErQztBQUMvQyx5Q0FBNEY7QUFFNUYsTUFBTSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUMzRCxNQUFNLCtCQUErQixHQUFHLE9BQU8sQ0FBQztBQUVoRDs7OztHQUlHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLE1BQWM7SUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxNQUFNLElBQUksK0JBQW9CLENBQUMsb0VBQW9FLENBQUMsQ0FBQztJQUN2RyxDQUFDO0FBQ0gsQ0FBQztBQWNEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IseUJBQXlCLENBQUMsRUFDeEMsNkJBQTZCLEVBQzdCLE9BQU8sRUFDUCxZQUFZLEdBQ2tCO0lBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUEsd0JBQVksRUFBQyw2QkFBNkIsSUFBSSxJQUFBLGtDQUFzQixFQUFDLElBQUEsNEJBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBILE9BQU8sS0FBSyxVQUFVLGVBQWUsQ0FBNkIsRUFDaEUsTUFBTSxFQUNOLGFBQWEsR0FJZDtRQUNDLElBQUksQ0FBQztZQUNILGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV2Qix1REFBdUQ7WUFDdkQsTUFBTSxhQUFhLEdBQUcsSUFBQSwrQkFBbUIsRUFBQztnQkFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDM0QsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztpQkFDbEI7Z0JBQ0QsVUFBVSxFQUFFLDRCQUE0QjtnQkFDeEMsYUFBYSxFQUFFLCtCQUErQjthQUMvQyxDQUFDLENBQUM7WUFFSCwwQkFBMEI7WUFDMUIsTUFBTSxlQUFlLEdBQUcsTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXhFLE1BQU0sc0JBQXNCLEdBQTJCO2dCQUNyRCxTQUFTLEVBQUUseUNBQXlDO2dCQUNwRCxXQUFXLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUN6QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pCLGVBQWUsRUFBRSxJQUFBLGlCQUFVLEVBQUMsZUFBZSxDQUFDO2FBQzdDLENBQUM7WUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMkJBQWdCLEVBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2pELE9BQU8sTUFBTSxTQUFTLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDakUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBRWxCLElBQUksUUFBUSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxJQUFJLCtCQUFvQixDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDbEYsQ0FBQztZQUVELE1BQU0scUJBQXFCLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpFLElBQUkscUJBQXFCLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLElBQUksK0JBQW9CLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBYSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQWEsRUFBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVuRSxPQUFPO2dCQUNMLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxNQUFtQjtnQkFDakQsU0FBUyxFQUFFLElBQUEsaUNBQWlCLEVBQUMsaUNBQWlCLENBQUMsS0FBSyxFQUFFLFVBQWUsRUFBRSxXQUFXLENBQUM7Z0JBQ25GLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDLFNBQVM7YUFDdEQsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxLQUFLLFlBQVksK0JBQW9CLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxLQUFLLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxJQUFJLCtCQUFvQixDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./
|
18
|
-
__exportStar(require("./
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
17
|
+
__exportStar(require("./attested-decrypt.js"), exports);
|
18
|
+
__exportStar(require("./types.js"), exports);
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRkZWNyeXB0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBc0M7QUFDdEMsNkNBQTJCIn0=
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { HexString } from '../binary.js';
|
2
|
+
import { EncryptionScheme, PlaintextOf, SupportedFheType } from '../encryption/encryption.js';
|
3
|
+
import type { BackoffConfig } from '../retry.js';
|
4
|
+
/**
|
5
|
+
* Custom error class for attested decrypt operations.
|
6
|
+
*/
|
7
|
+
export declare class AttestedDecryptError extends Error {
|
8
|
+
readonly cause?: unknown | undefined;
|
9
|
+
constructor(message: string, cause?: unknown | undefined);
|
10
|
+
}
|
11
|
+
export type DecryptionAttestation<S extends EncryptionScheme, T extends SupportedFheType> = {
|
12
|
+
handle: HexString;
|
13
|
+
plaintext: PlaintextOf<S, T>;
|
14
|
+
covalidatorSignature: Uint8Array;
|
15
|
+
};
|
16
|
+
export type AttestedDecryptor<S extends EncryptionScheme> = <T extends SupportedFheType>(args: {
|
17
|
+
/** The handle to decrypt */
|
18
|
+
handle: HexString;
|
19
|
+
backoffConfig?: Partial<BackoffConfig>;
|
20
|
+
}) => Promise<DecryptionAttestation<S, T>>;
|
@@ -13,4 +13,4 @@ class AttestedDecryptError extends Error {
|
|
13
13
|
}
|
14
14
|
}
|
15
15
|
exports.AttestedDecryptError = AttestedDecryptError;
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRkZWNyeXB0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBRzNCO0lBRmxCLFlBQ0UsT0FBZSxFQUNDLEtBQWU7UUFFL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRkMsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQVJELG9EQVFDIn0=
|
@@ -0,0 +1,82 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Address = exports.Bytes32 = exports.HexString = void 0;
|
4
|
+
exports.bytesToBigInt = bytesToBigInt;
|
5
|
+
exports.bufferToBigInt = bufferToBigInt;
|
6
|
+
exports.bigintToBytes32 = bigintToBytes32;
|
7
|
+
exports.padLeft = padLeft;
|
8
|
+
exports.bytes32ToBigint = bytes32ToBigint;
|
9
|
+
exports.bytesFromHexString = bytesFromHexString;
|
10
|
+
exports.mustBeHex = mustBeHex;
|
11
|
+
exports.normaliseToHex = normaliseToHex;
|
12
|
+
exports.bytesToHex = bytesToHex;
|
13
|
+
exports.asBytes32 = asBytes32;
|
14
|
+
exports.parseAddress = parseAddress;
|
15
|
+
exports.parseHex = parseHex;
|
16
|
+
const effect_1 = require("effect");
|
17
|
+
const viem_1 = require("viem");
|
18
|
+
const schema_js_1 = require("./schema.js");
|
19
|
+
exports.HexString = effect_1.Schema.TemplateLiteral('0x', effect_1.Schema.String);
|
20
|
+
function bytesToBigInt(byteArray) {
|
21
|
+
// Ugly but better than bigint-buffer that insists on writing junk to stderr if it doesn't have native bindings
|
22
|
+
return !byteArray?.length ? BigInt(0) : BigInt('0x' + Buffer.from(byteArray).toString('hex'));
|
23
|
+
}
|
24
|
+
function bufferToBigInt(buffer) {
|
25
|
+
return bytesToBigInt(Uint8Array.from(buffer));
|
26
|
+
}
|
27
|
+
// Convert a bigint to a 32-byte array, left-padded if necessary. Note: it is
|
28
|
+
// caller's responsibility to ensure that the bigint is not too large to fit in
|
29
|
+
// 32 bytes, or else the result will be truncated.
|
30
|
+
function bigintToBytes32(value) {
|
31
|
+
return (0, schema_js_1.parse)(exports.Bytes32, Buffer.from(value.toString(16).padStart(64, '0'), 'hex').toString('hex'));
|
32
|
+
}
|
33
|
+
function padLeft(bs, n) {
|
34
|
+
if (bs.length > n) {
|
35
|
+
throw new Error(`Cannot pad ${bs.length} bytes to ${n} - would truncate`);
|
36
|
+
}
|
37
|
+
const buf = Buffer.alloc(n);
|
38
|
+
buf.set(bs, n - bs.length);
|
39
|
+
return buf;
|
40
|
+
}
|
41
|
+
function bytes32ToBigint(bs) {
|
42
|
+
const bytes32 = asBytes32(bs);
|
43
|
+
return BigInt(bytes32);
|
44
|
+
}
|
45
|
+
function bytesFromHexString(hexString) {
|
46
|
+
return Buffer.from(hexString.startsWith('0x') ? hexString.slice(2) : hexString, 'hex');
|
47
|
+
}
|
48
|
+
function mustBeHex(value) {
|
49
|
+
if (!(0, viem_1.isHex)(value)) {
|
50
|
+
throw new Error(`Expected hex string, got: ${value}`);
|
51
|
+
}
|
52
|
+
return value;
|
53
|
+
}
|
54
|
+
function normaliseToHex(value) {
|
55
|
+
return mustBeHex(value.startsWith('0x') ? value : `0x${value}`);
|
56
|
+
}
|
57
|
+
function bytesToHex(bs) {
|
58
|
+
return ('0x' + Buffer.from(bs).toString('hex'));
|
59
|
+
}
|
60
|
+
const ByteArray = effect_1.Schema.Object.pipe(effect_1.Schema.filter((x) => x instanceof Uint8Array));
|
61
|
+
const BytesToHex = effect_1.Schema.transformOrFail(effect_1.Schema.Union(effect_1.Schema.String, ByteArray), exports.HexString, {
|
62
|
+
strict: true,
|
63
|
+
encode: effect_1.ParseResult.succeed,
|
64
|
+
decode: (x) => x instanceof Uint8Array
|
65
|
+
? effect_1.ParseResult.succeed(bytesToHex(x))
|
66
|
+
: ((y) => (0, viem_1.isHex)(y)
|
67
|
+
? effect_1.ParseResult.succeed(y)
|
68
|
+
: effect_1.ParseResult.fail(new effect_1.ParseResult.Unexpected(y, `'${y}' is not a hex string`)))(normaliseToHex(x)),
|
69
|
+
});
|
70
|
+
exports.Bytes32 = BytesToHex.pipe(effect_1.Schema.filter((x) => x.length === 66 ||
|
71
|
+
`Expected 32-byte hex string (66 characters with 0x prefix) but got ${x.length} character string`), effect_1.Schema.brand('Bytes32'));
|
72
|
+
function asBytes32(x) {
|
73
|
+
return (0, schema_js_1.parse)(exports.Bytes32, x);
|
74
|
+
}
|
75
|
+
exports.Address = exports.HexString.pipe(effect_1.Schema.filter((s) => s.length === 42 || `Address must be a 20-byte '0x'-prefixed hex string, but got: ${s}`), effect_1.Schema.brand('Address'));
|
76
|
+
function parseAddress(address) {
|
77
|
+
return (0, schema_js_1.parse)(exports.Address, address);
|
78
|
+
}
|
79
|
+
function parseHex(hex) {
|
80
|
+
return (0, schema_js_1.parse)(exports.HexString, hex);
|
81
|
+
}
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSxzQ0FHQztBQUVELHdDQUVDO0FBS0QsMENBRUM7QUFFRCwwQkFPQztBQUVELDBDQUdDO0FBRUQsZ0RBRUM7QUFFRCw4QkFLQztBQUVELHdDQUVDO0FBRUQsZ0NBRUM7QUEyQkQsOEJBRUM7QUFXRCxvQ0FFQztBQUVELDRCQUVDO0FBdkdELG1DQUE2QztBQUM3QywrQkFBa0M7QUFDbEMsMkNBQW9DO0FBRXZCLFFBQUEsU0FBUyxHQUFHLGVBQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQU1yRSxTQUFnQixhQUFhLENBQUMsU0FBcUI7SUFDakQsK0dBQStHO0lBQy9HLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRyxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLE1BQWM7SUFDM0MsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsK0VBQStFO0FBQy9FLGtEQUFrRDtBQUNsRCxTQUFnQixlQUFlLENBQUMsS0FBYTtJQUMzQyxPQUFPLElBQUEsaUJBQUssRUFBQyxlQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxD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
|
@@ -2,6 +2,9 @@ export declare const supportedChains: {
|
|
2
2
|
readonly baseSepolia: 84532;
|
3
3
|
readonly sepolia: 11155111;
|
4
4
|
readonly monadTestnet: 10143;
|
5
|
+
readonly plasmaTestnet: 9746;
|
6
|
+
readonly worldchainSepolia: 4801;
|
7
|
+
readonly anvil: 31337;
|
5
8
|
};
|
6
9
|
export declare const fheSupportedChains: {
|
7
10
|
readonly baseSepolia: 84532;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
// No imports here to avoid issues with closures and modules across pulumi boundary
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.fheSupportedChains = exports.supportedChains = void 0;
|
5
|
+
exports.getSupportedChain = getSupportedChain;
|
6
|
+
// This file can be seen as mirroring the functionality of viem changes without depending on it directly.
|
7
|
+
// It exists as a workaround for some very gnarly issues with code reuse between Pulumi and this module, partly
|
8
|
+
// relating to modules but also linked to Pulumi's ability to capture closures and serialise them.
|
9
|
+
exports.supportedChains = {
|
10
|
+
baseSepolia: 84532,
|
11
|
+
sepolia: 11155111,
|
12
|
+
monadTestnet: 10143,
|
13
|
+
plasmaTestnet: 9746,
|
14
|
+
worldchainSepolia: 4801,
|
15
|
+
anvil: 31337,
|
16
|
+
};
|
17
|
+
exports.fheSupportedChains = { baseSepolia: 84532, sepolia: 11155111 };
|
18
|
+
// Get supportedChain either by its chain ID or the short name (lower pascal case)
|
19
|
+
function getSupportedChain(chainish) {
|
20
|
+
const found = typeof chainish === 'number' || typeof chainish === 'bigint'
|
21
|
+
? Object.entries(exports.supportedChains).find(([, id]) => id === Number(chainish))
|
22
|
+
: typeof chainish === 'object'
|
23
|
+
? Object.entries(exports.supportedChains).find(([, id]) => id === Number(chainish.id))
|
24
|
+
: Object.entries(exports.supportedChains).find(([shortName]) => shortName === chainish);
|
25
|
+
if (!found) {
|
26
|
+
throw new Error(`Supported chain ${chainish} not found`);
|
27
|
+
}
|
28
|
+
const [name, id] = found;
|
29
|
+
return { name: name, id };
|
30
|
+
}
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1GQUFtRjs7O0FBOEJuRiw4Q0FZQztBQXhDRCx5R0FBeUc7QUFDekcsK0dBQStHO0FBQy9HLGtHQUFrRztBQUVyRixRQUFBLGVBQWUsR0FBRztJQUM3QixXQUFXLEVBQUUsS0FBSztJQUNsQixPQUFPLEVBQUUsUUFBUTtJQUNqQixZQUFZLEVBQUUsS0FBSztJQUNuQixhQUFhLEVBQUUsSUFBSTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLEtBQUssRUFBRSxLQUFLO0NBQ0osQ0FBQztBQUVFLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQVcsQ0FBQztBQWNyRixrRkFBa0Y7QUFDbEYsU0FBZ0IsaUJBQWlCLENBQUMsUUFBa0I7SUFDbEQsTUFBTSxLQUFLLEdBQ1QsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDMUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUTtZQUM1QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5RSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ3RGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLFFBQVEsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBMEIsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUNsRCxDQUFDIn0=
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Schema } from 'effect';
|
2
|
-
import { Bytes32 } from '../binary';
|
3
|
-
import { InputContext } from '../handle';
|
2
|
+
import { Bytes32 } from '../binary.js';
|
3
|
+
import { InputContext } from '../handle.js';
|
4
4
|
export type Encryptor<S extends EncryptionScheme = EncryptionScheme> = <T extends SupportedFheType>(plaintext: PlaintextWithContextOf<S, T>) => Promise<EncryptResultOf<S, T>>;
|
5
5
|
export type Decryptor<S extends EncryptionScheme = EncryptionScheme> = <T extends SupportedFheType>(ciphertext: CiphertextOf<S, T>, context?: InputContext) => Promise<PlaintextOf<S, T>>;
|
6
6
|
export declare const supportedFheTypes: {
|