@primuslabs/fhetransform-sdk 0.4.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 +198 -0
- package/dist/abis/acl.abi.d.ts +379 -0
- package/dist/abis/acl.abi.js +495 -0
- package/dist/abis/acl.abi.js.map +1 -0
- package/dist/abis/alphatrion_reward.abi.d.ts +407 -0
- package/dist/abis/alphatrion_reward.abi.js +532 -0
- package/dist/abis/alphatrion_reward.abi.js.map +1 -0
- package/dist/abis/ciphertext_digests.abi.d.ts +336 -0
- package/dist/abis/ciphertext_digests.abi.js +444 -0
- package/dist/abis/ciphertext_digests.abi.js.map +1 -0
- package/dist/abis/ciphertext_verification.abi.d.ts +637 -0
- package/dist/abis/ciphertext_verification.abi.js +830 -0
- package/dist/abis/ciphertext_verification.abi.js.map +1 -0
- package/dist/abis/convert_token.abi.d.ts +922 -0
- package/dist/abis/convert_token.abi.js +1208 -0
- package/dist/abis/convert_token.abi.js.map +1 -0
- package/dist/abis/decryption.abi.d.ts +956 -0
- package/dist/abis/decryption.abi.js +1244 -0
- package/dist/abis/decryption.abi.js.map +1 -0
- package/dist/abis/erc20.abi.d.ts +265 -0
- package/dist/abis/erc20.abi.js +350 -0
- package/dist/abis/erc20.abi.js.map +1 -0
- package/dist/abis/fhe_executor.abi.d.ts +1535 -0
- package/dist/abis/fhe_executor.abi.js +1962 -0
- package/dist/abis/fhe_executor.abi.js.map +1 -0
- package/dist/abis/space_bridge_config.abi.d.ts +792 -0
- package/dist/abis/space_bridge_config.abi.js +1032 -0
- package/dist/abis/space_bridge_config.abi.js.map +1 -0
- package/dist/abis/token.abi.d.ts +630 -0
- package/dist/abis/token.abi.js +828 -0
- package/dist/abis/token.abi.js.map +1 -0
- package/dist/cli/eusdc.d.ts +2 -0
- package/dist/cli/eusdc.js +41 -0
- package/dist/cli/eusdc.js.map +1 -0
- package/dist/contract/callbacks.d.ts +59 -0
- package/dist/contract/callbacks.js +2 -0
- package/dist/contract/callbacks.js.map +1 -0
- package/dist/contract/convert-token.d.ts +107 -0
- package/dist/contract/convert-token.js +249 -0
- package/dist/contract/convert-token.js.map +1 -0
- package/dist/contract/token.d.ts +167 -0
- package/dist/contract/token.js +404 -0
- package/dist/contract/token.js.map +1 -0
- package/dist/contract/transaction.d.ts +29 -0
- package/dist/contract/transaction.js +2 -0
- package/dist/contract/transaction.js.map +1 -0
- package/dist/core/address.d.ts +118 -0
- package/dist/core/address.js +200 -0
- package/dist/core/address.js.map +1 -0
- package/dist/core/auth.d.ts +68 -0
- package/dist/core/auth.js +58 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/bytes.d.ts +48 -0
- package/dist/core/bytes.js +117 -0
- package/dist/core/bytes.js.map +1 -0
- package/dist/core/cache-manager.d.ts +138 -0
- package/dist/core/cache-manager.js +440 -0
- package/dist/core/cache-manager.js.map +1 -0
- package/dist/core/chain.d.ts +41 -0
- package/dist/core/chain.js +59 -0
- package/dist/core/chain.js.map +1 -0
- package/dist/core/constants.d.ts +24 -0
- package/dist/core/constants.js +25 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/error.d.ts +2 -0
- package/dist/core/error.js +14 -0
- package/dist/core/error.js.map +1 -0
- package/dist/core/errors/error-catalog.d.ts +29 -0
- package/dist/core/errors/error-catalog.js +84 -0
- package/dist/core/errors/error-catalog.js.map +1 -0
- package/dist/core/errors/error-codes.d.ts +52 -0
- package/dist/core/errors/error-codes.js +61 -0
- package/dist/core/errors/error-codes.js.map +1 -0
- package/dist/core/errors/error-utils.d.ts +27 -0
- package/dist/core/errors/error-utils.js +110 -0
- package/dist/core/errors/error-utils.js.map +1 -0
- package/dist/core/errors/fhe-error.d.ts +98 -0
- package/dist/core/errors/fhe-error.js +190 -0
- package/dist/core/errors/fhe-error.js.map +1 -0
- package/dist/core/errors/index.d.ts +4 -0
- package/dist/core/errors/index.js +5 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/estimate.d.ts +39 -0
- package/dist/core/estimate.js +111 -0
- package/dist/core/estimate.js.map +1 -0
- package/dist/core/event.d.ts +212 -0
- package/dist/core/event.js +42 -0
- package/dist/core/event.js.map +1 -0
- package/dist/core/fhe-type.d.ts +75 -0
- package/dist/core/fhe-type.js +115 -0
- package/dist/core/fhe-type.js.map +1 -0
- package/dist/core/fhe.d.ts +11 -0
- package/dist/core/fhe.js +23 -0
- package/dist/core/fhe.js.map +1 -0
- package/dist/core/handle.d.ts +42 -0
- package/dist/core/handle.js +99 -0
- package/dist/core/handle.js.map +1 -0
- package/dist/core/json-utils.d.ts +18 -0
- package/dist/core/json-utils.js +37 -0
- package/dist/core/json-utils.js.map +1 -0
- package/dist/core/kms.d.ts +42 -0
- package/dist/core/kms.js +70 -0
- package/dist/core/kms.js.map +1 -0
- package/dist/core/logger.d.ts +3 -0
- package/dist/core/logger.js +11 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/pretty-print.d.ts +18 -0
- package/dist/core/pretty-print.js +84 -0
- package/dist/core/pretty-print.js.map +1 -0
- package/dist/core/primitives.d.ts +22 -0
- package/dist/core/primitives.js +2 -0
- package/dist/core/primitives.js.map +1 -0
- package/dist/core/retryable-handler.d.ts +74 -0
- package/dist/core/retryable-handler.js +227 -0
- package/dist/core/retryable-handler.js.map +1 -0
- package/dist/core/signer-address-info.d.ts +15 -0
- package/dist/core/signer-address-info.js +33 -0
- package/dist/core/signer-address-info.js.map +1 -0
- package/dist/core/string.d.ts +28 -0
- package/dist/core/string.js +33 -0
- package/dist/core/string.js.map +1 -0
- package/dist/core/swallow.d.ts +23 -0
- package/dist/core/swallow.js +37 -0
- package/dist/core/swallow.js.map +1 -0
- package/dist/core/system-contract-info.d.ts +17 -0
- package/dist/core/system-contract-info.js +41 -0
- package/dist/core/system-contract-info.js.map +1 -0
- package/dist/core/ttl-cache.d.ts +81 -0
- package/dist/core/ttl-cache.js +113 -0
- package/dist/core/ttl-cache.js.map +1 -0
- package/dist/core/tx-error-parser.d.ts +40 -0
- package/dist/core/tx-error-parser.js +83 -0
- package/dist/core/tx-error-parser.js.map +1 -0
- package/dist/core/utils.d.ts +62 -0
- package/dist/core/utils.js +143 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/jazz/encrypt-key-p.d.ts +65 -0
- package/dist/jazz/encrypt-key-p.js +283 -0
- package/dist/jazz/encrypt-key-p.js.map +1 -0
- package/dist/jazz/encrypt-p.d.ts +82 -0
- package/dist/jazz/encrypt-p.js +139 -0
- package/dist/jazz/encrypt-p.js.map +1 -0
- package/dist/jazz/encrypt.d.ts +58 -0
- package/dist/jazz/encrypt.js +155 -0
- package/dist/jazz/encrypt.js.map +1 -0
- package/dist/jazz/input-proof-p.d.ts +122 -0
- package/dist/jazz/input-proof-p.js +265 -0
- package/dist/jazz/input-proof-p.js.map +1 -0
- package/dist/jazz/jazz-client-i.d.ts +16 -0
- package/dist/jazz/jazz-client-i.js +2 -0
- package/dist/jazz/jazz-client-i.js.map +1 -0
- package/dist/jazz/jazz-client.d.ts +18 -0
- package/dist/jazz/jazz-client.js +24 -0
- package/dist/jazz/jazz-client.js.map +1 -0
- package/dist/jazz/key-pair.d.ts +50 -0
- package/dist/jazz/key-pair.js +166 -0
- package/dist/jazz/key-pair.js.map +1 -0
- package/dist/jazz/mock/fake.d.ts +3 -0
- package/dist/jazz/mock/fake.js +23 -0
- package/dist/jazz/mock/fake.js.map +1 -0
- package/dist/jazz/mock/fetch-input-proof.d.ts +4 -0
- package/dist/jazz/mock/fetch-input-proof.js +63 -0
- package/dist/jazz/mock/fetch-input-proof.js.map +1 -0
- package/dist/jazz/mock/fetch-key-url.d.ts +3 -0
- package/dist/jazz/mock/fetch-key-url.js +15 -0
- package/dist/jazz/mock/fetch-key-url.js.map +1 -0
- package/dist/jazz/mock/fetch-public-decrypt.d.ts +3 -0
- package/dist/jazz/mock/fetch-public-decrypt.js +81 -0
- package/dist/jazz/mock/fetch-public-decrypt.js.map +1 -0
- package/dist/jazz/mock/fetch-user-decrypt.d.ts +4 -0
- package/dist/jazz/mock/fetch-user-decrypt.js +174 -0
- package/dist/jazz/mock/fetch-user-decrypt.js.map +1 -0
- package/dist/jazz/module/fetch-input-proof.d.ts +19 -0
- package/dist/jazz/module/fetch-input-proof.js +72 -0
- package/dist/jazz/module/fetch-input-proof.js.map +1 -0
- package/dist/jazz/module/fetch-key-url.d.ts +17 -0
- package/dist/jazz/module/fetch-key-url.js +46 -0
- package/dist/jazz/module/fetch-key-url.js.map +1 -0
- package/dist/jazz/module/fetch-public-decrypt.d.ts +19 -0
- package/dist/jazz/module/fetch-public-decrypt.js +65 -0
- package/dist/jazz/module/fetch-public-decrypt.js.map +1 -0
- package/dist/jazz/module/fetch-user-decrypt.d.ts +19 -0
- package/dist/jazz/module/fetch-user-decrypt.js +109 -0
- package/dist/jazz/module/fetch-user-decrypt.js.map +1 -0
- package/dist/jazz/module/jazz-async-request.d.ts +102 -0
- package/dist/jazz/module/jazz-async-request.js +515 -0
- package/dist/jazz/module/jazz-async-request.js.map +1 -0
- package/dist/jazz/module/jazz-p.d.ts +61 -0
- package/dist/jazz/module/jazz-p.js +33 -0
- package/dist/jazz/module/jazz-p.js.map +1 -0
- package/dist/jazz/module/s3-download.d.ts +85 -0
- package/dist/jazz/module/s3-download.js +293 -0
- package/dist/jazz/module/s3-download.js.map +1 -0
- package/dist/jazz/permit.d.ts +200 -0
- package/dist/jazz/permit.js +319 -0
- package/dist/jazz/permit.js.map +1 -0
- package/dist/jazz/public-decrypt-p.d.ts +96 -0
- package/dist/jazz/public-decrypt-p.js +258 -0
- package/dist/jazz/public-decrypt-p.js.map +1 -0
- package/dist/jazz/public-decrypt.d.ts +48 -0
- package/dist/jazz/public-decrypt.js +156 -0
- package/dist/jazz/public-decrypt.js.map +1 -0
- package/dist/jazz/read-contract.d.ts +81 -0
- package/dist/jazz/read-contract.js +125 -0
- package/dist/jazz/read-contract.js.map +1 -0
- package/dist/jazz/types/common.d.ts +17 -0
- package/dist/jazz/types/common.js +2 -0
- package/dist/jazz/types/common.js.map +1 -0
- package/dist/jazz/types/input-proof.d.ts +76 -0
- package/dist/jazz/types/input-proof.js +2 -0
- package/dist/jazz/types/input-proof.js.map +1 -0
- package/dist/jazz/types/key-url.d.ts +68 -0
- package/dist/jazz/types/key-url.js +5 -0
- package/dist/jazz/types/key-url.js.map +1 -0
- package/dist/jazz/types/public-decrypt.d.ts +61 -0
- package/dist/jazz/types/public-decrypt.js +2 -0
- package/dist/jazz/types/public-decrypt.js.map +1 -0
- package/dist/jazz/types/user-decrypt.d.ts +123 -0
- package/dist/jazz/types/user-decrypt.js +2 -0
- package/dist/jazz/types/user-decrypt.js.map +1 -0
- package/dist/jazz/user-decrypt-p.d.ts +111 -0
- package/dist/jazz/user-decrypt-p.js +280 -0
- package/dist/jazz/user-decrypt-p.js.map +1 -0
- package/dist/jazz/user-decrypt.d.ts +74 -0
- package/dist/jazz/user-decrypt.js +143 -0
- package/dist/jazz/user-decrypt.js.map +1 -0
- package/dist/native/fhe-api.js +5959 -0
- package/dist/native/fhe-api.node.cjs +6167 -0
- package/dist/native/fhe-api.node.worker.cjs +210 -0
- package/dist/native/fhe-api.wasm +0 -0
- package/dist/native/fhe-api.worker.js +164 -0
- package/dist/native/kms/node/kms_lib.d.ts +38 -0
- package/dist/native/kms/node/kms_lib.js +356 -0
- package/dist/native/kms/node/kms_lib_bg.wasm +0 -0
- package/dist/native/kms/node/kms_lib_bg.wasm.d.ts +21 -0
- package/dist/native/kms/node/package.json +11 -0
- package/dist/native/kms/web/kms_lib.d.ts +84 -0
- package/dist/native/kms/web/kms_lib.js +443 -0
- package/dist/native/kms/web/kms_lib_bg.wasm +0 -0
- package/dist/native/kms/web/kms_lib_bg.wasm.d.ts +21 -0
- package/dist/native/kms/web/package.json +15 -0
- package/dist/runtime/browser.d.ts +36 -0
- package/dist/runtime/browser.js +115 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/node.d.ts +30 -0
- package/dist/runtime/node.js +95 -0
- package/dist/runtime/node.js.map +1 -0
- package/dist/sdk/fhetransform-sdk-b.d.ts +102 -0
- package/dist/sdk/fhetransform-sdk-b.js +294 -0
- package/dist/sdk/fhetransform-sdk-b.js.map +1 -0
- package/dist/sdk/fhetransform-sdk.d.ts +87 -0
- package/dist/sdk/fhetransform-sdk.js +135 -0
- package/dist/sdk/fhetransform-sdk.js.map +1 -0
- package/dist/sdk/jazz-service.d.ts +13 -0
- package/dist/sdk/jazz-service.js +58 -0
- package/dist/sdk/jazz-service.js.map +1 -0
- package/dist/sdk/permit-service.d.ts +45 -0
- package/dist/sdk/permit-service.js +144 -0
- package/dist/sdk/permit-service.js.map +1 -0
- package/dist/wasm/fhe-wasm-client.d.ts +19 -0
- package/dist/wasm/fhe-wasm-client.js +23 -0
- package/dist/wasm/fhe-wasm-client.js.map +1 -0
- package/dist/wasm/fhe-wasm-module.d.ts +24 -0
- package/dist/wasm/fhe-wasm-module.js +141 -0
- package/dist/wasm/fhe-wasm-module.js.map +1 -0
- package/dist/wasm/fhe-wasm-type.d.ts +59 -0
- package/dist/wasm/fhe-wasm-type.js +244 -0
- package/dist/wasm/fhe-wasm-type.js.map +1 -0
- package/dist/wasm/wasm-loader.browser.d.ts +21 -0
- package/dist/wasm/wasm-loader.browser.js +143 -0
- package/dist/wasm/wasm-loader.browser.js.map +1 -0
- package/dist/wasm/wasm-loader.node.d.ts +24 -0
- package/dist/wasm/wasm-loader.node.js +114 -0
- package/dist/wasm/wasm-loader.node.js.map +1 -0
- package/dist/wasm/worker-client.browser.d.ts +6 -0
- package/dist/wasm/worker-client.browser.js +21 -0
- package/dist/wasm/worker-client.browser.js.map +1 -0
- package/dist/wasm/worker-client.d.ts +34 -0
- package/dist/wasm/worker-client.js +160 -0
- package/dist/wasm/worker-client.js.map +1 -0
- package/dist/wasm/worker-client.node.d.ts +6 -0
- package/dist/wasm/worker-client.node.js +20 -0
- package/dist/wasm/worker-client.node.js.map +1 -0
- package/dist/wasm/worker-message.d.ts +61 -0
- package/dist/wasm/worker-message.js +2 -0
- package/dist/wasm/worker-message.js.map +1 -0
- package/dist/wasm/worker-transport.browser.d.ts +15 -0
- package/dist/wasm/worker-transport.browser.js +35 -0
- package/dist/wasm/worker-transport.browser.js.map +1 -0
- package/dist/wasm/worker-transport.d.ts +6 -0
- package/dist/wasm/worker-transport.js +2 -0
- package/dist/wasm/worker-transport.js.map +1 -0
- package/dist/wasm/worker-transport.node.d.ts +17 -0
- package/dist/wasm/worker-transport.node.js +39 -0
- package/dist/wasm/worker-transport.node.js.map +1 -0
- package/dist/wasm/worker.d.ts +1 -0
- package/dist/wasm/worker.js +69 -0
- package/dist/wasm/worker.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.abi.js","sourceRoot":"","sources":["../../src/abis/token.abi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import 'dotenv/config';
|
|
3
|
+
import { Command } from "commander";
|
|
4
|
+
import { logger } from '../core/logger.js';
|
|
5
|
+
import { FheTransformSDK } from '../index.js';
|
|
6
|
+
// import { FheTransformSDK, FheType, Address, HandleLike } from '../../src/index.js';
|
|
7
|
+
const CONVERT_TOKEN_ADDRESS = "0xcc4ACB51Ca0dB4dA778b836f81D2675846956206";
|
|
8
|
+
async function main() {
|
|
9
|
+
logger.info("======== E-USDC ========");
|
|
10
|
+
const program = new Command();
|
|
11
|
+
const sdk = new FheTransformSDK({
|
|
12
|
+
// jazzUrl: "http://34.85.74.126:3000"
|
|
13
|
+
});
|
|
14
|
+
const token = sdk.createConvertToken(CONVERT_TOKEN_ADDRESS);
|
|
15
|
+
program
|
|
16
|
+
.command("name")
|
|
17
|
+
.description("Returns the name of the token.")
|
|
18
|
+
.action(async (_opts) => {
|
|
19
|
+
logger.info("Token name:", await token.name());
|
|
20
|
+
});
|
|
21
|
+
program
|
|
22
|
+
.command("symbol")
|
|
23
|
+
.description("Returns the symbol of the token, a shorter version of the name.")
|
|
24
|
+
.action(async (_opts) => {
|
|
25
|
+
logger.info("Token symbol:", await token.symbol());
|
|
26
|
+
});
|
|
27
|
+
program
|
|
28
|
+
.command("decimals")
|
|
29
|
+
.description("Returns the number of decimals used to get its user representation.")
|
|
30
|
+
.action(async (_opts) => {
|
|
31
|
+
logger.info("Token decimals:", await token.decimals());
|
|
32
|
+
});
|
|
33
|
+
await program.parseAsync();
|
|
34
|
+
}
|
|
35
|
+
main().then(() => {
|
|
36
|
+
setTimeout(() => { process.exit(0); }, 1000);
|
|
37
|
+
}).catch((error) => {
|
|
38
|
+
logger.error('FHE Transform Cli error:', error, error.stack);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=eusdc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eusdc.js","sourceRoot":"","sources":["../../src/cli/eusdc.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAW,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,sFAAsF;AAEtF,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAC3E,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;IAC9B,sCAAsC;KACvC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC,qBAAgC,CAAC,CAAC;IAEvE,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACjB,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { ethers } from "ethers";
|
|
2
|
+
import { BytesHex } from "../core/primitives.js";
|
|
3
|
+
/**
|
|
4
|
+
* Base error callback interface for handling operation failures.
|
|
5
|
+
*/
|
|
6
|
+
export interface ErrorCallbacks {
|
|
7
|
+
/** Called when an error occurs during the operation */
|
|
8
|
+
onError?: (error: Error) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Progress callbacks for multi-step shield operations (deposit/encrypt).
|
|
12
|
+
*/
|
|
13
|
+
export interface ShieldCallbacks extends ErrorCallbacks {
|
|
14
|
+
/** Called after the shield (wrap) transaction is submitted. */
|
|
15
|
+
onShieldSubmitted?: (txHash: BytesHex) => void;
|
|
16
|
+
/** Called after the shield transaction is confirmed on-chain. */
|
|
17
|
+
onShieldConfirmed?: (receipt: ethers.TransactionReceipt) => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Progress callbacks for multi-step unshield operations (withdraw/decrypt).
|
|
21
|
+
*/
|
|
22
|
+
export interface UnshieldCallbacks extends ErrorCallbacks {
|
|
23
|
+
/** Called after FHE encryption of the unshield request completes. */
|
|
24
|
+
onEncryptComplete?: () => void;
|
|
25
|
+
/** Called after the unshield transaction is submitted. */
|
|
26
|
+
onUnshieldSubmitted?: (txHash: BytesHex) => void;
|
|
27
|
+
/** Called after the unshield transaction is confirmed on-chain. */
|
|
28
|
+
onUnshieldConfirmed?: (receipt: ethers.TransactionReceipt) => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Progress callbacks for finalizing an unshield operation.
|
|
32
|
+
*/
|
|
33
|
+
export interface FinalizeUnshieldCallbacks extends ErrorCallbacks {
|
|
34
|
+
/** Called after public decryption of the unshield request completes. */
|
|
35
|
+
onPublicDecryptionComplete?: () => void;
|
|
36
|
+
/** Called after the finalize transaction is submitted. */
|
|
37
|
+
onFinalizeSubmitted?: (txHash: BytesHex) => void;
|
|
38
|
+
/** Called after the finalize transaction is confirmed on-chain. */
|
|
39
|
+
onFinalizeConfirmed?: (receipt: ethers.TransactionReceipt) => void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Combined callbacks for unshield-and-finalize operations.
|
|
43
|
+
* Excludes duplicate `onError` callbacks from the constituent interfaces.
|
|
44
|
+
*/
|
|
45
|
+
export interface UnshieldAndFinalizeCallbacks extends Omit<UnshieldCallbacks, "onError">, Omit<FinalizeUnshieldCallbacks, "onError"> {
|
|
46
|
+
/** Called when an error occurs during the operation */
|
|
47
|
+
onError?: (error: Error) => void;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Progress callbacks for multi-step confidential transfer operations.
|
|
51
|
+
*/
|
|
52
|
+
export interface TransferCallbacks extends ErrorCallbacks {
|
|
53
|
+
/** Called after FHE encryption of the transfer amount completes. */
|
|
54
|
+
onEncryptComplete?: () => void;
|
|
55
|
+
/** Called after the transfer transaction is submitted. */
|
|
56
|
+
onTransferSubmitted?: (txHash: BytesHex) => void;
|
|
57
|
+
/** Called after the transfer transaction is confirmed on-chain. */
|
|
58
|
+
onTransferConfirmed?: (receipt: ethers.TransactionReceipt) => void;
|
|
59
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../../src/contract/callbacks.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Address, Bytes32Hex } from "../core/primitives.js";
|
|
2
|
+
import { FinalizeUnshieldCallbacks, ShieldCallbacks, UnshieldAndFinalizeCallbacks, UnshieldCallbacks } from "./callbacks";
|
|
3
|
+
import { Token } from "./token.js";
|
|
4
|
+
import { TransactionResult } from "./transaction.js";
|
|
5
|
+
/** Options for shielding (depositing/encrypting) tokens. */
|
|
6
|
+
export interface ShieldOptions extends ShieldCallbacks {
|
|
7
|
+
/** Recipient address for the shielded tokens. Defaults to the connected wallet. */
|
|
8
|
+
to?: Address;
|
|
9
|
+
}
|
|
10
|
+
/** Options for unshielding (withdrawing/decrypting) tokens. */
|
|
11
|
+
export interface UnshieldOptions extends UnshieldCallbacks {
|
|
12
|
+
/** Source address for the unshield operation. Defaults to the connected wallet. */
|
|
13
|
+
from?: Address;
|
|
14
|
+
/** Destination address for the unshielded tokens. Defaults to the connected wallet. */
|
|
15
|
+
to?: Address;
|
|
16
|
+
}
|
|
17
|
+
/** Options for finalizing an unshield operation. */
|
|
18
|
+
export interface FinalizeUnshieldOptions extends FinalizeUnshieldCallbacks {
|
|
19
|
+
}
|
|
20
|
+
/** Options for combined unshield-and-finalize operations. */
|
|
21
|
+
export interface UnshieldAndFinalizeOptions extends UnshieldAndFinalizeCallbacks {
|
|
22
|
+
}
|
|
23
|
+
/** Result of a shield operation. */
|
|
24
|
+
export interface ShieldResult extends TransactionResult {
|
|
25
|
+
/** The rounded encrypted amount after precision adjustments. */
|
|
26
|
+
roundedAmount: Bytes32Hex;
|
|
27
|
+
/** The actual amount sent as encrypted value. */
|
|
28
|
+
shieldedAmountSent: Bytes32Hex;
|
|
29
|
+
}
|
|
30
|
+
/** Result of an unshield operation. */
|
|
31
|
+
export interface UnshieldResult extends TransactionResult {
|
|
32
|
+
/** Unique identifier for the unshield request. */
|
|
33
|
+
unshieldRequestId: Bytes32Hex;
|
|
34
|
+
/** The amount being unshielded in encrypted form. */
|
|
35
|
+
unshieldAmount: Bytes32Hex;
|
|
36
|
+
}
|
|
37
|
+
/** Result of finalizing an unshield operation. */
|
|
38
|
+
export interface FinalizeUnshieldResult extends TransactionResult {
|
|
39
|
+
/** Unique identifier for the unshield request being finalized. */
|
|
40
|
+
unshieldRequestId: Bytes32Hex;
|
|
41
|
+
/** The decrypted cleartext amount received. */
|
|
42
|
+
cleartext: bigint;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Confidential token wrapper that provides shielded (encrypted) ERC-20 functionality.
|
|
46
|
+
* Supports shield (deposit), unshield (withdraw), and transfer operations.
|
|
47
|
+
*/
|
|
48
|
+
export declare class ConvertToken extends Token {
|
|
49
|
+
/**
|
|
50
|
+
* Gets the underlying ERC-20 token address.
|
|
51
|
+
* @returns The underlying token address
|
|
52
|
+
*/
|
|
53
|
+
underlying(): Promise<Address>;
|
|
54
|
+
/**
|
|
55
|
+
* Gets the conversion rate between underlying and confidential tokens.
|
|
56
|
+
* @returns The conversion rate
|
|
57
|
+
*/
|
|
58
|
+
rate(): Promise<bigint>;
|
|
59
|
+
/**
|
|
60
|
+
* Shields underlying ERC-20 tokens into confidential tokens.
|
|
61
|
+
* @dev Shield status: [start] --> shield submit --> shield confirm
|
|
62
|
+
* @param amount - The amount of underlying tokens to shield
|
|
63
|
+
* @param options - Shield options (recipient address, callbacks)
|
|
64
|
+
* @returns Transaction result with encrypted amounts
|
|
65
|
+
*/
|
|
66
|
+
shield(amount: bigint, options?: ShieldOptions): Promise<ShieldResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Unshields confidential tokens back to underlying ERC-20 tokens.
|
|
69
|
+
* This is the first step of the two-step unshield process.
|
|
70
|
+
* @dev Unshield status: [start] --> encrypt complete --> unshield submit --> unshield confirm
|
|
71
|
+
* @param amount - The amount of confidential tokens to unshield
|
|
72
|
+
* @param options - Unshield options (from, to addresses, callbacks)
|
|
73
|
+
* @returns Unshield result with request ID and encrypted amount
|
|
74
|
+
*/
|
|
75
|
+
unshield(amount: bigint, options?: UnshieldOptions): Promise<UnshieldResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Finalizes an unshield request by providing the decryption proof.
|
|
78
|
+
* This is the second step of the two-step unshield process.
|
|
79
|
+
* @dev Finalize status: [start] --> public decrypt complete --> finalize unshield submit --> finalize unshield confirm
|
|
80
|
+
* @param unshieldRequestId - The request ID from the unshield step
|
|
81
|
+
* @param options - Finalization options with callbacks
|
|
82
|
+
* @returns Transaction result with cleartext amount
|
|
83
|
+
*/
|
|
84
|
+
finalizeUnshield(unshieldRequestId: Bytes32Hex, options?: FinalizeUnshieldOptions): Promise<FinalizeUnshieldResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Complete unshield flow: unshield + finalize in a single operation.
|
|
87
|
+
* @dev UnshieldAndFinalize status: Unshield + Finalize
|
|
88
|
+
* @param amount - The amount to unshield
|
|
89
|
+
* @param options - Combined unshield and finalize options
|
|
90
|
+
* @returns Finalized unshield result
|
|
91
|
+
*/
|
|
92
|
+
unshieldAndFinalize(amount: bigint, options?: UnshieldAndFinalizeOptions): Promise<FinalizeUnshieldResult>;
|
|
93
|
+
/**
|
|
94
|
+
* Confirms a transaction and logs its status.
|
|
95
|
+
* @param tx - The transaction object
|
|
96
|
+
* @param operation - Name of the operation for logging
|
|
97
|
+
* @returns The transaction receipt
|
|
98
|
+
* @throws Error if the transaction reverts
|
|
99
|
+
*/
|
|
100
|
+
private _confirmTransaction;
|
|
101
|
+
/**
|
|
102
|
+
* Performs public decryption on an encrypted value and returns the cleartext with proof.
|
|
103
|
+
* @param encryptedValue - The encrypted value to decrypt
|
|
104
|
+
* @returns The decrypted cleartext and decryption proof
|
|
105
|
+
*/
|
|
106
|
+
private _publicDecrypt;
|
|
107
|
+
}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { toBytes32Hex } from "../core/bytes.js";
|
|
2
|
+
import { FheTransformSDKEvents } from "../core/event.js";
|
|
3
|
+
import { FheType } from "../core/fhe-type.js";
|
|
4
|
+
import { logger } from "../core/logger.js";
|
|
5
|
+
import { formatValue } from "../core/pretty-print.js";
|
|
6
|
+
import { swallow } from "../core/swallow.js";
|
|
7
|
+
import { Token } from "./token.js";
|
|
8
|
+
import { FheErrorCode } from "../core/errors/error-codes.js";
|
|
9
|
+
import { FheError } from "../core/errors/fhe-error.js";
|
|
10
|
+
// ============================================
|
|
11
|
+
// ConvertToken: Confidential Token Converter
|
|
12
|
+
// ============================================
|
|
13
|
+
/**
|
|
14
|
+
* Confidential token wrapper that provides shielded (encrypted) ERC-20 functionality.
|
|
15
|
+
* Supports shield (deposit), unshield (withdraw), and transfer operations.
|
|
16
|
+
*/
|
|
17
|
+
export class ConvertToken extends Token {
|
|
18
|
+
// ============================================
|
|
19
|
+
// Wrapper Reads
|
|
20
|
+
// ============================================
|
|
21
|
+
/**
|
|
22
|
+
* Gets the underlying ERC-20 token address.
|
|
23
|
+
* @returns The underlying token address
|
|
24
|
+
*/
|
|
25
|
+
async underlying() {
|
|
26
|
+
const contract = await this.ensureContract();
|
|
27
|
+
return await contract.underlying();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Gets the conversion rate between underlying and confidential tokens.
|
|
31
|
+
* @returns The conversion rate
|
|
32
|
+
*/
|
|
33
|
+
async rate() {
|
|
34
|
+
const contract = await this.ensureContract();
|
|
35
|
+
return await contract.rate();
|
|
36
|
+
}
|
|
37
|
+
// ============================================
|
|
38
|
+
// Shield (ERC-20 → Confidential)
|
|
39
|
+
// ============================================
|
|
40
|
+
/**
|
|
41
|
+
* Shields underlying ERC-20 tokens into confidential tokens.
|
|
42
|
+
* @dev Shield status: [start] --> shield submit --> shield confirm
|
|
43
|
+
* @param amount - The amount of underlying tokens to shield
|
|
44
|
+
* @param options - Shield options (recipient address, callbacks)
|
|
45
|
+
* @returns Transaction result with encrypted amounts
|
|
46
|
+
*/
|
|
47
|
+
async shield(amount, options) {
|
|
48
|
+
const t0 = Date.now();
|
|
49
|
+
const to = options?.to ?? (await this.sdk.requireWalletAddress());
|
|
50
|
+
logger.info("Shielding tokens", { to, amount });
|
|
51
|
+
const totalFee = await this.getFheFee("shield");
|
|
52
|
+
const contract = await this.ensureWriteContract();
|
|
53
|
+
const tx = await this.countRetryHandler.withRetry(async () => {
|
|
54
|
+
return await contract.shield(to, amount, { value: totalFee }).catch(this.sdk.errorParser.catch);
|
|
55
|
+
}, "shield");
|
|
56
|
+
swallow("onShieldSubmitted", () => options?.onShieldSubmitted?.(tx.hash));
|
|
57
|
+
this.emit({ type: FheTransformSDKEvents.ShieldSubmitted, txHash: tx.hash, elapsedMs: Date.now() - t0 });
|
|
58
|
+
const receipt = await this._confirmTransaction(tx, "Shield");
|
|
59
|
+
swallow("onShieldConfirmed", () => options?.onShieldConfirmed?.(receipt));
|
|
60
|
+
this.emit({ type: FheTransformSDKEvents.ShieldConfirmed, txHash: tx.hash, elapsedMs: Date.now() - t0 });
|
|
61
|
+
const shieldEvent = this.parseEvent(contract, receipt, "Shield");
|
|
62
|
+
if (!shieldEvent) {
|
|
63
|
+
logger.error("Shield event not found", {
|
|
64
|
+
txHash: tx.hash,
|
|
65
|
+
blockNumber: receipt.blockNumber,
|
|
66
|
+
logCount: receipt.logs.length,
|
|
67
|
+
});
|
|
68
|
+
throw new FheError({ code: FheErrorCode.ContractCallFailed, message: "Shield event not found in transaction logs", context: { eventName: "Shield" } });
|
|
69
|
+
}
|
|
70
|
+
logger.info("Shield completed", {
|
|
71
|
+
roundedAmount: shieldEvent.args[1],
|
|
72
|
+
shieldedAmountSent: shieldEvent.args[2],
|
|
73
|
+
});
|
|
74
|
+
this.emit({ type: FheTransformSDKEvents.ShieldEnd, txHash: tx.hash, durationMs: Date.now() - t0 });
|
|
75
|
+
return {
|
|
76
|
+
txHash: tx.hash,
|
|
77
|
+
receipt,
|
|
78
|
+
roundedAmount: shieldEvent.args[1],
|
|
79
|
+
shieldedAmountSent: shieldEvent.args[2],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// ============================================
|
|
83
|
+
// Unshield (Confidential → ERC-20)
|
|
84
|
+
// ============================================
|
|
85
|
+
/**
|
|
86
|
+
* Unshields confidential tokens back to underlying ERC-20 tokens.
|
|
87
|
+
* This is the first step of the two-step unshield process.
|
|
88
|
+
* @dev Unshield status: [start] --> encrypt complete --> unshield submit --> unshield confirm
|
|
89
|
+
* @param amount - The amount of confidential tokens to unshield
|
|
90
|
+
* @param options - Unshield options (from, to addresses, callbacks)
|
|
91
|
+
* @returns Unshield result with request ID and encrypted amount
|
|
92
|
+
*/
|
|
93
|
+
async unshield(amount, options) {
|
|
94
|
+
const t0 = Date.now();
|
|
95
|
+
const from = options?.from ?? (await this.sdk.requireWalletAddress());
|
|
96
|
+
const to = options?.to ?? (await this.sdk.requireWalletAddress());
|
|
97
|
+
logger.info("Unshielding tokens", { from, to, amount });
|
|
98
|
+
// Encrypt the amount before sending
|
|
99
|
+
const encryptedAmount = await this.encryptAmount(amount, FheType.ve_uint64);
|
|
100
|
+
swallow("onEncryptComplete", () => options?.onEncryptComplete?.());
|
|
101
|
+
const totalFee = await this.getFheFee("unshield");
|
|
102
|
+
const contract = await this.ensureWriteContract();
|
|
103
|
+
const unshieldFn = contract.getFunction("unshield(address,address,(bytes32,bytes))");
|
|
104
|
+
const tx = await this.countRetryHandler.withRetry(async () => {
|
|
105
|
+
return await unshieldFn(from, to, encryptedAmount, { value: totalFee }).catch(this.sdk.errorParser.catch);
|
|
106
|
+
}, "unshield");
|
|
107
|
+
swallow("onUnshieldSubmitted", () => options?.onUnshieldSubmitted?.(tx.hash));
|
|
108
|
+
this.emit({ type: FheTransformSDKEvents.UnshieldSubmitted, txHash: tx.hash, elapsedMs: Date.now() - t0 });
|
|
109
|
+
const receipt = await this._confirmTransaction(tx, "Unshield");
|
|
110
|
+
swallow("onUnshieldConfirmed", () => options?.onUnshieldConfirmed?.(receipt));
|
|
111
|
+
this.emit({ type: FheTransformSDKEvents.UnshieldConfirmed, txHash: tx.hash, elapsedMs: Date.now() - t0 });
|
|
112
|
+
const unshieldEvent = this.parseEvent(contract, receipt, "UnshieldRequested");
|
|
113
|
+
if (!unshieldEvent) {
|
|
114
|
+
logger.error("UnshieldRequested event not found", {
|
|
115
|
+
txHash: tx.hash,
|
|
116
|
+
blockNumber: receipt.blockNumber,
|
|
117
|
+
logCount: receipt.logs.length,
|
|
118
|
+
});
|
|
119
|
+
throw new FheError({ code: FheErrorCode.ContractCallFailed, message: "UnshieldRequested event not found in transaction logs", context: { eventName: "UnshieldRequested" } });
|
|
120
|
+
}
|
|
121
|
+
logger.info("Unshield request created", {
|
|
122
|
+
unshieldRequestId: unshieldEvent.args[1],
|
|
123
|
+
unshieldAmount: unshieldEvent.args[2],
|
|
124
|
+
});
|
|
125
|
+
this.emit({ type: FheTransformSDKEvents.UnshieldEnd, txHash: tx.hash, durationMs: Date.now() - t0 });
|
|
126
|
+
return {
|
|
127
|
+
txHash: tx.hash,
|
|
128
|
+
receipt,
|
|
129
|
+
unshieldRequestId: toBytes32Hex(unshieldEvent.args[1]),
|
|
130
|
+
unshieldAmount: toBytes32Hex(unshieldEvent.args[2]),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// ============================================
|
|
134
|
+
// Finalize Unshield
|
|
135
|
+
// ============================================
|
|
136
|
+
/**
|
|
137
|
+
* Finalizes an unshield request by providing the decryption proof.
|
|
138
|
+
* This is the second step of the two-step unshield process.
|
|
139
|
+
* @dev Finalize status: [start] --> public decrypt complete --> finalize unshield submit --> finalize unshield confirm
|
|
140
|
+
* @param unshieldRequestId - The request ID from the unshield step
|
|
141
|
+
* @param options - Finalization options with callbacks
|
|
142
|
+
* @returns Transaction result with cleartext amount
|
|
143
|
+
*/
|
|
144
|
+
async finalizeUnshield(unshieldRequestId, options) {
|
|
145
|
+
logger.info("Finalizing unshield", { unshieldRequestId });
|
|
146
|
+
const t0 = Date.now();
|
|
147
|
+
const { cleartext, decryptionProof } = await this._publicDecrypt(unshieldRequestId);
|
|
148
|
+
swallow("onPublicDecryptionComplete", () => options?.onPublicDecryptionComplete?.());
|
|
149
|
+
const contract = await this.ensureWriteContract();
|
|
150
|
+
const tx = await this.countRetryHandler.withRetry(async () => {
|
|
151
|
+
return await contract
|
|
152
|
+
.finalizeUnshield(unshieldRequestId, cleartext, decryptionProof)
|
|
153
|
+
.catch(this.sdk.errorParser.catch);
|
|
154
|
+
}, "finalizeUnshield");
|
|
155
|
+
swallow("onFinalizeSubmitted", () => options?.onFinalizeSubmitted?.(tx.hash));
|
|
156
|
+
this.emit({ type: FheTransformSDKEvents.FinalizeUnshieldSubmitted, txHash: tx.hash, elapsedMs: Date.now() - t0 });
|
|
157
|
+
const receipt = await this._confirmTransaction(tx, "Finalize");
|
|
158
|
+
swallow("onFinalizeConfirmed", () => options?.onFinalizeConfirmed?.(receipt));
|
|
159
|
+
this.emit({ type: FheTransformSDKEvents.FinalizeUnshieldConfirmed, txHash: tx.hash, elapsedMs: Date.now() - t0 });
|
|
160
|
+
this.emit({ type: FheTransformSDKEvents.FinalizeUnshieldEnd, txHash: tx.hash, durationMs: Date.now() - t0 });
|
|
161
|
+
return {
|
|
162
|
+
txHash: tx.hash,
|
|
163
|
+
receipt,
|
|
164
|
+
unshieldRequestId,
|
|
165
|
+
cleartext,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
// ============================================
|
|
169
|
+
// Complete Unshield Flow
|
|
170
|
+
// ============================================
|
|
171
|
+
/**
|
|
172
|
+
* Complete unshield flow: unshield + finalize in a single operation.
|
|
173
|
+
* @dev UnshieldAndFinalize status: Unshield + Finalize
|
|
174
|
+
* @param amount - The amount to unshield
|
|
175
|
+
* @param options - Combined unshield and finalize options
|
|
176
|
+
* @returns Finalized unshield result
|
|
177
|
+
*/
|
|
178
|
+
async unshieldAndFinalize(amount, options) {
|
|
179
|
+
logger.info("Starting complete unshield flow", { amount });
|
|
180
|
+
const unshieldResult = await this.unshield(amount, options);
|
|
181
|
+
const finalizeResult = await this.finalizeUnshield(unshieldResult.unshieldRequestId, options);
|
|
182
|
+
logger.info("Unshield flow completed", {
|
|
183
|
+
txHash: finalizeResult.txHash,
|
|
184
|
+
unshieldRequestId: finalizeResult.unshieldRequestId,
|
|
185
|
+
cleartext: finalizeResult.cleartext,
|
|
186
|
+
});
|
|
187
|
+
return finalizeResult;
|
|
188
|
+
}
|
|
189
|
+
// ============================================
|
|
190
|
+
// Private Helpers
|
|
191
|
+
// ============================================
|
|
192
|
+
/**
|
|
193
|
+
* Confirms a transaction and logs its status.
|
|
194
|
+
* @param tx - The transaction object
|
|
195
|
+
* @param operation - Name of the operation for logging
|
|
196
|
+
* @returns The transaction receipt
|
|
197
|
+
* @throws Error if the transaction reverts
|
|
198
|
+
*/
|
|
199
|
+
async _confirmTransaction(tx, operation) {
|
|
200
|
+
logger.info(`${operation} transaction sent`, { txHash: tx.hash });
|
|
201
|
+
const receipt = await tx.wait();
|
|
202
|
+
logger.info(`${operation} confirmed`, {
|
|
203
|
+
txHash: tx.hash,
|
|
204
|
+
blockNumber: receipt.blockNumber,
|
|
205
|
+
});
|
|
206
|
+
if (receipt.status === 0) {
|
|
207
|
+
logger.error(`${operation} reverted`, {
|
|
208
|
+
txHash: tx.hash,
|
|
209
|
+
blockNumber: receipt.blockNumber,
|
|
210
|
+
gasUsed: receipt.gasUsed.toString(),
|
|
211
|
+
});
|
|
212
|
+
throw new FheError({ code: FheErrorCode.TransactionReverted, message: `Transaction reverted: ${tx.hash}`, context: { txHash: tx.hash } });
|
|
213
|
+
}
|
|
214
|
+
return receipt;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Performs public decryption on an encrypted value and returns the cleartext with proof.
|
|
218
|
+
* @param encryptedValue - The encrypted value to decrypt
|
|
219
|
+
* @returns The decrypted cleartext and decryption proof
|
|
220
|
+
*/
|
|
221
|
+
async _publicDecrypt(encryptedValue) {
|
|
222
|
+
const publicDecryptParameters = {
|
|
223
|
+
payloads: [encryptedValue],
|
|
224
|
+
options: {
|
|
225
|
+
onJazzProgress: (args) => {
|
|
226
|
+
logger.info(() => ["[ConvertToken._publicDecrypt] onJazzProgress:", formatValue(args)]);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
logger.debug("Public decryption request", { publicDecryptParameters });
|
|
231
|
+
const publicDecryptResult = await this.sdk.publicDecrypt(publicDecryptParameters);
|
|
232
|
+
logger.debug("Public decryption result", {
|
|
233
|
+
plaintexts: publicDecryptResult.plaintexts,
|
|
234
|
+
proofLength: publicDecryptResult.decryptionProof?.length,
|
|
235
|
+
});
|
|
236
|
+
const plaintexts = publicDecryptResult?.plaintexts;
|
|
237
|
+
if (!Array.isArray(plaintexts) || plaintexts.length === 0) {
|
|
238
|
+
throw new FheError({ code: FheErrorCode.DecryptionFailed, message: "Public decryption returned no plaintext" });
|
|
239
|
+
}
|
|
240
|
+
const cleartext = plaintexts[0].value;
|
|
241
|
+
const decryptionProof = publicDecryptResult.decryptionProof;
|
|
242
|
+
if (!decryptionProof) {
|
|
243
|
+
throw new FheError({ code: FheErrorCode.DecryptionFailed, message: "Public decryption returned no proof" });
|
|
244
|
+
}
|
|
245
|
+
logger.debug("Decryption successful", { proofLength: decryptionProof.length });
|
|
246
|
+
return { cleartext, decryptionProof };
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=convert-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-token.js","sourceRoot":"","sources":["../../src/contract/convert-token.ts"],"names":[],"mappings":"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"}
|