@inco/js 0.3.2 → 0.5.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/README.md +4 -1
- package/dist/cjs/advancedacl/session-key.d.ts +30 -1
- package/dist/cjs/advancedacl/session-key.js +222 -54
- package/dist/cjs/attestedcompute/attested-compute.d.ts +2 -0
- package/dist/cjs/attestedcompute/attested-compute.js +19 -10
- package/dist/cjs/attestedcompute/types.d.ts +3 -2
- package/dist/cjs/attestedcompute/types.js +1 -1
- package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +2 -0
- package/dist/cjs/attesteddecrypt/attested-decrypt.js +31 -13
- package/dist/cjs/attesteddecrypt/types.d.ts +3 -2
- package/dist/cjs/attesteddecrypt/types.js +1 -1
- package/dist/cjs/attestedreveal/attested-reveal.d.ts +21 -0
- package/dist/cjs/attestedreveal/attested-reveal.js +67 -0
- package/dist/cjs/attestedreveal/index.d.ts +1 -0
- package/dist/cjs/{fhevm → attestedreveal}/index.js +2 -2
- package/dist/cjs/attestedreveal/types.d.ts +7 -0
- package/dist/cjs/attestedreveal/types.js +16 -0
- package/dist/cjs/binary.js +6 -3
- package/dist/cjs/chain.js +5 -2
- package/dist/cjs/encryption/encryption.js +1 -1
- package/dist/cjs/generated/abis/TestElist.d.ts +247 -0
- package/dist/cjs/generated/abis/TestElist.js +152 -0
- package/dist/cjs/generated/abis/addTwo.d.ts +12 -30
- package/dist/cjs/generated/abis/addTwo.js +7 -18
- package/dist/cjs/generated/abis/lightning-preview.d.ts +98 -979
- package/dist/cjs/generated/abis/lightning-preview.js +100 -635
- package/dist/cjs/generated/abis/lightning.d.ts +80 -425
- package/dist/cjs/generated/abis/lightning.js +64 -317
- package/dist/{esm/generated/abis/inco-fhevm.d.ts → cjs/generated/abis/verifier.d.ts} +610 -468
- package/dist/cjs/generated/abis/verifier.js +704 -0
- package/dist/cjs/generated/es/cosmos_proto/cosmos_pb.js +1 -1
- package/dist/cjs/generated/es/inco/fhe/v1/types_pb.js +1 -1
- package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
- package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +18 -8
- package/dist/cjs/generated/es/inco/kms/lite/v1/types_pb.js +1 -1
- package/dist/cjs/generated/lightning.d.ts +31 -10
- package/dist/cjs/generated/lightning.js +33 -11
- package/dist/cjs/handle.d.ts +1 -1
- package/dist/cjs/handle.js +5 -3
- package/dist/cjs/kms/client.js +1 -1
- package/dist/cjs/lite/attested-compute.d.ts +6 -3
- package/dist/cjs/lite/attested-compute.js +7 -1
- package/dist/cjs/lite/attested-decrypt.d.ts +2 -0
- package/dist/cjs/lite/attested-decrypt.js +5 -1
- package/dist/cjs/lite/deployments.js +1 -1
- package/dist/cjs/lite/ecies.d.ts +2 -2
- package/dist/cjs/lite/ecies.js +3 -3
- package/dist/cjs/lite/hadu.d.ts +1 -1
- package/dist/cjs/lite/hadu.js +2 -2
- package/dist/cjs/lite/index.d.ts +4 -1
- package/dist/cjs/lite/index.js +3 -1
- package/dist/cjs/lite/lightning.d.ts +33 -1
- package/dist/cjs/lite/lightning.js +60 -47
- package/dist/cjs/lite/reencrypt.d.ts +0 -1
- package/dist/cjs/lite/reencrypt.js +10 -21
- package/dist/cjs/local/local-node.js +38 -3
- package/dist/cjs/reencryption/eip712.d.ts +2 -2
- package/dist/cjs/reencryption/eip712.js +2 -11
- package/dist/cjs/reencryption/types.d.ts +1 -2
- package/dist/cjs/retry.d.ts +1 -1
- package/dist/cjs/retry.js +2 -2
- package/dist/cjs/schema.js +1 -1
- package/dist/cjs/viem.d.ts +12 -15
- package/dist/cjs/viem.js +9 -2
- package/dist/esm/advancedacl/session-key.d.ts +30 -1
- package/dist/esm/advancedacl/session-key.js +218 -52
- package/dist/esm/attestedcompute/attested-compute.d.ts +2 -0
- package/dist/esm/attestedcompute/attested-compute.js +17 -9
- package/dist/esm/attestedcompute/types.d.ts +3 -2
- package/dist/esm/attestedcompute/types.js +1 -1
- package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +2 -0
- package/dist/esm/attesteddecrypt/attested-decrypt.js +29 -12
- package/dist/esm/attesteddecrypt/types.d.ts +3 -2
- package/dist/esm/attesteddecrypt/types.js +1 -1
- package/dist/esm/attestedreveal/attested-reveal.d.ts +21 -0
- package/dist/esm/attestedreveal/attested-reveal.js +64 -0
- package/dist/esm/attestedreveal/index.d.ts +1 -0
- package/dist/esm/attestedreveal/index.js +2 -0
- package/dist/esm/attestedreveal/types.d.ts +7 -0
- package/dist/esm/attestedreveal/types.js +12 -0
- package/dist/esm/binary.js +6 -3
- package/dist/esm/chain.js +5 -2
- package/dist/esm/encryption/encryption.js +1 -1
- package/dist/esm/generated/abis/TestElist.d.ts +247 -0
- package/dist/esm/generated/abis/TestElist.js +149 -0
- package/dist/esm/generated/abis/addTwo.d.ts +12 -30
- package/dist/esm/generated/abis/addTwo.js +7 -18
- package/dist/esm/generated/abis/lightning-preview.d.ts +98 -979
- package/dist/esm/generated/abis/lightning-preview.js +100 -635
- package/dist/esm/generated/abis/lightning.d.ts +80 -425
- package/dist/esm/generated/abis/lightning.js +64 -317
- package/dist/{cjs/generated/abis/inco-fhevm.d.ts → esm/generated/abis/verifier.d.ts} +610 -468
- package/dist/esm/generated/abis/verifier.js +701 -0
- package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +1 -1
- package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +1 -1
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
- package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +17 -7
- package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +1 -1
- package/dist/esm/generated/lightning.d.ts +31 -10
- package/dist/esm/generated/lightning.js +33 -11
- package/dist/esm/handle.d.ts +1 -1
- package/dist/esm/handle.js +5 -3
- package/dist/esm/kms/client.js +1 -1
- package/dist/esm/lite/attested-compute.d.ts +6 -3
- package/dist/esm/lite/attested-compute.js +4 -2
- package/dist/esm/lite/attested-decrypt.d.ts +2 -0
- package/dist/esm/lite/attested-decrypt.js +3 -2
- package/dist/esm/lite/deployments.js +1 -1
- package/dist/esm/lite/ecies.d.ts +2 -2
- package/dist/esm/lite/ecies.js +4 -4
- package/dist/esm/lite/hadu.d.ts +1 -1
- package/dist/esm/lite/hadu.js +2 -2
- package/dist/esm/lite/index.d.ts +4 -1
- package/dist/esm/lite/index.js +3 -1
- package/dist/esm/lite/lightning.d.ts +33 -1
- package/dist/esm/lite/lightning.js +63 -50
- package/dist/esm/lite/reencrypt.d.ts +0 -1
- package/dist/esm/lite/reencrypt.js +13 -23
- package/dist/esm/local/local-node.js +38 -3
- package/dist/esm/reencryption/eip712.d.ts +2 -2
- package/dist/esm/reencryption/eip712.js +2 -11
- package/dist/esm/reencryption/types.d.ts +1 -2
- package/dist/esm/retry.d.ts +1 -1
- package/dist/esm/retry.js +2 -2
- package/dist/esm/schema.js +1 -1
- package/dist/esm/viem.d.ts +12 -15
- package/dist/esm/viem.js +10 -3
- package/dist/types/advancedacl/session-key.d.ts +30 -1
- package/dist/types/attestedcompute/attested-compute.d.ts +2 -0
- package/dist/types/attestedcompute/types.d.ts +3 -2
- package/dist/types/attesteddecrypt/attested-decrypt.d.ts +2 -0
- package/dist/types/attesteddecrypt/types.d.ts +3 -2
- package/dist/types/attestedreveal/attested-reveal.d.ts +21 -0
- package/dist/types/attestedreveal/index.d.ts +1 -0
- package/dist/types/attestedreveal/types.d.ts +7 -0
- package/dist/types/generated/abis/TestElist.d.ts +247 -0
- package/dist/types/generated/abis/addTwo.d.ts +12 -30
- package/dist/types/generated/abis/lightning-preview.d.ts +98 -979
- package/dist/types/generated/abis/lightning.d.ts +80 -425
- package/dist/types/generated/abis/{inco-fhevm.d.ts → verifier.d.ts} +610 -468
- package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
- package/dist/types/generated/lightning.d.ts +31 -10
- package/dist/types/handle.d.ts +1 -1
- package/dist/types/lite/attested-compute.d.ts +6 -3
- package/dist/types/lite/attested-decrypt.d.ts +2 -0
- package/dist/types/lite/ecies.d.ts +2 -2
- package/dist/types/lite/hadu.d.ts +1 -1
- package/dist/types/lite/index.d.ts +4 -1
- package/dist/types/lite/lightning.d.ts +33 -1
- package/dist/types/lite/reencrypt.d.ts +0 -1
- package/dist/types/reencryption/eip712.d.ts +2 -2
- package/dist/types/reencryption/types.d.ts +1 -2
- package/dist/types/retry.d.ts +1 -1
- package/dist/types/viem.d.ts +12 -15
- package/package.json +40 -53
- package/dist/cjs/fhevm/fhe-environment.d.ts +0 -9
- package/dist/cjs/fhevm/fhe-environment.js +0 -11
- package/dist/cjs/fhevm/fhevm.d.ts +0 -41
- package/dist/cjs/fhevm/fhevm.js +0 -145
- package/dist/cjs/fhevm/index.d.ts +0 -1
- package/dist/cjs/fhevm/reencrypt.d.ts +0 -20
- package/dist/cjs/fhevm/reencrypt.js +0 -127
- package/dist/cjs/fhevm/tfhe.d.ts +0 -74
- package/dist/cjs/fhevm/tfhe.js +0 -336
- package/dist/cjs/fhevm/types.d.ts +0 -3
- package/dist/cjs/fhevm/types.js +0 -29
- package/dist/cjs/generated/abis/inco-fhevm.js +0 -681
- package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
- package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.js +0 -36
- package/dist/cjs/generated/es/google/api/annotations_pb.d.ts +0 -13
- package/dist/cjs/generated/es/google/api/annotations_pb.js +0 -30
- package/dist/cjs/generated/es/google/api/http_pb.d.ts +0 -440
- package/dist/cjs/generated/es/google/api/http_pb.js +0 -37
- package/dist/cjs/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
- package/dist/cjs/generated/es/inco/fhe/v1/events_pb.js +0 -24
- package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
- package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.js +0 -49
- package/dist/cjs/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
- package/dist/cjs/generated/es/inco/fhe/v1/query_pb.js +0 -111
- package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
- package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.js +0 -111
- package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
- package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.js +0 -23
- package/dist/cjs/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
- package/dist/cjs/generated/es/inco/preflight/v1/query_pb.js +0 -41
- package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
- package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.js +0 -51
- package/dist/cjs/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
- package/dist/cjs/generated/es/inco/preflight/v1/types_pb.js +0 -37
- package/dist/cjs/generated/fhe-environments.d.ts +0 -14
- package/dist/cjs/generated/fhe-environments.js +0 -18
- package/dist/cjs/generated/ts/amino/amino.d.ts +0 -1
- package/dist/cjs/generated/ts/amino/amino.js +0 -11
- package/dist/cjs/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
- package/dist/cjs/generated/ts/cometbft/abci/v1/types.js +0 -5079
- package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
- package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +0 -108
- package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
- package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +0 -433
- package/dist/cjs/generated/ts/cometbft/types/v1/params.d.ts +0 -179
- package/dist/cjs/generated/ts/cometbft/types/v1/params.js +0 -716
- package/dist/cjs/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
- package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +0 -358
- package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
- package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
- package/dist/cjs/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
- package/dist/cjs/generated/ts/cosmos/msg/v1/msg.js +0 -11
- package/dist/cjs/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
- package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +0 -216
- package/dist/cjs/generated/ts/gogoproto/gogo.d.ts +0 -1
- package/dist/cjs/generated/ts/gogoproto/gogo.js +0 -11
- package/dist/cjs/generated/ts/google/api/annotations.d.ts +0 -1
- package/dist/cjs/generated/ts/google/api/annotations.js +0 -11
- package/dist/cjs/generated/ts/google/api/http.d.ts +0 -371
- package/dist/cjs/generated/ts/google/api/http.js +0 -356
- package/dist/cjs/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
- package/dist/cjs/generated/ts/google/protobuf/descriptor.js +0 -5108
- package/dist/cjs/generated/ts/google/protobuf/duration.d.ts +0 -99
- package/dist/cjs/generated/ts/google/protobuf/duration.js +0 -93
- package/dist/cjs/generated/ts/google/protobuf/timestamp.d.ts +0 -128
- package/dist/cjs/generated/ts/google/protobuf/timestamp.js +0 -93
- package/dist/cjs/generated/ts/google/protobuf/wrappers.d.ts +0 -111
- package/dist/cjs/generated/ts/google/protobuf/wrappers.js +0 -509
- package/dist/cjs/generated/ts/inco/abci/v1/types.d.ts +0 -35
- package/dist/cjs/generated/ts/inco/abci/v1/types.js +0 -73
- package/dist/cjs/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
- package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +0 -66
- package/dist/cjs/generated/ts/inco/fhe/v1/events.d.ts +0 -66
- package/dist/cjs/generated/ts/inco/fhe/v1/events.js +0 -190
- package/dist/cjs/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
- package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +0 -714
- package/dist/cjs/generated/ts/inco/fhe/v1/query.d.ts +0 -366
- package/dist/cjs/generated/ts/inco/fhe/v1/query.js +0 -1394
- package/dist/cjs/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
- package/dist/cjs/generated/ts/inco/fhe/v1/tx.js +0 -1236
- package/dist/cjs/generated/ts/inco/fhe/v1/types.d.ts +0 -225
- package/dist/cjs/generated/ts/inco/fhe/v1/types.js +0 -990
- package/dist/cjs/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
- package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +0 -66
- package/dist/cjs/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
- package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +0 -331
- package/dist/cjs/generated/ts/inco/originchain/v1/events.d.ts +0 -60
- package/dist/cjs/generated/ts/inco/originchain/v1/events.js +0 -216
- package/dist/cjs/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
- package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +0 -69
- package/dist/cjs/generated/ts/inco/originchain/v1/query.d.ts +0 -116
- package/dist/cjs/generated/ts/inco/originchain/v1/query.js +0 -280
- package/dist/cjs/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
- package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +0 -140
- package/dist/cjs/generated/ts/inco/originchain/v1/types.d.ts +0 -58
- package/dist/cjs/generated/ts/inco/originchain/v1/types.js +0 -203
- package/dist/cjs/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
- package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +0 -66
- package/dist/cjs/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
- package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +0 -185
- package/dist/cjs/generated/ts/inco/preflight/v1/query.d.ts +0 -93
- package/dist/cjs/generated/ts/inco/preflight/v1/query.js +0 -259
- package/dist/cjs/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
- package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +0 -448
- package/dist/cjs/generated/ts/inco/preflight/v1/types.d.ts +0 -84
- package/dist/cjs/generated/ts/inco/preflight/v1/types.js +0 -398
- package/dist/cjs/l1/client.d.ts +0 -35
- package/dist/cjs/l1/client.js +0 -97
- package/dist/cjs/l1/index.d.ts +0 -2
- package/dist/cjs/l1/index.js +0 -19
- package/dist/cjs/l1/preflight.d.ts +0 -20
- package/dist/cjs/l1/preflight.js +0 -42
- package/dist/esm/fhevm/fhe-environment.d.ts +0 -9
- package/dist/esm/fhevm/fhe-environment.js +0 -8
- package/dist/esm/fhevm/fhevm.d.ts +0 -41
- package/dist/esm/fhevm/fhevm.js +0 -139
- package/dist/esm/fhevm/index.d.ts +0 -1
- package/dist/esm/fhevm/index.js +0 -2
- package/dist/esm/fhevm/reencrypt.d.ts +0 -20
- package/dist/esm/fhevm/reencrypt.js +0 -123
- package/dist/esm/fhevm/tfhe.d.ts +0 -74
- package/dist/esm/fhevm/tfhe.js +0 -328
- package/dist/esm/fhevm/types.d.ts +0 -3
- package/dist/esm/fhevm/types.js +0 -26
- package/dist/esm/generated/abis/inco-fhevm.js +0 -678
- package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
- package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +0 -33
- package/dist/esm/generated/es/google/api/annotations_pb.d.ts +0 -13
- package/dist/esm/generated/es/google/api/annotations_pb.js +0 -27
- package/dist/esm/generated/es/google/api/http_pb.d.ts +0 -440
- package/dist/esm/generated/es/google/api/http_pb.js +0 -34
- package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
- package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +0 -21
- package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
- package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +0 -46
- package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
- package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +0 -108
- package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
- package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +0 -108
- package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
- package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +0 -20
- package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
- package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +0 -38
- package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
- package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +0 -48
- package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
- package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +0 -34
- package/dist/esm/generated/fhe-environments.d.ts +0 -14
- package/dist/esm/generated/fhe-environments.js +0 -15
- package/dist/esm/generated/ts/amino/amino.d.ts +0 -1
- package/dist/esm/generated/ts/amino/amino.js +0 -8
- package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
- package/dist/esm/generated/ts/cometbft/abci/v1/types.js +0 -5063
- package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
- package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +0 -105
- package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
- package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +0 -430
- package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +0 -179
- package/dist/esm/generated/ts/cometbft/types/v1/params.js +0 -713
- package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
- package/dist/esm/generated/ts/cometbft/types/v1/validator.js +0 -353
- package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
- package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +0 -218
- package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
- package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +0 -8
- package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
- package/dist/esm/generated/ts/cosmos_proto/cosmos.js +0 -211
- package/dist/esm/generated/ts/gogoproto/gogo.d.ts +0 -1
- package/dist/esm/generated/ts/gogoproto/gogo.js +0 -8
- package/dist/esm/generated/ts/google/api/annotations.d.ts +0 -1
- package/dist/esm/generated/ts/google/api/annotations.js +0 -8
- package/dist/esm/generated/ts/google/api/http.d.ts +0 -371
- package/dist/esm/generated/ts/google/api/http.js +0 -353
- package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
- package/dist/esm/generated/ts/google/protobuf/descriptor.js +0 -5070
- package/dist/esm/generated/ts/google/protobuf/duration.d.ts +0 -99
- package/dist/esm/generated/ts/google/protobuf/duration.js +0 -90
- package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +0 -128
- package/dist/esm/generated/ts/google/protobuf/timestamp.js +0 -90
- package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +0 -111
- package/dist/esm/generated/ts/google/protobuf/wrappers.js +0 -506
- package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +0 -35
- package/dist/esm/generated/ts/inco/abci/v1/types.js +0 -70
- package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
- package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +0 -63
- package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +0 -66
- package/dist/esm/generated/ts/inco/fhe/v1/events.js +0 -187
- package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
- package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +0 -711
- package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +0 -366
- package/dist/esm/generated/ts/inco/fhe/v1/query.js +0 -1391
- package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
- package/dist/esm/generated/ts/inco/fhe/v1/tx.js +0 -1233
- package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +0 -225
- package/dist/esm/generated/ts/inco/fhe/v1/types.js +0 -985
- package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
- package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +0 -63
- package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
- package/dist/esm/generated/ts/inco/originchain/v1/abci.js +0 -328
- package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +0 -60
- package/dist/esm/generated/ts/inco/originchain/v1/events.js +0 -213
- package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
- package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +0 -66
- package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +0 -116
- package/dist/esm/generated/ts/inco/originchain/v1/query.js +0 -277
- package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
- package/dist/esm/generated/ts/inco/originchain/v1/tx.js +0 -137
- package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +0 -58
- package/dist/esm/generated/ts/inco/originchain/v1/types.js +0 -200
- package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
- package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +0 -63
- package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
- package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +0 -182
- package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +0 -93
- package/dist/esm/generated/ts/inco/preflight/v1/query.js +0 -256
- package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
- package/dist/esm/generated/ts/inco/preflight/v1/tx.js +0 -445
- package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +0 -84
- package/dist/esm/generated/ts/inco/preflight/v1/types.js +0 -395
- package/dist/esm/l1/client.d.ts +0 -35
- package/dist/esm/l1/client.js +0 -93
- package/dist/esm/l1/index.d.ts +0 -2
- package/dist/esm/l1/index.js +0 -3
- package/dist/esm/l1/preflight.d.ts +0 -20
- package/dist/esm/l1/preflight.js +0 -39
- package/dist/types/fhevm/fhe-environment.d.ts +0 -9
- package/dist/types/fhevm/fhevm.d.ts +0 -41
- package/dist/types/fhevm/index.d.ts +0 -1
- package/dist/types/fhevm/reencrypt.d.ts +0 -20
- package/dist/types/fhevm/tfhe.d.ts +0 -74
- package/dist/types/fhevm/types.d.ts +0 -3
- package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
- package/dist/types/generated/es/google/api/annotations_pb.d.ts +0 -13
- package/dist/types/generated/es/google/api/http_pb.d.ts +0 -440
- package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
- package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
- package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
- package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
- package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
- package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
- package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
- package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
- package/dist/types/generated/fhe-environments.d.ts +0 -14
- package/dist/types/generated/ts/amino/amino.d.ts +0 -1
- package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
- package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
- package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
- package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +0 -179
- package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
- package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
- package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
- package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
- package/dist/types/generated/ts/gogoproto/gogo.d.ts +0 -1
- package/dist/types/generated/ts/google/api/annotations.d.ts +0 -1
- package/dist/types/generated/ts/google/api/http.d.ts +0 -371
- package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
- package/dist/types/generated/ts/google/protobuf/duration.d.ts +0 -99
- package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +0 -128
- package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +0 -111
- package/dist/types/generated/ts/inco/abci/v1/types.d.ts +0 -35
- package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
- package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +0 -66
- package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
- package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +0 -366
- package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
- package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +0 -225
- package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
- package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
- package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +0 -60
- package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
- package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +0 -116
- package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
- package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +0 -58
- package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
- package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
- package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +0 -93
- package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
- package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +0 -84
- package/dist/types/l1/client.d.ts +0 -35
- package/dist/types/l1/index.d.ts +0 -2
- package/dist/types/l1/preflight.d.ts +0 -20
package/dist/cjs/viem.js
CHANGED
@@ -4,9 +4,16 @@ exports.chains = void 0;
|
|
4
4
|
exports.getViemChain = getViemChain;
|
5
5
|
const chains_1 = require("viem/chains");
|
6
6
|
const chain_js_1 = require("./chain.js");
|
7
|
-
exports.chains = {
|
7
|
+
exports.chains = {
|
8
|
+
sepolia: chains_1.sepolia,
|
9
|
+
baseSepolia: chains_1.baseSepolia,
|
10
|
+
monadTestnet: chains_1.monadTestnet,
|
11
|
+
plasmaTestnet: chains_1.plasmaTestnet,
|
12
|
+
anvil: chains_1.anvil,
|
13
|
+
worldchainSepolia: chains_1.worldchainSepolia,
|
14
|
+
};
|
8
15
|
function getViemChain(chainish) {
|
9
16
|
const { name } = (0, chain_js_1.getSupportedChain)(chainish);
|
10
17
|
return exports.chains[name];
|
11
18
|
}
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmllbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aWVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVCQSxvQ0FHQztBQTFCRCx3Q0FPcUI7QUFDckIseUNBQXlEO0FBRTVDLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLE9BQU8sRUFBUCxnQkFBTztJQUNQLFdBQVcsRUFBWCxvQkFBVztJQUNYLFlBQVksRUFBWixxQkFBWTtJQUNaLGFBQWEsRUFBYixzQkFBYTtJQUNiLEtBQUssRUFBTCxjQUFLO0lBQ0wsaUJBQWlCLEVBQWpCLDBCQUFpQjtDQUNsQixDQUFDO0FBTUYsU0FBZ0IsWUFBWSxDQUFDLFFBQWtCO0lBQzdDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFBLDRCQUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sY0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUMifQ==
|
@@ -1,9 +1,14 @@
|
|
1
1
|
import type { Client } from '@connectrpc/connect';
|
2
2
|
import { type Account, type Address, type Chain, type Hex, type Transport, type WalletClient } from 'viem';
|
3
|
+
import { DecryptionAttestation } from '../attesteddecrypt/index.js';
|
4
|
+
import { SupportedChainId } from '../chain.js';
|
3
5
|
import { type EciesScheme, SupportedFheType } from '../encryption/encryption.js';
|
6
|
+
import { HexString } from '../index.js';
|
4
7
|
import type { KmsService, Secp256k1Keypair } from '../lite/index.js';
|
5
8
|
import { type ReencryptFnArgs } from '../reencryption/index.js';
|
9
|
+
import { BackoffConfig } from '../retry.js';
|
6
10
|
import type { AllowanceVoucher, AllowanceVoucherWithSig } from './types.js';
|
11
|
+
import { AttestedComputeOP } from '../attestedcompute/types.js';
|
7
12
|
export interface Session {
|
8
13
|
decrypter: Address;
|
9
14
|
expiresAt: bigint;
|
@@ -24,5 +29,29 @@ export interface SessionKeyReencryptorArgs {
|
|
24
29
|
kmsConnectRpcEndpointOrClient: string | Client<typeof KmsService>;
|
25
30
|
allowanceVoucherWithSig: AllowanceVoucherWithSig;
|
26
31
|
}
|
27
|
-
export declare function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }: SessionKeyReencryptorArgs): Promise<(<T extends SupportedFheType>({ handle }: ReencryptFnArgs<EciesScheme, T>) => Promise<import("../encryption/encryption.js").PlaintextOf<1, 0 | 5 | 7 | 8>>)>;
|
32
|
+
export declare function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }: SessionKeyReencryptorArgs): Promise<(<T extends SupportedFheType>({ handle, }: ReencryptFnArgs<EciesScheme, T>) => Promise<import("../encryption/encryption.js").PlaintextOf<1, 0 | 5 | 7 | 8>>)>;
|
28
33
|
export declare function updateActiveVouchersSessionNonce(incoLiteAddress: Address, sharerWalletClient: WalletClient<Transport, Chain, Account>): Promise<`0x${string}`>;
|
34
|
+
export interface SessionKeyAttestedComputeArgs {
|
35
|
+
chainId: SupportedChainId;
|
36
|
+
ephemeralKeypair: Secp256k1Keypair;
|
37
|
+
kmsConnectRpcEndpointOrClient: string | Client<typeof KmsService>;
|
38
|
+
allowanceVoucherWithSig: AllowanceVoucherWithSig;
|
39
|
+
lhsHandle: HexString;
|
40
|
+
op: AttestedComputeOP;
|
41
|
+
rhsPlaintext: bigint | boolean;
|
42
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
43
|
+
}
|
44
|
+
export declare function sessionKeyAttestedCompute<T extends SupportedFheType>({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }: SessionKeyAttestedComputeArgs): Promise<{
|
45
|
+
handle: HexString;
|
46
|
+
plaintext: import("../encryption/encryption.js").PlaintextOf<1, T>;
|
47
|
+
covalidatorSignature: Uint8Array<ArrayBufferLike>;
|
48
|
+
}>;
|
49
|
+
export interface SessionKeyAttestedDecryptArgs {
|
50
|
+
chainId: SupportedChainId;
|
51
|
+
ephemeralKeypair: Secp256k1Keypair;
|
52
|
+
kmsConnectRpcEndpointOrClient: string | Client<typeof KmsService>;
|
53
|
+
allowanceVoucherWithSig: AllowanceVoucherWithSig;
|
54
|
+
handles: HexString[];
|
55
|
+
backoffConfig?: Partial<BackoffConfig> | undefined;
|
56
|
+
}
|
57
|
+
export declare function sessionKeyAttestedDecrypt({ chainId, kmsConnectRpcEndpointOrClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, }: SessionKeyAttestedDecryptArgs): Promise<Array<DecryptionAttestation<EciesScheme, SupportedFheType>>>;
|
@@ -1,23 +1,28 @@
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
1
2
|
import { encodeAbiParameters, getContract, hexToBytes, toFunctionSelector, } from 'viem';
|
2
3
|
import { privateKeyToAccount } from 'viem/accounts';
|
4
|
+
import { AttestedDecryptError, } from '../attesteddecrypt/index.js';
|
3
5
|
import { getSupportedChain } from '../chain.js';
|
4
|
-
import {
|
6
|
+
import { bigintToPlaintext, encryptionSchemes, } from '../encryption/encryption.js';
|
7
|
+
import { abiHelperAbi, advancedAccessControlAbi, sessionVerifierAbi, } from '../generated/abis/lightning-preview.js';
|
5
8
|
import { incoLightningAbi } from '../generated/abis/lightning.js';
|
6
|
-
import {
|
7
|
-
import {
|
9
|
+
import { incoVerifierAbi } from '../generated/abis/verifier.js';
|
10
|
+
import { bigintToBytes32, bytesToBigInt, getHandleType, } from '../index.js';
|
11
|
+
import { ATTESTED_COMPUTE_DOMAIN_NAME, ATTESTED_COMPUTE_DOMAIN_VERSION, ATTESTED_DECRYPT_DOMAIN_NAME, ATTESTED_DECRYPT_DOMAIN_VERSION, decryptGrpcResponse, defaultCovalidatorGrpc, getKmsClient, reencryptEIP712, } from '../lite/index.js';
|
12
|
+
import { createEIP712Payload, } from '../reencryption/index.js';
|
13
|
+
import { retryWithBackoff } from '../retry.js';
|
14
|
+
import { AttestedComputeRequestSchema, AttestedDecryptRequestSchema, ReencryptRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
|
15
|
+
import { AllowanceProofSchema, AllowanceVoucherSchema, HandleWithProofSchema, IncoLiteAdvancedACLProofSchema, } from '../generated/es/inco/kms/lite/v1/types_pb.js';
|
8
16
|
// Given a sharer's wallet client, an incoLite contract address, and a
|
9
17
|
// (verifyingContract, callFunction, sharerArgData) tuple, this function
|
10
18
|
// creates an AllowanceVoucher.
|
11
19
|
export async function createAllowanceVoucher(incoLiteAddress, sharerWalletClient, verifyingContract, callFunction, sharerArgData) {
|
12
|
-
const
|
13
|
-
address: incoLiteAddress,
|
14
|
-
// Could have used the incoLightningAbi, but this is more efficient.
|
15
|
-
abi: advancedAccessControlAbi,
|
16
|
-
client: sharerWalletClient,
|
17
|
-
});
|
20
|
+
const verifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
|
18
21
|
// The session nonce in the AllowanceVoucher must match the current active
|
19
22
|
// session nonce of the sharer on-chain.
|
20
|
-
const sessionNonce = await
|
23
|
+
const sessionNonce = await verifier.read.getActiveVouchersSessionNonce([
|
24
|
+
sharerWalletClient.account.address,
|
25
|
+
]);
|
21
26
|
return {
|
22
27
|
sessionNonce,
|
23
28
|
verifyingContract,
|
@@ -31,15 +36,22 @@ export async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifie
|
|
31
36
|
decrypter: granteeAddress,
|
32
37
|
expiresAt: BigInt(Math.floor(expiresAt.getTime() / 1000)),
|
33
38
|
};
|
34
|
-
const sharerArgData = encodeAbiParameters(getSessionAbi(), [
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
39
|
+
const sharerArgData = encodeAbiParameters(getSessionAbi(), [
|
40
|
+
session.decrypter,
|
41
|
+
session.expiresAt,
|
42
|
+
]);
|
43
|
+
const incoVerifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
|
44
|
+
// returned by read.eip712Domain():
|
45
|
+
// bytes1 fields,
|
46
|
+
// string memory name,
|
47
|
+
// string memory version,
|
48
|
+
// uint256 chainId,
|
49
|
+
// address verifyingContract,
|
50
|
+
// bytes32 salt,
|
51
|
+
// uint256[] memory extensions
|
52
|
+
const verifierDomain = await incoVerifier.read.eip712Domain();
|
53
|
+
const eip712DomainName = verifierDomain[1];
|
54
|
+
const eip712DomainVersion = verifierDomain[2];
|
43
55
|
const voucher = await createAllowanceVoucher(incoLiteAddress, sharerWalletClient,
|
44
56
|
// Careful that the verifying contract here is the SessionVerifier contract,
|
45
57
|
// not the incoLite contract.
|
@@ -50,10 +62,10 @@ export async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifie
|
|
50
62
|
primaryTypeFields: getAllowanceVoucherAbi(),
|
51
63
|
message: voucher,
|
52
64
|
// Related to comment above: careful that the verifying contract here is
|
53
|
-
// the
|
54
|
-
verifyingContract:
|
55
|
-
|
56
|
-
|
65
|
+
// the incoVerifier contract (not the SessionVerifier contract).
|
66
|
+
verifyingContract: incoVerifier.address,
|
67
|
+
domainName: eip712DomainName,
|
68
|
+
domainVersion: eip712DomainVersion,
|
57
69
|
});
|
58
70
|
// Using browser extensions, this step will prompt the user to sign the
|
59
71
|
// payload.
|
@@ -67,7 +79,8 @@ export async function grantSessionKey({ chainId, incoLiteAddress, sessionVerifie
|
|
67
79
|
// The sessionKeyReencryptor function is a reencryptor that uses a session key
|
68
80
|
// to reencrypt data.
|
69
81
|
export async function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
|
70
|
-
const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
|
82
|
+
const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
|
83
|
+
defaultCovalidatorGrpc(getSupportedChain(chainId)));
|
71
84
|
const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
|
72
85
|
const ephemeralPubKey = ephemeralKeypair.encodePublicKey();
|
73
86
|
// Sign the EIP712 attesting that the requester has access to the private key
|
@@ -76,57 +89,187 @@ export async function sessionKeyReencryptor({ chainId, kmsConnectRpcEndpointOrCl
|
|
76
89
|
// Since the account is an ephemeral keypair stored in memory (not in Metamask),
|
77
90
|
// this step will NOT prompt the user with a pop-up.
|
78
91
|
const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
|
79
|
-
return async function reencrypt({ handle }) {
|
80
|
-
const reencryptRequest = {
|
81
|
-
$typeName: 'inco.kms.lite.v1.ReencryptRequest',
|
92
|
+
return async function reencrypt({ handle, }) {
|
93
|
+
const reencryptRequest = create(ReencryptRequestSchema, {
|
82
94
|
userAddress: requesterAccount.address,
|
83
95
|
ephemeralPubKey,
|
84
96
|
eip712Signature: hexToBytes(eip712Signature),
|
85
97
|
handlesWithProofs: [
|
86
|
-
{
|
87
|
-
$typeName: 'inco.kms.lite.v1.HandleWithProof',
|
98
|
+
create(HandleWithProofSchema, {
|
88
99
|
handle,
|
89
100
|
aclProof: {
|
90
|
-
$typeName: 'inco.kms.lite.v1.ACLProof',
|
91
101
|
proof: {
|
92
|
-
|
93
|
-
|
94
|
-
allowanceProof: {
|
95
|
-
$typeName: 'inco.kms.lite.v1.AllowanceProof',
|
102
|
+
case: 'incoLiteAdvancedAclProof',
|
103
|
+
value: create(IncoLiteAdvancedACLProofSchema, {
|
104
|
+
allowanceProof: create(AllowanceProofSchema, {
|
96
105
|
sharer: allowanceVoucherWithSig.sharer,
|
97
|
-
voucher: {
|
98
|
-
// Converting from the AllowanceVoucher domain type to the
|
99
|
-
// AllowanceVoucher proto type.
|
100
|
-
$typeName: 'inco.kms.lite.v1.AllowanceVoucher',
|
106
|
+
voucher: create(AllowanceVoucherSchema, {
|
101
107
|
sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
|
102
108
|
verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
|
103
109
|
callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
|
104
110
|
sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
|
105
|
-
},
|
111
|
+
}),
|
106
112
|
voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
|
107
|
-
// For SessionVerifier, the requesterArgData is empty.
|
108
113
|
requesterArgData: new Uint8Array(),
|
109
|
-
},
|
110
|
-
},
|
111
|
-
case: 'incoLiteAdvancedAclProof',
|
114
|
+
}),
|
115
|
+
}),
|
112
116
|
},
|
113
117
|
},
|
114
|
-
},
|
118
|
+
}),
|
115
119
|
],
|
116
|
-
};
|
120
|
+
});
|
117
121
|
const response = await kmsClient.reencrypt(reencryptRequest);
|
118
122
|
return decryptGrpcResponse(response, ephemeralKeypair, handle);
|
119
123
|
};
|
120
124
|
}
|
121
125
|
export async function updateActiveVouchersSessionNonce(incoLiteAddress, sharerWalletClient) {
|
122
|
-
const
|
123
|
-
|
124
|
-
abi: advancedAccessControlAbi,
|
125
|
-
client: sharerWalletClient,
|
126
|
-
});
|
127
|
-
const txHash = await advancedACL.write.updateActiveVouchersSessionNonce();
|
126
|
+
const verifier = await getIncoVerifier(incoLiteAddress, sharerWalletClient);
|
127
|
+
const txHash = await verifier.write.updateActiveVouchersSessionNonce();
|
128
128
|
return txHash;
|
129
129
|
}
|
130
|
+
// The sessionKeyAttestedCompute function is a decryptor that uses a session key
|
131
|
+
// to compute on a handle.
|
132
|
+
export async function sessionKeyAttestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, chainId, kmsConnectRpcEndpointOrClient, ephemeralKeypair, allowanceVoucherWithSig, }) {
|
133
|
+
const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
|
134
|
+
defaultCovalidatorGrpc(getSupportedChain(chainId)));
|
135
|
+
const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
|
136
|
+
const rhsPlaintextBig = BigInt(rhsPlaintext);
|
137
|
+
const rhsValueBytes = bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), rhsPlaintextBig);
|
138
|
+
// Sign the EIP712 attesting that the requester has access to the private key
|
139
|
+
// corresponding to the ephemeral public key.
|
140
|
+
const eip712Payload = createEIP712Payload({
|
141
|
+
chainId: BigInt(chainId),
|
142
|
+
primaryType: 'AttestedComputeRequest',
|
143
|
+
primaryTypeFields: [
|
144
|
+
{ name: 'op', type: 'uint8' },
|
145
|
+
{ name: 'lhsHandle', type: 'bytes32' },
|
146
|
+
{ name: 'rhsPlaintext', type: 'bytes32' },
|
147
|
+
],
|
148
|
+
message: {
|
149
|
+
op: op,
|
150
|
+
lhsHandle: lhsHandle,
|
151
|
+
rhsPlaintext: bigintToBytes32(rhsPlaintextBig),
|
152
|
+
},
|
153
|
+
domainName: ATTESTED_COMPUTE_DOMAIN_NAME,
|
154
|
+
domainVersion: ATTESTED_COMPUTE_DOMAIN_VERSION,
|
155
|
+
});
|
156
|
+
// Since the account is an ephemeral keypair stored in memory (not in Metamask),
|
157
|
+
// this step will NOT prompt the user with a pop-up.
|
158
|
+
const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
|
159
|
+
const attestedComputeRequest = create(AttestedComputeRequestSchema, {
|
160
|
+
userAddress: requesterAccount.address,
|
161
|
+
op: op,
|
162
|
+
lhsHandle: lhsHandle,
|
163
|
+
rhsPlaintext: rhsValueBytes.value.toString(16),
|
164
|
+
eip712Signature: hexToBytes(eip712Signature),
|
165
|
+
aclProof: {
|
166
|
+
proof: {
|
167
|
+
case: 'incoLiteAdvancedAclProof',
|
168
|
+
value: create(IncoLiteAdvancedACLProofSchema, {
|
169
|
+
allowanceProof: create(AllowanceProofSchema, {
|
170
|
+
sharer: allowanceVoucherWithSig.sharer,
|
171
|
+
voucher: create(AllowanceVoucherSchema, {
|
172
|
+
sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
|
173
|
+
verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
|
174
|
+
callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
|
175
|
+
sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
|
176
|
+
}),
|
177
|
+
voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
|
178
|
+
// For SessionVerifier, the requesterArgData is empty.
|
179
|
+
requesterArgData: new Uint8Array(),
|
180
|
+
}),
|
181
|
+
}),
|
182
|
+
},
|
183
|
+
},
|
184
|
+
});
|
185
|
+
const response = await retryWithBackoff(async () => {
|
186
|
+
return await kmsClient.attestedCompute(attestedComputeRequest);
|
187
|
+
}, backoffConfig);
|
188
|
+
if (!response.decryptionAttestation) {
|
189
|
+
throw new Error('Failed to get decryption attestation from attested compute');
|
190
|
+
}
|
191
|
+
const decryptionAttestation = response.decryptionAttestation;
|
192
|
+
if (decryptionAttestation.plaintext === undefined) {
|
193
|
+
throw new Error('No plaintext in compute response');
|
194
|
+
}
|
195
|
+
const bigIntValue = bytesToBigInt(decryptionAttestation.plaintext);
|
196
|
+
return {
|
197
|
+
handle: decryptionAttestation.handle,
|
198
|
+
plaintext: bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), bigIntValue),
|
199
|
+
covalidatorSignature: decryptionAttestation.signature,
|
200
|
+
};
|
201
|
+
}
|
202
|
+
// The sessionKeyAttestedDecrypt function is a decryptor that uses a session key
|
203
|
+
// to decrypt data.
|
204
|
+
export async function sessionKeyAttestedDecrypt({ chainId, kmsConnectRpcEndpointOrClient, handles, ephemeralKeypair, allowanceVoucherWithSig, backoffConfig, }) {
|
205
|
+
const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
|
206
|
+
defaultCovalidatorGrpc(getSupportedChain(chainId)));
|
207
|
+
const requesterAccount = privateKeyToAccount(`0x${ephemeralKeypair.kp.getPrivate('hex')}`);
|
208
|
+
// Sign the EIP712 attesting that the requester has access to the private key
|
209
|
+
// corresponding to the ephemeral public key.
|
210
|
+
const eip712Payload = createEIP712Payload({
|
211
|
+
chainId: BigInt(chainId),
|
212
|
+
primaryType: 'AttestedDecryptRequest',
|
213
|
+
primaryTypeFields: [{ name: 'handles', type: 'bytes32[]' }],
|
214
|
+
message: {
|
215
|
+
handles: handles,
|
216
|
+
},
|
217
|
+
domainName: ATTESTED_DECRYPT_DOMAIN_NAME,
|
218
|
+
domainVersion: ATTESTED_DECRYPT_DOMAIN_VERSION,
|
219
|
+
});
|
220
|
+
// Since the account is an ephemeral keypair stored in memory (not in Metamask),
|
221
|
+
// this step will NOT prompt the user with a pop-up.
|
222
|
+
const eip712Signature = await requesterAccount.signTypedData(eip712Payload);
|
223
|
+
const handlesWithProofs = handles.map((handle) => {
|
224
|
+
return create(HandleWithProofSchema, {
|
225
|
+
handle: handle,
|
226
|
+
aclProof: {
|
227
|
+
proof: {
|
228
|
+
case: 'incoLiteAdvancedAclProof',
|
229
|
+
value: create(IncoLiteAdvancedACLProofSchema, {
|
230
|
+
allowanceProof: create(AllowanceProofSchema, {
|
231
|
+
sharer: allowanceVoucherWithSig.sharer,
|
232
|
+
voucher: create(AllowanceVoucherSchema, {
|
233
|
+
sessionNonce: hexToBytes(allowanceVoucherWithSig.voucher.sessionNonce),
|
234
|
+
verifyingContract: allowanceVoucherWithSig.voucher.verifyingContract,
|
235
|
+
callFunction: hexToBytes(allowanceVoucherWithSig.voucher.callFunction),
|
236
|
+
sharerArgData: hexToBytes(allowanceVoucherWithSig.voucher.sharerArgData),
|
237
|
+
}),
|
238
|
+
voucherSignature: hexToBytes(allowanceVoucherWithSig.voucherSignature),
|
239
|
+
requesterArgData: new Uint8Array(),
|
240
|
+
}),
|
241
|
+
}),
|
242
|
+
},
|
243
|
+
},
|
244
|
+
});
|
245
|
+
});
|
246
|
+
const attestedDecryptRequest = create(AttestedDecryptRequestSchema, {
|
247
|
+
userAddress: requesterAccount.address,
|
248
|
+
handlesWithProofs: handlesWithProofs,
|
249
|
+
eip712Signature: hexToBytes(eip712Signature),
|
250
|
+
});
|
251
|
+
const response = await retryWithBackoff(async () => {
|
252
|
+
return await kmsClient.attestedDecrypt(attestedDecryptRequest);
|
253
|
+
}, backoffConfig);
|
254
|
+
if (!response.decryptionAttestations ||
|
255
|
+
response.decryptionAttestations.length === 0) {
|
256
|
+
throw new AttestedDecryptError('No decryption attestations in response');
|
257
|
+
}
|
258
|
+
const results = response.decryptionAttestations.map((att) => {
|
259
|
+
if (att.plaintext === undefined) {
|
260
|
+
throw new AttestedDecryptError('No plaintext in attestation');
|
261
|
+
}
|
262
|
+
const h = att.handle;
|
263
|
+
const handleType = getHandleType(h);
|
264
|
+
const bigIntValue = bytesToBigInt(att.plaintext);
|
265
|
+
return {
|
266
|
+
handle: h,
|
267
|
+
plaintext: bigintToPlaintext(encryptionSchemes.ecies, handleType, bigIntValue),
|
268
|
+
covalidatorSignature: att.signature,
|
269
|
+
};
|
270
|
+
});
|
271
|
+
return results;
|
272
|
+
}
|
130
273
|
// Below are helpers to get ABIs of functions/structs from the SessionVerifier
|
131
274
|
// contract.
|
132
275
|
// Get the ABI of the `AllowanceVoucher` struct.
|
@@ -167,4 +310,27 @@ function getCanUseSessionAbi() {
|
|
167
310
|
}
|
168
311
|
return canUseSession;
|
169
312
|
}
|
170
|
-
|
313
|
+
function getAdvancedAcl(incoVerifierAddress, sharerWalletClient) {
|
314
|
+
return getContract({
|
315
|
+
address: incoVerifierAddress,
|
316
|
+
abi: advancedAccessControlAbi,
|
317
|
+
client: sharerWalletClient,
|
318
|
+
});
|
319
|
+
}
|
320
|
+
function getIncoLightning(incoLiteAddress, walletClient) {
|
321
|
+
return getContract({
|
322
|
+
address: incoLiteAddress,
|
323
|
+
abi: incoLightningAbi,
|
324
|
+
client: walletClient,
|
325
|
+
});
|
326
|
+
}
|
327
|
+
async function getIncoVerifier(incoLiteAddress, walletClient) {
|
328
|
+
const incoLite = getIncoLightning(incoLiteAddress, walletClient);
|
329
|
+
const incoVerifierAddress = await incoLite.read.incoVerifier();
|
330
|
+
return getContract({
|
331
|
+
address: incoVerifierAddress,
|
332
|
+
abi: incoVerifierAbi,
|
333
|
+
client: walletClient,
|
334
|
+
});
|
335
|
+
}
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWR2YW5jZWRhY2wvc2Vzc2lvbi1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTVDLE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUVYLFVBQVUsRUFDVixrQkFBa0IsR0FHbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUNMLG9CQUFvQixHQUVyQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixpQkFBaUIsR0FFbEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixrQkFBa0IsR0FDbkIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxHQUVkLE1BQU0sYUFBYSxDQUFDO0FBU3JCLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osZUFBZSxHQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFDTCxtQkFBbUIsR0FFcEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTlELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUN2QixNQUFNLG9EQUFvRCxDQUFDO0FBQzVELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSw4Q0FBOEMsQ0FBQztBQWdCdEQsc0VBQXNFO0FBQ3RFLHdFQUF3RTtBQUN4RSwrQkFBK0I7QUFDL0IsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsZUFBd0IsRUFDeEIsa0JBQTJELEVBQzNELGlCQUEwQixFQUMxQixZQUFpQixFQUNqQixhQUFrQjtJQUVsQixNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUU1RSwwRUFBMEU7SUFDMUUsd0NBQXdDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztRQUNyRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDO0FBdUJELG1EQUFtRDtBQUNuRCxNQUFNLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FBQyxFQUNwQyxPQUFPLEVBQ1AsZUFBZSxFQUNmLDhCQUE4QixFQUM5QixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsR0FDVztJQUNwQixNQUFNLE9BQU8sR0FBRztRQUNkLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDL0MsQ0FBQztJQUNiLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxFQUFFO1FBQ3pELE9BQU8sQ0FBQyxTQUFTO1FBQ2pCLE9BQU8sQ0FBQyxTQUFTO0tBQ2xCLENBQUMsQ0FBQztJQUVILE1BQU0sWUFBWSxHQUFHLE1BQU0sZUFBZSxDQUN4QyxlQUFlLEVBQ2Ysa0JBQWtCLENBQ25CLENBQUM7SUFFRixtQ0FBbUM7SUFDbkMsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3QixnQkFBZ0I7SUFDaEIsOEJBQThCO0lBQzlCLE1BQU0sY0FBYyxHQUFHLE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5RCxNQUFNLGdCQUFnQixHQUFXLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRCxNQUFNLG1CQUFtQixHQUFXLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0RCxNQUFNLE9BQU8sR0FBRyxNQUFNLHNCQUFzQixDQUMxQyxlQUFlLEVBQ2Ysa0JBQWtCO0lBQ2xCLDRFQUE0RTtJQUM1RSw2QkFBNkI7SUFDN0IsOEJBQThCLEVBQzlCLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLENBQUMsRUFDekMsYUFBYSxDQUNkLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztRQUN4QyxPQUFPO1FBQ1AsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRTtRQUMzQyxPQUFPLEVBQUUsT0FBTztRQUNoQix3RUFBd0U7UUFDeEUsZ0VBQWdFO1FBQ2hFLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxPQUFPO1FBQ3ZDLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsYUFBYSxFQUFFLG1CQUFtQjtLQUNuQyxDQUFDLENBQUM7SUFFSCx1RUFBdUU7SUFDdkUsV0FBVztJQUNYLE1BQU0sZ0JBQWdCLEdBQ3BCLE1BQU0sa0JBQWtCLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXhELE9BQU87UUFDTCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDMUMsT0FBTztRQUNQLGdCQUFnQjtLQUNqQixDQUFDO0FBQ0osQ0FBQztBQW9CRCw4RUFBOEU7QUFDOUUscUJBQXFCO0FBQ3JCLE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQUMsRUFDMUMsT0FBTyxFQUNQLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsdUJBQXVCLEdBQ0c7SUFDMUIsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUM1Qiw2QkFBNkI7UUFDM0Isc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDckQsQ0FBQztJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQzFDLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUM3QyxDQUFDO0lBQ0YsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFFM0QsNkVBQTZFO0lBQzdFLDZDQUE2QztJQUM3QyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hFLGdGQUFnRjtJQUNoRixvREFBb0Q7SUFDcEQsTUFBTSxlQUFlLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFNUUsT0FBTyxLQUFLLFVBQVUsU0FBUyxDQUE2QixFQUMxRCxNQUFNLEdBQzBCO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQXFCLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRTtZQUN4RSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsT0FBTztZQUNyQyxlQUFlO1lBQ2YsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUM7WUFDNUMsaUJBQWlCLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRTtvQkFDNUIsTUFBTTtvQkFDTixRQUFRLEVBQUU7d0JBQ1IsS0FBSyxFQUFFOzRCQUNMLElBQUksRUFBRSwwQkFBMEI7NEJBQ2hDLEtBQUssRUFBRSxNQUFNLENBQUMsOEJBQThCLEVBQUU7Z0NBQzVDLGNBQWMsRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUU7b0NBQzNDLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29DQUN0QyxPQUFPLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixFQUFFO3dDQUN0QyxZQUFZLEVBQUUsVUFBVSxDQUN0Qix1QkFBdUIsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUM3Qzt3Q0FDRCxpQkFBaUIsRUFDZix1QkFBdUIsQ0FBQyxPQUFPLENBQUMsaUJBQWlCO3dDQUNuRCxZQUFZLEVBQUUsVUFBVSxDQUN0Qix1QkFBdUIsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUM3Qzt3Q0FDRCxhQUFhLEVBQUUsVUFBVSxDQUN2Qix1QkFBdUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUM5QztxQ0FDRixDQUFDO29DQUNGLGdCQUFnQixFQUFFLFVBQVUsQ0FDMUIsdUJBQXVCLENBQUMsZ0JBQWdCLENBQ3pDO29DQUNELGdCQUFnQixFQUFFLElBQUksVUFBVSxFQUFFO2lDQUNuQyxDQUFDOzZCQUNILENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0YsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0QsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0NBQWdDLENBQ3BELGVBQXdCLEVBQ3hCLGtCQUEyRDtJQUUzRCxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM1RSxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztJQUN2RSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBMkJELGdGQUFnRjtBQUNoRiwwQkFBMEI7QUFDMUIsTUFBTSxDQUFDLEtBQUssVUFBVSx5QkFBeUIsQ0FBNkIsRUFDMUUsU0FBUyxFQUNULEVBQUUsRUFDRixZQUFZLEVBQ1osYUFBYSxFQUNiLE9BQU8sRUFDUCw2QkFBNkIsRUFDN0IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUNPO0lBQzlCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FDNUIsNkJBQTZCO1FBQzNCLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3JELENBQUM7SUFDRixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUMxQyxLQUFLLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDN0MsQ0FBQztJQUNGLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxNQUFNLGFBQWEsR0FBRyxpQkFBaUIsQ0FDckMsaUJBQWlCLENBQUMsS0FBSyxFQUN2QixhQUFhLENBQUMsU0FBUyxDQUFNLEVBQzdCLGVBQWUsQ0FDaEIsQ0FBQztJQUVGLDZFQUE2RTtJQUM3RSw2Q0FBNkM7SUFDN0MsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUM7UUFDeEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDeEIsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxpQkFBaUIsRUFBRTtZQUNqQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUM3QixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN0QyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUMxQztRQUNELE9BQU8sRUFBRTtZQUNQLEVBQUUsRUFBRSxFQUFFO1lBQ04sU0FBUyxFQUFFLFNBQVM7WUFDcEIsWUFBWSxFQUFFLGVBQWUsQ0FBQyxlQUFlLENBQUM7U0FDL0M7UUFDRCxVQUFVLEVBQUUsNEJBQTRCO1FBQ3hDLGFBQWEsRUFBRSwrQkFBK0I7S0FDL0MsQ0FBQyxDQUFDO0lBQ0gsZ0ZBQWdGO0lBQ2hGLG9EQUFvRDtJQUNwRCxNQUFNLGVBQWUsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU1RSxNQUFNLHNCQUFzQixHQUEyQixNQUFNLENBQzNELDRCQUE0QixFQUM1QjtRQUNFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPO1FBQ3JDLEVBQUUsRUFBRSxFQUFFO1FBQ04sU0FBUyxFQUFFLFNBQVM7UUFDcEIsWUFBWSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWUsQ0FBQztRQUM1QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRTtvQkFDNUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTt3QkFDM0MsTUFBTSxFQUFFLHVCQUF1QixDQUFDLE1BQU07d0JBQ3RDLE9BQU8sRUFBRSxNQUFNLENBQUMsc0JBQXNCLEVBQUU7NEJBQ3RDLFlBQVksRUFBRSxVQUFVLENBQ3RCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQzdDOzRCQUNELGlCQUFpQixFQUNmLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7NEJBQ25ELFlBQVksRUFBRSxVQUFVLENBQ3RCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQzdDOzRCQUNELGFBQWEsRUFBRSxVQUFVLENBQ3ZCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQzlDO3lCQUNGLENBQUM7d0JBQ0YsZ0JBQWdCLEVBQUUsVUFBVSxDQUMxQix1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FDekM7d0JBQ0Qsc0RBQXNEO3dCQUN0RCxnQkFBZ0IsRUFBRSxJQUFJLFVBQVUsRUFBRTtxQkFDbkMsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7U0FDRjtLQUNGLENBQ0YsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDakQsT0FBTyxNQUFNLFNBQVMsQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNqRSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxxQkFBcUIsR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUM7SUFDN0QsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkUsT0FBTztRQUNMLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxNQUFtQjtRQUNqRCxTQUFTLEVBQUUsaUJBQWlCLENBQzFCLGlCQUFpQixDQUFDLEtBQUssRUFDdkIsYUFBYSxDQUFDLFNBQVMsQ0FBTSxFQUM3QixXQUFXLENBQ1o7UUFDRCxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxTQUFTO0tBQ3RELENBQUM7QUFDSixDQUFDO0FBd0JELGdGQUFnRjtBQUNoRixtQkFBbUI7QUFDbkIsTUFBTSxDQUFDLEtBQUssVUFBVSx5QkFBeUIsQ0FBQyxFQUM5QyxPQUFPLEVBQ1AsNkJBQTZCLEVBQzdCLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGFBQWEsR0FDaUI7SUFHOUIsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUM1Qiw2QkFBNkI7UUFDM0Isc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDckQsQ0FBQztJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQzFDLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUM3QyxDQUFDO0lBRUYsNkVBQTZFO0lBQzdFLDZDQUE2QztJQUM3QyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztRQUN4QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUN4QixXQUFXLEVBQUUsd0JBQXdCO1FBQ3JDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUMzRCxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBTztTQUNqQjtRQUNELFVBQVUsRUFBRSw0QkFBNEI7UUFDeEMsYUFBYSxFQUFFLCtCQUErQjtLQUMvQyxDQUFDLENBQUM7SUFDSCxnRkFBZ0Y7SUFDaEYsb0RBQW9EO0lBQ3BELE1BQU0sZUFBZSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLE1BQU0saUJBQWlCLEdBQTJCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUN2RSxPQUFPLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRTtZQUNuQyxNQUFNLEVBQUUsTUFBTTtZQUNkLFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLDBCQUEwQjtvQkFDaEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRTt3QkFDNUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTs0QkFDM0MsTUFBTSxFQUFFLHVCQUF1QixDQUFDLE1BQU07NEJBQ3RDLE9BQU8sRUFBRSxNQUFNLENBQUMsc0JBQXNCLEVBQUU7Z0NBQ3RDLFlBQVksRUFBRSxVQUFVLENBQ3RCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQzdDO2dDQUNELGlCQUFpQixFQUNmLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7Z0NBQ25ELFlBQVksRUFBRSxVQUFVLENBQ3RCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQzdDO2dDQUNELGFBQWEsRUFBRSxVQUFVLENBQ3ZCLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQzlDOzZCQUNGLENBQUM7NEJBQ0YsZ0JBQWdCLEVBQUUsVUFBVSxDQUMxQix1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FDekM7NEJBQ0QsZ0JBQWdCLEVBQUUsSUFBSSxVQUFVLEVBQUU7eUJBQ25DLENBQUM7cUJBQ0gsQ0FBQztpQkFDSDthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLHNCQUFzQixHQUEyQixNQUFNLENBQzNELDRCQUE0QixFQUM1QjtRQUNFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPO1FBQ3JDLGlCQUFpQixFQUFFLGlCQUFpQjtRQUNwQyxlQUFlLEVBQUUsVUFBVSxDQUFDLGVBQWUsQ0FBQztLQUM3QyxDQUNGLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLGdCQUFnQixDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2pELE9BQU8sTUFBTSxTQUFTLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDakUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRWxCLElBQ0UsQ0FBQyxRQUFRLENBQUMsc0JBQXNCO1FBQ2hDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUM1QyxDQUFDO1FBQ0QsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUNYLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMxQyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFtQixDQUFDO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELE9BQU87WUFDTCxNQUFNLEVBQUUsQ0FBQztZQUNULFNBQVMsRUFBRSxpQkFBaUIsQ0FDMUIsaUJBQWlCLENBQUMsS0FBSyxFQUN2QixVQUE4QixFQUM5QixXQUFXLENBQ1o7WUFDRCxvQkFBb0IsRUFBRSxHQUFHLENBQUMsU0FBUztTQUNwQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFTCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsOEVBQThFO0FBQzlFLFlBQVk7QUFFWixnREFBZ0Q7QUFDaEQsU0FBUyxzQkFBc0I7SUFDN0IsMkVBQTJFO0lBQzNFLG9CQUFvQjtJQUNwQixNQUFNLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FDMUQsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssd0JBQXdCLENBQ2pELENBQUM7SUFDRixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxNQUFNLHFCQUFxQixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLHlCQUF5QixDQUM1RCxDQUFDO0lBQ0YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxPQUFPLHFCQUFxQixDQUFDLFVBQVUsQ0FBQztBQUMxQyxDQUFDO0FBRUQsdUNBQXVDO0FBQ3ZDLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNENBQTRDO0FBQzVDLFNBQVMsYUFBYTtJQUNwQixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUNsQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FDdkQsQ0FBQztJQUNGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUM7QUFDNUIsQ0FBQztBQUVELCtDQUErQztBQUMvQyxTQUFTLG1CQUFtQjtJQUMxQixNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQzNDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUMxRCxDQUFDO0lBQ0YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixtQkFBNEIsRUFDNUIsa0JBQTJEO0lBRTNELE9BQU8sV0FBVyxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxtQkFBbUI7UUFDNUIsR0FBRyxFQUFFLHdCQUF3QjtRQUM3QixNQUFNLEVBQUUsa0JBQWtCO0tBQzNCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUN2QixlQUF3QixFQUN4QixZQUFxRDtJQUVyRCxPQUFPLFdBQVcsQ0FBQztRQUNqQixPQUFPLEVBQUUsZUFBZTtRQUN4QixHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLE1BQU0sRUFBRSxZQUFZO0tBQ3JCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsZUFBZSxDQUM1QixlQUF3QixFQUN4QixZQUFxRDtJQUVyRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDakUsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0QsT0FBTyxXQUFXLENBQUM7UUFDakIsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixHQUFHLEVBQUUsZUFBZTtRQUNwQixNQUFNLEVBQUUsWUFBWTtLQUNyQixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
@@ -6,6 +6,8 @@ import { EciesScheme, SupportedFheType } from '../encryption/encryption.js';
|
|
6
6
|
import type { KmsClient } from '../kms/client.js';
|
7
7
|
import type { BackoffConfig } from '../retry.js';
|
8
8
|
import { AttestedComputeOP } from './types.js';
|
9
|
+
export declare const ATTESTED_COMPUTE_DOMAIN_NAME = "IncoAttestedCompute";
|
10
|
+
export declare const ATTESTED_COMPUTE_DOMAIN_VERSION = "0.1.0";
|
9
11
|
/**
|
10
12
|
* Arguments for creating an attested compute.
|
11
13
|
*/
|
@@ -1,15 +1,17 @@
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
1
2
|
import { hexToBytes } from 'viem';
|
2
3
|
import { validateHandle } from '../attesteddecrypt/attested-decrypt.js';
|
3
4
|
import { bigintToBytes32, bytesToBigInt } from '../binary.js';
|
4
5
|
import { getSupportedChain } from '../chain.js';
|
5
|
-
import { bigintToPlaintext, encryptionSchemes } from '../encryption/encryption.js';
|
6
|
+
import { bigintToPlaintext, encryptionSchemes, } from '../encryption/encryption.js';
|
7
|
+
import { AttestedComputeRequestSchema, } from '../generated/es/inco/kms/lite/v1/kms_service_pb.js';
|
6
8
|
import { getHandleType } from '../handle.js';
|
7
9
|
import { defaultCovalidatorGrpc, getKmsClient } from '../kms/client.js';
|
8
10
|
import { createEIP712Payload } from '../reencryption/eip712.js';
|
9
11
|
import { retryWithBackoff } from '../retry.js';
|
10
12
|
import { AttestedComputeError } from './types.js';
|
11
|
-
const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
|
12
|
-
const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
|
13
|
+
export const ATTESTED_COMPUTE_DOMAIN_NAME = 'IncoAttestedCompute';
|
14
|
+
export const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
|
13
15
|
/**
|
14
16
|
* Creates an attested compute function that can decrypt handles with an attached attestation from the covalidator.
|
15
17
|
* @param args - The arguments for creating the attested compute function
|
@@ -20,7 +22,8 @@ const ATTESTED_COMPUTE_DOMAIN_VERSION = '0.1.0';
|
|
20
22
|
*/
|
21
23
|
export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConfig, walletClient, kmsConnectRpcEndpointOrClient, chainId, }) {
|
22
24
|
try {
|
23
|
-
const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
|
25
|
+
const kmsClient = getKmsClient(kmsConnectRpcEndpointOrClient ||
|
26
|
+
defaultCovalidatorGrpc(getSupportedChain(chainId)));
|
24
27
|
validateHandle(lhsHandle);
|
25
28
|
const rhsPlaintextBig = BigInt(rhsPlaintext);
|
26
29
|
// Create the EIP712 payload for the handles to decrypt
|
@@ -43,20 +46,25 @@ export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConf
|
|
43
46
|
// Sign the EIP712 message
|
44
47
|
const eip712Signature = await walletClient.signTypedData(eip712Payload);
|
45
48
|
const rhsValueBytes = bigintToPlaintext(encryptionSchemes.ecies, getHandleType(lhsHandle), rhsPlaintextBig);
|
46
|
-
const attestedComputeRequest = {
|
47
|
-
$typeName: 'inco.kms.lite.v1.AttestedComputeRequest',
|
49
|
+
const attestedComputeRequest = create(AttestedComputeRequestSchema, {
|
48
50
|
userAddress: walletClient.account.address,
|
49
51
|
op: op,
|
50
52
|
lhsHandle: lhsHandle,
|
51
53
|
rhsPlaintext: rhsValueBytes.value.toString(16),
|
52
54
|
eip712Signature: hexToBytes(eip712Signature),
|
53
|
-
|
55
|
+
aclProof: {
|
56
|
+
proof: {
|
57
|
+
case: 'incoLiteBasicAclProof',
|
58
|
+
value: {},
|
59
|
+
},
|
60
|
+
},
|
61
|
+
});
|
54
62
|
const response = await retryWithBackoff(async () => {
|
55
63
|
return await kmsClient.attestedCompute(attestedComputeRequest);
|
56
64
|
}, backoffConfig);
|
57
65
|
const decryptionAttestation = response.decryptionAttestation;
|
58
66
|
if (decryptionAttestation?.plaintext === undefined) {
|
59
|
-
throw new AttestedComputeError('No plaintext in response');
|
67
|
+
throw new AttestedComputeError('No plaintext in compute response');
|
60
68
|
}
|
61
69
|
const computeResultHandle = response.decryptionAttestation?.handle;
|
62
70
|
if (!computeResultHandle) {
|
@@ -77,4 +85,4 @@ export async function attestedCompute({ lhsHandle, op, rhsPlaintext, backoffConf
|
|
77
85
|
throw new AttestedComputeError('Failed to perform attested compute', error);
|
78
86
|
}
|
79
87
|
}
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0ZWQtY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdHRlc3RlZGNvbXB1dGUvYXR0ZXN0ZWQtY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLGlCQUFpQixHQUVsQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFxQixNQUFNLFlBQVksQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxPQUFPLENBQUM7QUFjdkQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUE2QixFQUNoRSxTQUFTLEVBQ1QsRUFBRSxFQUNGLFlBQVksRUFDWixhQUFhLEVBQ2IsWUFBWSxFQUNaLDZCQUE2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
|
@@ -25,10 +25,11 @@ export declare class AttestedComputeError extends Error {
|
|
25
25
|
readonly cause?: unknown | undefined;
|
26
26
|
constructor(message: string, cause?: unknown | undefined);
|
27
27
|
}
|
28
|
-
export type AttestedCompute<S extends EncryptionScheme> = <T extends SupportedFheType>(args:
|
28
|
+
export type AttestedCompute<S extends EncryptionScheme> = <T extends SupportedFheType>(args: AttestedComputeFnArgs<S, T>) => Promise<DecryptionAttestation<S, T>>;
|
29
|
+
export type AttestedComputeFnArgs<S extends EncryptionScheme, T extends SupportedFheType> = {
|
29
30
|
/** The handle to compute on */
|
30
31
|
lhsHandle: HexString;
|
31
32
|
op: AttestedComputeOP;
|
32
33
|
rhsPlaintext: bigint | boolean;
|
33
34
|
backoffConfig?: Partial<BackoffConfig>;
|
34
|
-
}
|
35
|
+
};
|
@@ -39,4 +39,4 @@ export class AttestedComputeError extends Error {
|
|
39
39
|
this.name = 'AttestedComputeError';
|
40
40
|
}
|
41
41
|
}
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXR0ZXN0ZWRjb21wdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzdGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekM7Ozs7Ozs7Ozs7Ozs7TUFhRTtJQUNGLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0lBQ2xDOzs7TUFHRTtDQUNNLENBQUM7QUFRWDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxLQUFLO0lBRzNCO0lBRmxCLFlBQ0UsT0FBZSxFQUNDLEtBQWU7UUFFL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRkMsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7Q0FDRiJ9
|
@@ -5,6 +5,8 @@ import { EciesScheme, SupportedFheType } from '../encryption/encryption.js';
|
|
5
5
|
import type { KmsClient } from '../kms/client.js';
|
6
6
|
import type { BackoffConfig } from '../retry.js';
|
7
7
|
import { DecryptionAttestation } from './types.js';
|
8
|
+
export declare const ATTESTED_DECRYPT_DOMAIN_NAME = "IncoAttestedDecrypt";
|
9
|
+
export declare const ATTESTED_DECRYPT_DOMAIN_VERSION = "0.1.0";
|
8
10
|
/**
|
9
11
|
* Validates a handle format.
|
10
12
|
* @param handle - The handle to validate
|