@unionlabs/payments 0.1.0 → 0.2.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/Abi/package.json +6 -0
- package/Attestor/package.json +6 -0
- package/Constants/package.json +6 -0
- package/Domain/package.json +6 -0
- package/Error/package.json +6 -0
- package/EvmPublicClient/package.json +6 -0
- package/EvmWalletClient/package.json +6 -0
- package/Payment/package.json +6 -0
- package/PaymentError/package.json +6 -0
- package/Prover/package.json +6 -0
- package/PublicClient/package.json +6 -0
- package/README.md +1 -0
- package/Schema/package.json +6 -0
- package/Utils/package.json +6 -0
- package/WalletClient/package.json +6 -0
- package/attestation/package.json +6 -0
- package/cli/commands/balance/package.json +6 -0
- package/cli/commands/deposit/package.json +6 -0
- package/cli/commands/export-verifier/package.json +6 -0
- package/cli/commands/generate/package.json +6 -0
- package/cli/commands/history/package.json +6 -0
- package/cli/commands/prove/package.json +6 -0
- package/cli/commands/redeem/package.json +6 -0
- package/cli/commands/update-client/package.json +6 -0
- package/cli/config/package.json +6 -0
- package/cli/package.json +6 -0
- package/cli/utils/package.json +6 -0
- package/constants/ibc-core-registry/package.json +6 -0
- package/constants/services/package.json +6 -0
- package/constants/z-asset-registry/package.json +6 -0
- package/dist/cjs/Abi.js +270 -0
- package/dist/cjs/Abi.js.map +1 -0
- package/dist/cjs/Attestor.js +76 -0
- package/dist/cjs/Attestor.js.map +1 -0
- package/dist/cjs/Constants.js +8 -0
- package/dist/cjs/Constants.js.map +1 -0
- package/dist/cjs/Domain.js +24 -0
- package/dist/cjs/Domain.js.map +1 -0
- package/dist/cjs/Error.js +100 -0
- package/dist/cjs/Error.js.map +1 -0
- package/dist/cjs/EvmPublicClient.js +301 -0
- package/dist/cjs/EvmPublicClient.js.map +1 -0
- package/dist/cjs/EvmWalletClient.js +670 -0
- package/dist/cjs/EvmWalletClient.js.map +1 -0
- package/dist/cjs/Payment.js +333 -0
- package/dist/cjs/Payment.js.map +1 -0
- package/dist/cjs/PaymentError.js +32 -0
- package/dist/cjs/PaymentError.js.map +1 -0
- package/dist/cjs/Prover.js +153 -0
- package/dist/cjs/Prover.js.map +1 -0
- package/dist/cjs/PublicClient.js +39 -0
- package/dist/cjs/PublicClient.js.map +1 -0
- package/dist/cjs/Schema.js +38 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/Utils.js +33 -0
- package/dist/cjs/Utils.js.map +1 -0
- package/dist/cjs/WalletClient.js +39 -0
- package/dist/cjs/WalletClient.js.map +1 -0
- package/dist/cjs/attestation.js +49 -0
- package/dist/cjs/attestation.js.map +1 -0
- package/dist/cjs/cli/commands/balance.js +60 -0
- package/dist/cjs/cli/commands/balance.js.map +1 -0
- package/dist/cjs/cli/commands/deposit.js +58 -0
- package/dist/cjs/cli/commands/deposit.js.map +1 -0
- package/dist/cjs/cli/commands/export-verifier.js +27 -0
- package/dist/cjs/cli/commands/export-verifier.js.map +1 -0
- package/dist/cjs/cli/commands/generate.js +41 -0
- package/dist/cjs/cli/commands/generate.js.map +1 -0
- package/dist/cjs/cli/commands/history.js +59 -0
- package/dist/cjs/cli/commands/history.js.map +1 -0
- package/dist/cjs/cli/commands/prove.js +82 -0
- package/dist/cjs/cli/commands/prove.js.map +1 -0
- package/dist/cjs/cli/commands/redeem.js +152 -0
- package/dist/cjs/cli/commands/redeem.js.map +1 -0
- package/dist/cjs/cli/commands/update-client.js +62 -0
- package/dist/cjs/cli/commands/update-client.js.map +1 -0
- package/dist/cjs/cli/config.js +32 -0
- package/dist/cjs/cli/config.js.map +1 -0
- package/dist/cjs/cli/utils.js +108 -0
- package/dist/cjs/cli/utils.js.map +1 -0
- package/dist/cjs/cli.js +24 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/constants/ibc-core-registry.js +30 -0
- package/dist/cjs/constants/ibc-core-registry.js.map +1 -0
- package/dist/cjs/constants/services.js +9 -0
- package/dist/cjs/constants/services.js.map +1 -0
- package/dist/cjs/constants/z-asset-registry.js +32 -0
- package/dist/cjs/constants/z-asset-registry.js.map +1 -0
- package/dist/cjs/gen/prover_pb.js +81 -0
- package/dist/cjs/gen/prover_pb.js.map +1 -0
- package/dist/cjs/index.js +32 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/evm.js +191 -0
- package/dist/cjs/internal/evm.js.map +1 -0
- package/dist/cjs/internal/evmWalletClient.js +6 -0
- package/dist/cjs/internal/evmWalletClient.js.map +1 -0
- package/dist/cjs/internal/publicClient.js +49 -0
- package/dist/cjs/internal/publicClient.js.map +1 -0
- package/dist/cjs/internal/walletClient.js +43 -0
- package/dist/cjs/internal/walletClient.js.map +1 -0
- package/dist/cjs/legacy/client.js +1222 -0
- package/dist/cjs/legacy/client.js.map +1 -0
- package/dist/cjs/legacy/prover.js +112 -0
- package/dist/cjs/legacy/prover.js.map +1 -0
- package/dist/cjs/poseidon2.js +226 -0
- package/dist/cjs/poseidon2.js.map +1 -0
- package/dist/cjs/promises/Attestor.js +23 -0
- package/dist/cjs/promises/Attestor.js.map +1 -0
- package/dist/cjs/promises/EvmPublicClient.js +34 -0
- package/dist/cjs/promises/EvmPublicClient.js.map +1 -0
- package/dist/cjs/promises/EvmWalletClient.js +51 -0
- package/dist/cjs/promises/EvmWalletClient.js.map +1 -0
- package/dist/cjs/promises/Payment.js +22 -0
- package/dist/cjs/promises/Payment.js.map +1 -0
- package/dist/cjs/promises/Prover.js +26 -0
- package/dist/cjs/promises/Prover.js.map +1 -0
- package/dist/cjs/promises/PublicClient.js +53 -0
- package/dist/cjs/promises/PublicClient.js.map +1 -0
- package/dist/cjs/promises/WalletClient.js +44 -0
- package/dist/cjs/promises/WalletClient.js.map +1 -0
- package/dist/cjs/promises/index.js +22 -0
- package/dist/cjs/promises/index.js.map +1 -0
- package/dist/cjs/rpc.js +867 -0
- package/dist/cjs/rpc.js.map +1 -0
- package/dist/cjs/types.js +6 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/dts/Abi.d.ts +220 -0
- package/dist/dts/Abi.d.ts.map +1 -0
- package/dist/dts/Attestor.d.ts +42 -0
- package/dist/dts/Attestor.d.ts.map +1 -0
- package/dist/dts/Constants.d.ts +3 -0
- package/dist/dts/Constants.d.ts.map +1 -0
- package/dist/dts/Domain.d.ts +141 -0
- package/dist/dts/Domain.d.ts.map +1 -0
- package/dist/dts/Error.d.ts +102 -0
- package/dist/dts/Error.d.ts.map +1 -0
- package/dist/dts/EvmPublicClient.d.ts +61 -0
- package/dist/dts/EvmPublicClient.d.ts.map +1 -0
- package/dist/dts/EvmWalletClient.d.ts +67 -0
- package/dist/dts/EvmWalletClient.d.ts.map +1 -0
- package/dist/dts/Payment.d.ts +128 -0
- package/dist/dts/Payment.d.ts.map +1 -0
- package/dist/dts/PaymentError.d.ts +21 -0
- package/dist/dts/PaymentError.d.ts.map +1 -0
- package/dist/dts/Prover.d.ts +87 -0
- package/dist/dts/Prover.d.ts.map +1 -0
- package/dist/dts/PublicClient.d.ts +146 -0
- package/dist/dts/PublicClient.d.ts.map +1 -0
- package/dist/dts/Schema.d.ts +16 -0
- package/dist/dts/Schema.d.ts.map +1 -0
- package/dist/dts/Utils.d.ts +11 -0
- package/dist/dts/Utils.d.ts.map +1 -0
- package/dist/dts/WalletClient.d.ts +123 -0
- package/dist/dts/WalletClient.d.ts.map +1 -0
- package/dist/dts/attestation.d.ts +13 -0
- package/dist/dts/attestation.d.ts.map +1 -0
- package/dist/dts/cli/commands/balance.d.ts +3 -0
- package/dist/dts/cli/commands/balance.d.ts.map +1 -0
- package/dist/dts/cli/commands/deposit.d.ts +3 -0
- package/dist/dts/cli/commands/deposit.d.ts.map +1 -0
- package/dist/dts/cli/commands/export-verifier.d.ts +3 -0
- package/dist/dts/cli/commands/export-verifier.d.ts.map +1 -0
- package/dist/dts/cli/commands/generate.d.ts +3 -0
- package/dist/dts/cli/commands/generate.d.ts.map +1 -0
- package/dist/dts/cli/commands/history.d.ts +3 -0
- package/dist/dts/cli/commands/history.d.ts.map +1 -0
- package/dist/dts/cli/commands/prove.d.ts +3 -0
- package/dist/dts/cli/commands/prove.d.ts.map +1 -0
- package/dist/dts/cli/commands/redeem.d.ts +3 -0
- package/dist/dts/cli/commands/redeem.d.ts.map +1 -0
- package/dist/dts/cli/commands/update-client.d.ts +3 -0
- package/dist/dts/cli/commands/update-client.d.ts.map +1 -0
- package/dist/dts/cli/config.d.ts +14 -0
- package/dist/dts/cli/config.d.ts.map +1 -0
- package/dist/dts/cli/utils.d.ts +11 -0
- package/dist/dts/cli/utils.d.ts.map +1 -0
- package/dist/dts/cli.d.ts +3 -0
- package/dist/dts/cli.d.ts.map +1 -0
- package/dist/dts/constants/ibc-core-registry.d.ts +11 -0
- package/dist/dts/constants/ibc-core-registry.d.ts.map +1 -0
- package/dist/dts/constants/services.d.ts +3 -0
- package/dist/dts/constants/services.d.ts.map +1 -0
- package/dist/dts/constants/z-asset-registry.d.ts +13 -0
- package/dist/dts/constants/z-asset-registry.d.ts.map +1 -0
- package/dist/dts/gen/prover_pb.d.ts +300 -0
- package/dist/dts/gen/prover_pb.d.ts.map +1 -0
- package/dist/dts/index.d.ts +21 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/evm.d.ts +250 -0
- package/dist/dts/internal/evm.d.ts.map +1 -0
- package/dist/dts/internal/evmWalletClient.d.ts +2 -0
- package/dist/dts/internal/evmWalletClient.d.ts.map +1 -0
- package/dist/dts/internal/publicClient.d.ts +2 -0
- package/dist/dts/internal/publicClient.d.ts.map +1 -0
- package/dist/dts/internal/walletClient.d.ts +2 -0
- package/dist/dts/internal/walletClient.d.ts.map +1 -0
- package/dist/dts/legacy/client.d.ts +313 -0
- package/dist/dts/legacy/client.d.ts.map +1 -0
- package/dist/dts/legacy/prover.d.ts +30 -0
- package/dist/dts/legacy/prover.d.ts.map +1 -0
- package/dist/dts/poseidon2.d.ts +18 -0
- package/dist/dts/poseidon2.d.ts.map +1 -0
- package/dist/dts/promises/Attestor.d.ts +17 -0
- package/dist/dts/promises/Attestor.d.ts.map +1 -0
- package/dist/dts/promises/EvmPublicClient.d.ts +3709 -0
- package/dist/dts/promises/EvmPublicClient.d.ts.map +1 -0
- package/dist/dts/promises/EvmWalletClient.d.ts +4502 -0
- package/dist/dts/promises/EvmWalletClient.d.ts.map +1 -0
- package/dist/dts/promises/Payment.d.ts +33 -0
- package/dist/dts/promises/Payment.d.ts.map +1 -0
- package/dist/dts/promises/Prover.d.ts +14 -0
- package/dist/dts/promises/Prover.d.ts.map +1 -0
- package/dist/dts/promises/PublicClient.d.ts +23 -0
- package/dist/dts/promises/PublicClient.d.ts.map +1 -0
- package/dist/dts/promises/WalletClient.d.ts +57 -0
- package/dist/dts/promises/WalletClient.d.ts.map +1 -0
- package/dist/dts/promises/index.d.ts +8 -0
- package/dist/dts/promises/index.d.ts.map +1 -0
- package/dist/dts/rpc.d.ts +148 -0
- package/dist/dts/rpc.d.ts.map +1 -0
- package/dist/dts/types.d.ts +263 -0
- package/dist/dts/types.d.ts.map +1 -0
- package/dist/esm/Abi.js +264 -0
- package/dist/esm/Abi.js.map +1 -0
- package/dist/esm/Attestor.js +68 -0
- package/dist/esm/Attestor.js.map +1 -0
- package/dist/esm/Constants.js +2 -0
- package/dist/esm/Constants.js.map +1 -0
- package/dist/esm/Domain.js +17 -0
- package/dist/esm/Domain.js.map +1 -0
- package/dist/esm/Error.js +89 -0
- package/dist/esm/Error.js.map +1 -0
- package/dist/esm/EvmPublicClient.js +292 -0
- package/dist/esm/EvmPublicClient.js.map +1 -0
- package/dist/esm/EvmWalletClient.js +659 -0
- package/dist/esm/EvmWalletClient.js.map +1 -0
- package/dist/esm/Payment.js +323 -0
- package/dist/esm/Payment.js.map +1 -0
- package/dist/esm/PaymentError.js +24 -0
- package/dist/esm/PaymentError.js.map +1 -0
- package/dist/esm/Prover.js +142 -0
- package/dist/esm/Prover.js.map +1 -0
- package/dist/esm/PublicClient.js +30 -0
- package/dist/esm/PublicClient.js.map +1 -0
- package/dist/esm/Schema.js +31 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/Utils.js +27 -0
- package/dist/esm/Utils.js.map +1 -0
- package/dist/esm/WalletClient.js +30 -0
- package/dist/esm/WalletClient.js.map +1 -0
- package/dist/esm/attestation.js +42 -0
- package/dist/esm/attestation.js.map +1 -0
- package/dist/esm/cli/commands/balance.js +54 -0
- package/dist/esm/cli/commands/balance.js.map +1 -0
- package/dist/esm/cli/commands/deposit.js +52 -0
- package/dist/esm/cli/commands/deposit.js.map +1 -0
- package/dist/esm/cli/commands/export-verifier.js +21 -0
- package/dist/esm/cli/commands/export-verifier.js.map +1 -0
- package/dist/esm/cli/commands/generate.js +35 -0
- package/dist/esm/cli/commands/generate.js.map +1 -0
- package/dist/esm/cli/commands/history.js +53 -0
- package/dist/esm/cli/commands/history.js.map +1 -0
- package/dist/esm/cli/commands/prove.js +76 -0
- package/dist/esm/cli/commands/prove.js.map +1 -0
- package/dist/esm/cli/commands/redeem.js +146 -0
- package/dist/esm/cli/commands/redeem.js.map +1 -0
- package/dist/esm/cli/commands/update-client.js +56 -0
- package/dist/esm/cli/commands/update-client.js.map +1 -0
- package/dist/esm/cli/config.js +26 -0
- package/dist/esm/cli/config.js.map +1 -0
- package/dist/esm/cli/utils.js +94 -0
- package/dist/esm/cli/utils.js.map +1 -0
- package/dist/esm/cli.js +22 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/constants/ibc-core-registry.js +21 -0
- package/dist/esm/constants/ibc-core-registry.js.map +1 -0
- package/dist/esm/constants/services.js +3 -0
- package/dist/esm/constants/services.js.map +1 -0
- package/dist/esm/constants/z-asset-registry.js +23 -0
- package/dist/esm/constants/z-asset-registry.js.map +1 -0
- package/dist/esm/gen/prover_pb.js +74 -0
- package/dist/esm/gen/prover_pb.js.map +1 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/evm.js +169 -0
- package/dist/esm/internal/evm.js.map +1 -0
- package/dist/esm/internal/evmWalletClient.js +2 -0
- package/dist/esm/internal/evmWalletClient.js.map +1 -0
- package/dist/esm/internal/publicClient.js +41 -0
- package/dist/esm/internal/publicClient.js.map +1 -0
- package/dist/esm/internal/walletClient.js +35 -0
- package/dist/esm/internal/walletClient.js.map +1 -0
- package/dist/esm/legacy/client.js +1212 -0
- package/dist/esm/legacy/client.js.map +1 -0
- package/dist/esm/legacy/prover.js +105 -0
- package/dist/esm/legacy/prover.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/poseidon2.js +218 -0
- package/dist/esm/poseidon2.js.map +1 -0
- package/dist/esm/promises/Attestor.js +14 -0
- package/dist/esm/promises/Attestor.js.map +1 -0
- package/dist/esm/promises/EvmPublicClient.js +26 -0
- package/dist/esm/promises/EvmPublicClient.js.map +1 -0
- package/dist/esm/promises/EvmWalletClient.js +43 -0
- package/dist/esm/promises/EvmWalletClient.js.map +1 -0
- package/dist/esm/promises/Payment.js +13 -0
- package/dist/esm/promises/Payment.js.map +1 -0
- package/dist/esm/promises/Prover.js +17 -0
- package/dist/esm/promises/Prover.js.map +1 -0
- package/dist/esm/promises/PublicClient.js +45 -0
- package/dist/esm/promises/PublicClient.js.map +1 -0
- package/dist/esm/promises/WalletClient.js +36 -0
- package/dist/esm/promises/WalletClient.js.map +1 -0
- package/dist/esm/promises/index.js +8 -0
- package/dist/esm/promises/index.js.map +1 -0
- package/dist/esm/rpc.js +850 -0
- package/dist/esm/rpc.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/gen/prover_pb/package.json +6 -0
- package/index/package.json +6 -0
- package/legacy/client/package.json +6 -0
- package/legacy/prover/package.json +6 -0
- package/package.json +397 -44
- package/poseidon2/package.json +6 -0
- package/promises/Attestor/package.json +6 -0
- package/promises/EvmPublicClient/package.json +6 -0
- package/promises/EvmWalletClient/package.json +6 -0
- package/promises/Payment/package.json +6 -0
- package/promises/Prover/package.json +6 -0
- package/promises/PublicClient/package.json +6 -0
- package/promises/WalletClient/package.json +6 -0
- package/promises/index/package.json +6 -0
- package/promises/package.json +6 -0
- package/rpc/package.json +6 -0
- package/src/Abi.ts +195 -0
- package/src/Attestor.ts +113 -0
- package/src/Constants.ts +4 -0
- package/src/Domain.ts +52 -0
- package/src/Error.ts +163 -0
- package/src/EvmPublicClient.ts +549 -0
- package/src/EvmWalletClient.ts +1034 -0
- package/src/Payment.ts +523 -0
- package/src/PaymentError.ts +39 -0
- package/src/Prover.ts +240 -0
- package/src/PublicClient.ts +196 -0
- package/src/Schema.ts +36 -0
- package/src/Utils.ts +43 -0
- package/src/WalletClient.ts +172 -0
- package/src/attestation.ts +69 -0
- package/src/cli/commands/balance.ts +88 -0
- package/src/cli/commands/deposit.ts +104 -0
- package/src/cli/commands/export-verifier.ts +28 -0
- package/src/cli/commands/generate.ts +86 -0
- package/src/cli/commands/history.ts +91 -0
- package/src/cli/commands/prove.ts +133 -0
- package/src/cli/commands/redeem.ts +277 -0
- package/src/cli/commands/update-client.ts +96 -0
- package/src/cli/config.ts +55 -0
- package/src/cli/utils.ts +136 -0
- package/src/cli.ts +31 -0
- package/src/constants/ibc-core-registry.ts +44 -0
- package/src/constants/services.ts +4 -0
- package/src/constants/z-asset-registry.ts +47 -0
- package/src/gen/prover_pb.ts +375 -0
- package/src/index.ts +23 -0
- package/src/internal/evm.ts +361 -0
- package/src/internal/evmWalletClient.ts +0 -0
- package/src/internal/publicClient.ts +57 -0
- package/src/internal/walletClient.ts +50 -0
- package/src/legacy/client.ts +1652 -0
- package/src/legacy/prover.ts +135 -0
- package/src/poseidon2.ts +246 -0
- package/src/promises/Attestor.ts +25 -0
- package/src/promises/EvmPublicClient.ts +39 -0
- package/src/promises/EvmWalletClient.ts +63 -0
- package/src/promises/Payment.ts +86 -0
- package/src/promises/Prover.ts +26 -0
- package/src/promises/PublicClient.ts +47 -0
- package/src/promises/WalletClient.ts +38 -0
- package/src/promises/index.ts +7 -0
- package/src/rpc.ts +994 -0
- package/src/types.ts +281 -0
- package/types/package.json +6 -0
- package/dist/LICENSE +0 -1
- package/dist/chunk-37PNLRA6.js +0 -2418
- package/dist/cli.cjs +0 -3031
- package/dist/cli.js +0 -675
- package/dist/index.cjs +0 -2451
- package/dist/index.js +0 -1
- package/dist/package.json +0 -18
- package/dist/payments.d.ts +0 -835
- /package/{dist → src}/tsdoc-metadata.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmWalletClient.js","names":["A","Brand","Context","Effect","pipe","Layer","Number","Ref","Abi","ZAssetRegistry","Domain","Error","EvmPublicClient","Client","TypeId","EvmWalletClient","GenericTag","makeViem","wallet","gen","Viem","tryPromise","try","then","x","catch","cause","SystemError","reason","method","module","description","ViemActions","publicClient","createPublicClient","chain","transport","custom","flatMap","transactionCount","getTransactionCount","address","account","blockTag","make","encodeFunctionData","fn","parameters","writeContract","params","map","hash","SubmissionResult","viemWriteContract","nominal","prepareTransactionRequest","get","nonce","tap","update","increment","prepareBatchTransactionRequest","calls","chainNonce","set","log","simulationResult","simulateCalls","call","to","data","value","results","gasEstimates","r","gasUsed","BigInt","undefined","prepared","i","length","gas","request","push","signTransaction","sendRawTransaction","sign","liftPredicate","PreparedRequest","$is","SignedRequest","viem","submit","serializedTransaction","signAndSubmit","sendTransaction","approveZAssetToSpendErc20","args","getZAsset","srcErc20Address","mapError","zAsset","abi","ERC20_ABI","functionName","amount","kind","updateLoopbackClient","clientId","height","ibcHandlerAddress","extend","publicActions","blockNumber","block","getBlock","toRlpHex","hex","toString","headerFields","parentHash","sha3Uncles","miner","stateRoot","transactionsRoot","receiptsRoot","logsBloom","repeat","difficulty","number","gasLimit","timestamp","extraData","mixHash","baseFeePerGas","withdrawalsRoot","blobGasUsed","excessBlobGas","parentBeaconBlockRoot","blockAny","requestsHash","rlpEncoded","toRlp","computedHash","keccak256","clientMessage","encodeAbiParameters","type","name","LIGHTCLIENT_ABI","inputs","outputs","stateMutability","currentBlock","getBlockNumber","sleep","loopbackClient","readContract","IBC_STORE_ABI","depositUnderlyingZAsset","zAssetAddr","ZASSET_ABI","transferZAsset","depositAddress","prepareDeposit","zAssetAddress","Z_ASSET_REGISTRY","sourceChainId","approvalData","depositData","transferData","all","concurrency","preparedTxs","approval","deposit","transfer","prepareRedemption","dstErc20Address","proof","commitments","commitmentPok","lightClients","nullifier","beneficiary","attestedMessage","signature","unwrap","Object","assign","layerFromViem","config","scopedContext","client","add","WalletClient","makeBrowser","options","Mipd","store","createStore","providers","getProviders","selected","findFirst","providerPredicate","provider","accountPredicate","catchTag","ViemChains","createWalletClient","base","layerFromBrowser","unwrapScoped"],"sources":["../../src/EvmWalletClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* - for deposits you only need to sign on the source chain
|
|
3
|
+
* - for redemptions you need wallet on dest chain
|
|
4
|
+
*/
|
|
5
|
+
import { Effect, pipe } from "effect";
|
|
6
|
+
import * as A from "effect/Array";
|
|
7
|
+
import { encodePacked, hexToBigInt, hexToBytes, keccak256, padHex, sha256, toHex } from "viem";
|
|
8
|
+
import * as Attestor from "./Attestor.js";
|
|
9
|
+
import * as Constants from "./Constants.js";
|
|
10
|
+
import * as ZAssetRegistry from "./constants/z-asset-registry.js";
|
|
11
|
+
import * as Domain from "./Domain.js";
|
|
12
|
+
import * as Error from "./Error.js";
|
|
13
|
+
import * as Prover from "./Prover.js";
|
|
14
|
+
import * as PublicClient from "./PublicClient.js";
|
|
15
|
+
import * as Poseidon2 from "./poseidon2.js";
|
|
16
|
+
import * as Utils from "./Utils.js";
|
|
17
|
+
import * as WalletClient from "./WalletClient.js";
|
|
18
|
+
// TODO: into poseidon2 module
|
|
19
|
+
const PRIME = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n; // BN254 Fr order
|
|
20
|
+
export const getDepositAddress = /*#__PURE__*/Effect.fn("getDepositAddress")((secret, beneficiaries, destinationChainId) => Effect.gen(function* () {
|
|
21
|
+
const paddedBeneficiaries = yield* padBeneficiaries(beneficiaries);
|
|
22
|
+
const unspendableAddress = Poseidon2.computeUnspendableAddress(secret, destinationChainId, paddedBeneficiaries);
|
|
23
|
+
return Domain.ZAssetAddress(unspendableAddress);
|
|
24
|
+
}));
|
|
25
|
+
const padBeneficiaries = /*#__PURE__*/Effect.fn("padBeneficiaries")(beneficiaries => Effect.gen(function* () {
|
|
26
|
+
if (beneficiaries.length > 4) {
|
|
27
|
+
// throw new Error("Maximum 4 beneficiaries allowed");
|
|
28
|
+
return yield* new Error.SystemError({
|
|
29
|
+
method: "padBeneficiaries",
|
|
30
|
+
module: "PaymentClient",
|
|
31
|
+
reason: "InvalidData",
|
|
32
|
+
description: "Maximum 4 beneficiaries allowed"
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const padded = [beneficiaries[0] ?? Constants.ZERO_ADDRESS, beneficiaries[1] ?? Constants.ZERO_ADDRESS, beneficiaries[2] ?? Constants.ZERO_ADDRESS, beneficiaries[3] ?? Constants.ZERO_ADDRESS];
|
|
36
|
+
return padded;
|
|
37
|
+
}));
|
|
38
|
+
export const getNullifier = /*#__PURE__*/Effect.fn("getNullifier")((secret, destinationChainId) => Effect.try({
|
|
39
|
+
try: () => Poseidon2.computeNullifier(secret, destinationChainId),
|
|
40
|
+
catch: cause => new Error.SystemError({
|
|
41
|
+
method: "getNullifier",
|
|
42
|
+
module: "PaymentClient",
|
|
43
|
+
reason: "InvalidData",
|
|
44
|
+
cause
|
|
45
|
+
})
|
|
46
|
+
}));
|
|
47
|
+
/**
|
|
48
|
+
* Deterministically shuffle light clients using the secret as seed.
|
|
49
|
+
* Same secret always produces the same ordering for privacy.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export function deterministicShuffleClients(clients, secret) {
|
|
53
|
+
if (clients.length <= 1) {
|
|
54
|
+
return [...clients];
|
|
55
|
+
}
|
|
56
|
+
// Seed = SHA256(secret || clientHeights as big-endian uint64s)
|
|
57
|
+
const secretBytes = hexToBytes(secret);
|
|
58
|
+
const heightsBytes = new Uint8Array(clients.length * 8);
|
|
59
|
+
for (let i = 0; i < clients.length; i++) {
|
|
60
|
+
const view = new DataView(heightsBytes.buffer, i * 8, 8);
|
|
61
|
+
view.setBigUint64(0, clients[i].height, false);
|
|
62
|
+
}
|
|
63
|
+
const combined = new Uint8Array(secretBytes.length + heightsBytes.length);
|
|
64
|
+
combined.set(secretBytes, 0);
|
|
65
|
+
combined.set(heightsBytes, secretBytes.length);
|
|
66
|
+
const seedHex = sha256(combined);
|
|
67
|
+
const seed = hexToBytes(seedHex);
|
|
68
|
+
// Fisher-Yates shuffle with deterministic PRNG
|
|
69
|
+
const shuffled = [...clients];
|
|
70
|
+
let seedIndex = 0;
|
|
71
|
+
for (let i = shuffled.length - 1; i > 0; i--) {
|
|
72
|
+
const randomByte = seed[seedIndex % seed.length];
|
|
73
|
+
seedIndex++;
|
|
74
|
+
const j = randomByte % (i + 1);
|
|
75
|
+
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
|
|
76
|
+
}
|
|
77
|
+
return shuffled;
|
|
78
|
+
}
|
|
79
|
+
export const computeStorageSlot = /*#__PURE__*/Effect.fn("computeStorageSlot")(function* (address, mappingSlot) {
|
|
80
|
+
const paddedAddress = padHex(address, {
|
|
81
|
+
size: 32
|
|
82
|
+
});
|
|
83
|
+
const paddedSlot = padHex(toHex(mappingSlot), {
|
|
84
|
+
size: 32
|
|
85
|
+
});
|
|
86
|
+
return yield* Effect.succeed(keccak256(encodePacked(["bytes32", "bytes32"], [paddedAddress, paddedSlot])));
|
|
87
|
+
});
|
|
88
|
+
const fetchMptProof = /*#__PURE__*/Effect.fn(function* (options) {
|
|
89
|
+
yield* Effect.log(options);
|
|
90
|
+
const srcClient = yield* PublicClient.SourcePublicClient;
|
|
91
|
+
const proof = yield* srcClient.getProof({
|
|
92
|
+
address: options.tokenAddress,
|
|
93
|
+
storageKeys: [options.storageSlot],
|
|
94
|
+
blockNumber: options.blockNumber
|
|
95
|
+
});
|
|
96
|
+
let storageProof = [];
|
|
97
|
+
let storageValue = "0x0";
|
|
98
|
+
if (proof.storageProof.length > 0 && proof.storageProof[0]) {
|
|
99
|
+
storageProof = proof.storageProof[0].proof;
|
|
100
|
+
storageValue = toHex(proof.storageProof[0].value);
|
|
101
|
+
}
|
|
102
|
+
const obj = {
|
|
103
|
+
accountProof: proof.accountProof,
|
|
104
|
+
storageProof,
|
|
105
|
+
storageValue,
|
|
106
|
+
storageRoot: proof.storageHash
|
|
107
|
+
};
|
|
108
|
+
yield* Effect.log("[fetchMptProof]", obj);
|
|
109
|
+
return obj;
|
|
110
|
+
});
|
|
111
|
+
export const generateProof = /*#__PURE__*/Effect.fn(function* (options) {
|
|
112
|
+
if (!options.clientIds.includes(options.selectedClientId)) {
|
|
113
|
+
return yield* Effect.fail({
|
|
114
|
+
proof: {
|
|
115
|
+
success: false,
|
|
116
|
+
error: `selectedClientId ${options.selectedClientId} not in clientIds`
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
if (options.beneficiary === Constants.ZERO_ADDRESS) {
|
|
121
|
+
return yield* Effect.fail({
|
|
122
|
+
proof: {
|
|
123
|
+
success: false,
|
|
124
|
+
error: "Beneficiary address cannot be zero"
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
const srcZAssetAddress = yield* ZAssetRegistry.getZAssetOrError(options.srcChainId, options.srcErc20Address);
|
|
129
|
+
const dstZAssetAddress = yield* ZAssetRegistry.getZAssetOrError(options.dstChainId, options.dstErc20Address);
|
|
130
|
+
const prover = yield* Prover.Prover;
|
|
131
|
+
const destinationPublicClient = yield* PublicClient.DestinationPublicClient;
|
|
132
|
+
const paddedBeneficiaries = yield* padBeneficiaries(options.beneficiaries);
|
|
133
|
+
const depositAddress = yield* getDepositAddress(options.secret, options.beneficiaries, options.dstChainId);
|
|
134
|
+
const lightClients = yield* fetchLightClients({
|
|
135
|
+
zAssetAddress: dstZAssetAddress,
|
|
136
|
+
clientIds: options.clientIds
|
|
137
|
+
});
|
|
138
|
+
if (!A.isNonEmptyReadonlyArray(lightClients)) {
|
|
139
|
+
return yield* new Error.SystemError({
|
|
140
|
+
module: "PaymentClient",
|
|
141
|
+
method: "generateProof",
|
|
142
|
+
reason: "InvalidData",
|
|
143
|
+
description: "No valid light clients found"
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// Deterministic shuffle: same secret always produces the same ordering for privacy
|
|
147
|
+
const shuffled = deterministicShuffleClients(lightClients, options.secret);
|
|
148
|
+
const selectedClientIndex = yield* pipe(A.findFirstIndex(shuffled, c => c.clientId === options.selectedClientId), Effect.mapError(cause => new Error.SystemError({
|
|
149
|
+
module: "PaymentClient",
|
|
150
|
+
method: "generateProof",
|
|
151
|
+
reason: "InvalidData",
|
|
152
|
+
cause,
|
|
153
|
+
description: `Client not found after fetching`
|
|
154
|
+
})));
|
|
155
|
+
const selectedClient = A.unsafeGet(shuffled, selectedClientIndex);
|
|
156
|
+
const {
|
|
157
|
+
tokenAddressKey,
|
|
158
|
+
balanceSlot
|
|
159
|
+
} = yield* destinationPublicClient.getCounterparty(dstZAssetAddress, options.selectedClientId);
|
|
160
|
+
// Check if counterparty is configured for this light client
|
|
161
|
+
const ZERO_BYTES32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
162
|
+
yield* Effect.log({
|
|
163
|
+
balanceSlot
|
|
164
|
+
});
|
|
165
|
+
if (balanceSlot === ZERO_BYTES32 || tokenAddressKey === ZERO_BYTES32) {
|
|
166
|
+
return yield* new Error.SystemError({
|
|
167
|
+
module: "PaymentClient",
|
|
168
|
+
method: "generateProof",
|
|
169
|
+
reason: "InvalidData",
|
|
170
|
+
description: `Light client is not configured as a counterparty on the destination ZAsset. ` + `Please call setCounterparty() on the ZAsset contract first.`
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
const mappingSlot = hexToBigInt(balanceSlot);
|
|
174
|
+
yield* Effect.log({
|
|
175
|
+
mappingSlot
|
|
176
|
+
});
|
|
177
|
+
const nullifier = yield* getNullifier(options.secret, options.dstChainId);
|
|
178
|
+
// Check balance at the selected light client's height
|
|
179
|
+
const balance = yield* destinationPublicClient.readBalanceAtHeight({
|
|
180
|
+
srcErc20Address: options.srcErc20Address,
|
|
181
|
+
dstErc20Address: options.dstErc20Address,
|
|
182
|
+
srcChainId: options.srcChainId,
|
|
183
|
+
dstChainId: options.dstChainId,
|
|
184
|
+
depositAddress,
|
|
185
|
+
nullifier,
|
|
186
|
+
height: selectedClient.height
|
|
187
|
+
});
|
|
188
|
+
if (options.amount > balance.available) {
|
|
189
|
+
return yield* new Error.SystemError({
|
|
190
|
+
module: "PaymentClient",
|
|
191
|
+
method: "generateProof",
|
|
192
|
+
reason: "InvalidData",
|
|
193
|
+
description: `Insufficient available balance. Requested: ${options.amount}, Available: ${balance.available} ` + `(Confirmed at height ${selectedClient.height}: ${balance.confirmed}, Already redeemed: ${balance.redeemed})`
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
const storageSlot = yield* computeStorageSlot(depositAddress, mappingSlot);
|
|
197
|
+
const mptProof = yield* fetchMptProof({
|
|
198
|
+
tokenAddress: srcZAssetAddress,
|
|
199
|
+
storageSlot,
|
|
200
|
+
blockNumber: selectedClient.height
|
|
201
|
+
});
|
|
202
|
+
const witness = {
|
|
203
|
+
secret: options.secret,
|
|
204
|
+
dstChainId: options.dstChainId,
|
|
205
|
+
beneficiaries: paddedBeneficiaries,
|
|
206
|
+
beneficiary: options.beneficiary,
|
|
207
|
+
redeemAmount: options.amount,
|
|
208
|
+
alreadyRedeemed: balance.redeemed,
|
|
209
|
+
lightClients: shuffled,
|
|
210
|
+
selectedClientIndex,
|
|
211
|
+
mptProof,
|
|
212
|
+
srcZAssetAddress: srcZAssetAddress,
|
|
213
|
+
mappingSlot: `0x${mappingSlot.toString(16)}`
|
|
214
|
+
};
|
|
215
|
+
const proofResult = yield* prover.generateProof(witness);
|
|
216
|
+
yield* Effect.log({
|
|
217
|
+
proofResult
|
|
218
|
+
});
|
|
219
|
+
return {
|
|
220
|
+
proof: proofResult,
|
|
221
|
+
metadata: {
|
|
222
|
+
depositAddress,
|
|
223
|
+
beneficiary: options.beneficiary,
|
|
224
|
+
value: options.amount,
|
|
225
|
+
lightClients: shuffled,
|
|
226
|
+
nullifier
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
});
|
|
230
|
+
const fetchLightClients = /*#__PURE__*/Effect.fn(function* (options) {
|
|
231
|
+
const {
|
|
232
|
+
zAssetAddress,
|
|
233
|
+
clientIds
|
|
234
|
+
} = options;
|
|
235
|
+
const dstClient = yield* PublicClient.PublicClient;
|
|
236
|
+
const ibcHandlerAddress = yield* dstClient.getIbcHandlerAddress(zAssetAddress);
|
|
237
|
+
const results = [];
|
|
238
|
+
for (const clientId of clientIds) {
|
|
239
|
+
const lightClientAddress = yield* dstClient.getLightClientAddress(ibcHandlerAddress, clientId);
|
|
240
|
+
const height = yield* dstClient.getLatestHeight(lightClientAddress, clientId);
|
|
241
|
+
const stateRootIndex = yield* dstClient.getStateRootIndex(zAssetAddress, clientId);
|
|
242
|
+
const {
|
|
243
|
+
stateRoot
|
|
244
|
+
} = yield* dstClient.getConsensusState(lightClientAddress, clientId, height, stateRootIndex);
|
|
245
|
+
results.push({
|
|
246
|
+
clientId,
|
|
247
|
+
height,
|
|
248
|
+
stateRoot
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
return results;
|
|
252
|
+
});
|
|
253
|
+
export const prepareRedemption = /*#__PURE__*/Effect.fn(function* (options) {
|
|
254
|
+
const dstWalletClient = yield* WalletClient.DestinationWalletClient;
|
|
255
|
+
const attestor = yield* Attestor.Attestor;
|
|
256
|
+
// 1. Generate proof
|
|
257
|
+
const proofResult = yield* generateProof({
|
|
258
|
+
secret: options.paymentKey,
|
|
259
|
+
beneficiaries: options.beneficiaries,
|
|
260
|
+
beneficiary: options.beneficiary,
|
|
261
|
+
amount: options.amount,
|
|
262
|
+
clientIds: options.clientIds,
|
|
263
|
+
selectedClientId: options.selectedClientId,
|
|
264
|
+
srcChainId: options.srcChainId,
|
|
265
|
+
dstChainId: options.dstChainId,
|
|
266
|
+
srcErc20Address: options.srcErc20Address,
|
|
267
|
+
dstErc20Address: options.dstErc20Address
|
|
268
|
+
});
|
|
269
|
+
yield* Effect.log({
|
|
270
|
+
proofResult
|
|
271
|
+
});
|
|
272
|
+
const depositAddress = yield* getDepositAddress(options.paymentKey, options.beneficiaries, options.dstChainId);
|
|
273
|
+
yield* Effect.log({
|
|
274
|
+
depositAddress
|
|
275
|
+
});
|
|
276
|
+
// 2. Get attestation
|
|
277
|
+
const attestationResponse = yield* attestor.get({
|
|
278
|
+
unspendableAddress: depositAddress,
|
|
279
|
+
beneficiary: options.beneficiary
|
|
280
|
+
});
|
|
281
|
+
yield* Effect.log({
|
|
282
|
+
attestationResponse
|
|
283
|
+
});
|
|
284
|
+
// 3. Build redeem params
|
|
285
|
+
const redeemParams = Utils.proofJsonToRedeemParams(proofResult.proof, {
|
|
286
|
+
lightClients: proofResult.metadata.lightClients,
|
|
287
|
+
nullifier: proofResult.metadata.nullifier,
|
|
288
|
+
value: proofResult.metadata.value,
|
|
289
|
+
beneficiary: proofResult.metadata.beneficiary,
|
|
290
|
+
attestedMessage: attestationResponse.attestedMessage,
|
|
291
|
+
signature: attestationResponse.signature
|
|
292
|
+
});
|
|
293
|
+
yield* Effect.log({
|
|
294
|
+
redeemParams
|
|
295
|
+
});
|
|
296
|
+
return yield* dstWalletClient.prepareRedemption({
|
|
297
|
+
...redeemParams,
|
|
298
|
+
dstErc20Address: options.dstErc20Address
|
|
299
|
+
});
|
|
300
|
+
});
|
|
301
|
+
export const generateKey = /*#__PURE__*/Effect.gen(function* () {
|
|
302
|
+
while (true) {
|
|
303
|
+
const bytes = new Uint8Array(32);
|
|
304
|
+
crypto.getRandomValues(bytes);
|
|
305
|
+
const value = BigInt("0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join(""));
|
|
306
|
+
if (value < PRIME) {
|
|
307
|
+
return "0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join("");
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
export const prepareDeposit = /*#__PURE__*/Effect.fn("deposit")(options => Effect.gen(function* () {
|
|
312
|
+
const srcWalletClient = yield* WalletClient.SourceWalletClient;
|
|
313
|
+
const depositAddress = yield* getDepositAddress(options.paymentKey, options.beneficiaries, options.destinationChainId);
|
|
314
|
+
return yield* srcWalletClient.prepareDeposit({
|
|
315
|
+
amount: options.amount,
|
|
316
|
+
depositAddress,
|
|
317
|
+
sourceChainId: options.sourceChainId,
|
|
318
|
+
srcErc20Address: options.srcErc20Address,
|
|
319
|
+
beneficiaries: options.beneficiaries,
|
|
320
|
+
destinationChainId: options.destinationChainId
|
|
321
|
+
});
|
|
322
|
+
}));
|
|
323
|
+
//# sourceMappingURL=Payment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payment.js","names":["Effect","pipe","A","encodePacked","hexToBigInt","hexToBytes","keccak256","padHex","sha256","toHex","Attestor","Constants","ZAssetRegistry","Domain","Error","Prover","PublicClient","Poseidon2","Utils","WalletClient","PRIME","getDepositAddress","fn","secret","beneficiaries","destinationChainId","gen","paddedBeneficiaries","padBeneficiaries","unspendableAddress","computeUnspendableAddress","ZAssetAddress","length","SystemError","method","module","reason","description","padded","ZERO_ADDRESS","getNullifier","try","computeNullifier","catch","cause","deterministicShuffleClients","clients","secretBytes","heightsBytes","Uint8Array","i","view","DataView","buffer","setBigUint64","height","combined","set","seedHex","seed","shuffled","seedIndex","randomByte","j","computeStorageSlot","address","mappingSlot","paddedAddress","size","paddedSlot","succeed","fetchMptProof","options","log","srcClient","SourcePublicClient","proof","getProof","tokenAddress","storageKeys","storageSlot","blockNumber","storageProof","storageValue","value","obj","accountProof","storageRoot","storageHash","generateProof","clientIds","includes","selectedClientId","fail","success","error","beneficiary","srcZAssetAddress","getZAssetOrError","srcChainId","srcErc20Address","dstZAssetAddress","dstChainId","dstErc20Address","prover","destinationPublicClient","DestinationPublicClient","depositAddress","lightClients","fetchLightClients","zAssetAddress","isNonEmptyReadonlyArray","selectedClientIndex","findFirstIndex","c","clientId","mapError","selectedClient","unsafeGet","tokenAddressKey","balanceSlot","getCounterparty","ZERO_BYTES32","nullifier","balance","readBalanceAtHeight","amount","available","confirmed","redeemed","mptProof","witness","redeemAmount","alreadyRedeemed","toString","proofResult","metadata","dstClient","ibcHandlerAddress","getIbcHandlerAddress","results","lightClientAddress","getLightClientAddress","getLatestHeight","stateRootIndex","getStateRootIndex","stateRoot","getConsensusState","push","prepareRedemption","dstWalletClient","DestinationWalletClient","attestor","paymentKey","attestationResponse","get","redeemParams","proofJsonToRedeemParams","attestedMessage","signature","generateKey","bytes","crypto","getRandomValues","BigInt","Array","from","map","b","padStart","join","prepareDeposit","srcWalletClient","SourceWalletClient","sourceChainId"],"sources":["../../src/Payment.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { TypeIdError } from "./Error.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export const PaymentErrorTypeId = /*#__PURE__*/Symbol.for("@unionlabs/payments/PaymentError");
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export class PaymentError extends /*#__PURE__*/TypeIdError(PaymentErrorTypeId, "PaymentError") {}
|
|
13
|
+
// /**
|
|
14
|
+
// * @since 1.0.0
|
|
15
|
+
// */
|
|
16
|
+
// export class ResultLengthMismatch extends TypeIdError(PaymentErrorTypeId, "ResultLengthMismatch")<{
|
|
17
|
+
// readonly expected: number
|
|
18
|
+
// readonly actual: number
|
|
19
|
+
// }> {
|
|
20
|
+
// get message() {
|
|
21
|
+
// return `Expected ${this.expected} results but got ${this.actual}`
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
//# sourceMappingURL=PaymentError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentError.js","names":["TypeIdError","PaymentErrorTypeId","Symbol","for","PaymentError"],"sources":["../../src/PaymentError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,WAAW,QAAQ,YAAY;AAExC;;;AAGA,OAAO,MAAMC,kBAAkB,gBAAkBC,MAAM,CAACC,GAAG,CACzD,kCAAkC,CACnC;AAOD;;;AAGA,OAAM,MAAOC,YAAa,sBAAQJ,WAAW,CAC3CC,kBAAkB,EAClB,cAAc,CAId;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { create } from "@bufbuild/protobuf";
|
|
2
|
+
import { createClient } from "@connectrpc/connect";
|
|
3
|
+
import { createGrpcWebTransport } from "@connectrpc/connect-web";
|
|
4
|
+
import { Data, Effect, Match, pipe, Schedule } from "effect";
|
|
5
|
+
import * as S from "effect/Schema";
|
|
6
|
+
import { DEFAULT_PROVER_URL } from "./constants/services.js";
|
|
7
|
+
import * as Error from "./Error.js";
|
|
8
|
+
import * as GenProver from "./gen/prover_pb.js";
|
|
9
|
+
const Options = /*#__PURE__*/S.Struct({
|
|
10
|
+
proverUrl: /*#__PURE__*/S.optionalWith(/*#__PURE__*/S.Union(S.URLFromSelf, S.URL), {
|
|
11
|
+
default: () => new globalThis.URL(DEFAULT_PROVER_URL)
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export const isPending = result => result.case === "pending";
|
|
15
|
+
export const isDone = result => result.case === "done";
|
|
16
|
+
export const isFailed = result => result.case === "failed";
|
|
17
|
+
class PollPending extends /*#__PURE__*/Data.TaggedError("PollPending") {}
|
|
18
|
+
class PollFailed extends /*#__PURE__*/Data.TaggedError("PollFailed") {}
|
|
19
|
+
export const Proof = /*#__PURE__*/S.Struct({
|
|
20
|
+
proof: /*#__PURE__*/S.Tuple(S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String),
|
|
21
|
+
commitments: /*#__PURE__*/S.Tuple(S.String, S.String),
|
|
22
|
+
commitmentPok: /*#__PURE__*/S.Tuple(S.String, S.String),
|
|
23
|
+
publicInputs: /*#__PURE__*/S.Array(S.String)
|
|
24
|
+
// TODO: createdAt
|
|
25
|
+
});
|
|
26
|
+
export const ProofFromBytes = /*#__PURE__*/S.compose(/*#__PURE__*/S.transform(S.Uint8ArrayFromSelf, S.String, {
|
|
27
|
+
decode: bytes => new globalThis.TextDecoder().decode(bytes),
|
|
28
|
+
encode: text => new globalThis.TextEncoder().encode(text)
|
|
29
|
+
}), /*#__PURE__*/S.parseJson(Proof));
|
|
30
|
+
/**
|
|
31
|
+
* Prover client for communicating with the prover gRPC-web server
|
|
32
|
+
*
|
|
33
|
+
* Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export class Prover extends /*#__PURE__*/Effect.Service()("Prover", {
|
|
37
|
+
scoped: /*#__PURE__*/Effect.fn(function* (options) {
|
|
38
|
+
const {
|
|
39
|
+
proverUrl
|
|
40
|
+
} = yield* pipe(options, S.decode(Options), Effect.mapError(cause => new Error.SystemError({
|
|
41
|
+
method: "Prover",
|
|
42
|
+
module: "Prover",
|
|
43
|
+
reason: "InvalidData",
|
|
44
|
+
cause
|
|
45
|
+
})));
|
|
46
|
+
const transport = createGrpcWebTransport({
|
|
47
|
+
baseUrl: proverUrl.toString()
|
|
48
|
+
});
|
|
49
|
+
const client = createClient(GenProver.ProverService, transport);
|
|
50
|
+
const matchPollResult = Match.type().pipe(Match.when({
|
|
51
|
+
case: "done"
|
|
52
|
+
}, ({
|
|
53
|
+
value
|
|
54
|
+
}) => Effect.succeed(value)), Match.when({
|
|
55
|
+
case: "pending"
|
|
56
|
+
}, () => Effect.fail(new PollPending())), Match.when({
|
|
57
|
+
case: "failed"
|
|
58
|
+
}, ({
|
|
59
|
+
value
|
|
60
|
+
}) => Effect.fail(new PollFailed({
|
|
61
|
+
message: value.errorMessage
|
|
62
|
+
}))), Match.when({
|
|
63
|
+
case: undefined
|
|
64
|
+
}, () => Effect.fail(new PollFailed({
|
|
65
|
+
message: "Unset result"
|
|
66
|
+
}))), Match.exhaustive);
|
|
67
|
+
const poll = Effect.fn("poll")((...[request, options]) => pipe(Effect.tryPromise({
|
|
68
|
+
try: () => client.poll(request, options),
|
|
69
|
+
catch: cause => new Error.SystemError({
|
|
70
|
+
module: "Prover",
|
|
71
|
+
method: "poll",
|
|
72
|
+
reason: "InvalidData",
|
|
73
|
+
cause
|
|
74
|
+
})
|
|
75
|
+
}), Effect.map(response => response.result), Effect.flatMap(matchPollResult), Effect.retry({
|
|
76
|
+
while: error => error._tag === "PollPending",
|
|
77
|
+
schedule: Schedule.spaced("1 second")
|
|
78
|
+
}), Effect.flatMap(x => S.decode(ProofFromBytes)(x.proofJson)), Effect.catchTags({
|
|
79
|
+
ParseError: cause => new Error.SystemError({
|
|
80
|
+
method: "poll",
|
|
81
|
+
module: "Prover",
|
|
82
|
+
reason: "InvalidData",
|
|
83
|
+
cause
|
|
84
|
+
}),
|
|
85
|
+
PollFailed: cause => new Error.SystemError({
|
|
86
|
+
method: "poll",
|
|
87
|
+
module: "Prover",
|
|
88
|
+
reason: "InvalidData",
|
|
89
|
+
cause
|
|
90
|
+
}),
|
|
91
|
+
PollPending: cause => new Error.SystemError({
|
|
92
|
+
method: "poll",
|
|
93
|
+
module: "Prover",
|
|
94
|
+
reason: "InvalidData",
|
|
95
|
+
cause
|
|
96
|
+
})
|
|
97
|
+
})));
|
|
98
|
+
const witnessToProto = witness => create(GenProver.WitnessDataSchema, {
|
|
99
|
+
secret: witness.secret,
|
|
100
|
+
dstChainId: witness.dstChainId,
|
|
101
|
+
beneficiaries: [...witness.beneficiaries],
|
|
102
|
+
beneficiary: witness.beneficiary,
|
|
103
|
+
redeemAmount: witness.redeemAmount.toString(),
|
|
104
|
+
alreadyRedeemed: witness.alreadyRedeemed.toString(),
|
|
105
|
+
lightClients: witness.lightClients.map(lc => create(GenProver.LightClientDataSchema, {
|
|
106
|
+
clientId: lc.clientId,
|
|
107
|
+
height: lc.height,
|
|
108
|
+
stateRoot: lc.stateRoot
|
|
109
|
+
})),
|
|
110
|
+
selectedClientIndex: witness.selectedClientIndex,
|
|
111
|
+
mptProof: create(GenProver.MPTProofDataSchema, {
|
|
112
|
+
accountProof: [...witness.mptProof.accountProof],
|
|
113
|
+
storageProof: [...witness.mptProof.storageProof],
|
|
114
|
+
storageValue: witness.mptProof.storageValue,
|
|
115
|
+
storageRoot: witness.mptProof.storageRoot
|
|
116
|
+
}),
|
|
117
|
+
tokenAddress: witness.srcZAssetAddress,
|
|
118
|
+
mappingSlot: witness.mappingSlot
|
|
119
|
+
});
|
|
120
|
+
const generateProof = Effect.fn("generateProof")(function* (witness) {
|
|
121
|
+
const protoWitness = witnessToProto(witness);
|
|
122
|
+
const request = create(GenProver.ProofRequestSchema, {
|
|
123
|
+
witness: protoWitness
|
|
124
|
+
});
|
|
125
|
+
return yield* poll(request);
|
|
126
|
+
});
|
|
127
|
+
const exportVerifier = pipe(Effect.tryPromise({
|
|
128
|
+
try: () => client.exportVerifier({}),
|
|
129
|
+
catch: cause => new Error.SystemError({
|
|
130
|
+
module: "Prover",
|
|
131
|
+
method: "exportVerifier",
|
|
132
|
+
reason: "InvalidData",
|
|
133
|
+
cause
|
|
134
|
+
})
|
|
135
|
+
}), Effect.map(response => response.verifierContract));
|
|
136
|
+
return {
|
|
137
|
+
generateProof,
|
|
138
|
+
exportVerifier
|
|
139
|
+
};
|
|
140
|
+
})
|
|
141
|
+
}) {}
|
|
142
|
+
//# sourceMappingURL=Prover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prover.js","names":["create","createClient","createGrpcWebTransport","Data","Effect","Match","pipe","Schedule","S","DEFAULT_PROVER_URL","Error","GenProver","Options","Struct","proverUrl","optionalWith","Union","URLFromSelf","URL","default","globalThis","isPending","result","case","isDone","isFailed","PollPending","TaggedError","PollFailed","Proof","proof","Tuple","String","commitments","commitmentPok","publicInputs","Array","ProofFromBytes","compose","transform","Uint8ArrayFromSelf","decode","bytes","TextDecoder","encode","text","TextEncoder","parseJson","Prover","Service","scoped","fn","options","mapError","cause","SystemError","method","module","reason","transport","baseUrl","toString","client","ProverService","matchPollResult","type","when","value","succeed","fail","message","errorMessage","undefined","exhaustive","poll","request","tryPromise","try","catch","map","response","flatMap","retry","while","error","_tag","schedule","spaced","x","proofJson","catchTags","ParseError","witnessToProto","witness","WitnessDataSchema","secret","dstChainId","beneficiaries","beneficiary","redeemAmount","alreadyRedeemed","lightClients","lc","LightClientDataSchema","clientId","height","stateRoot","selectedClientIndex","mptProof","MPTProofDataSchema","accountProof","storageProof","storageValue","storageRoot","tokenAddress","srcZAssetAddress","mappingSlot","generateProof","protoWitness","ProofRequestSchema","exportVerifier","verifierContract"],"sources":["../../src/Prover.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import { identity } from "effect/Function";
|
|
4
|
+
import * as internal from "./internal/publicClient.js";
|
|
5
|
+
/**
|
|
6
|
+
* @category type ids
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
export const TypeId = internal.TypeId;
|
|
10
|
+
/**
|
|
11
|
+
* @category models
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
export const PublicClient = internal.clientTag;
|
|
15
|
+
/**
|
|
16
|
+
* @category models
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
*/
|
|
19
|
+
export class SourcePublicClient extends /*#__PURE__*/Context.Tag("SourcePublicClient")() {
|
|
20
|
+
static layer = layer => Layer.project(layer, PublicClient, SourcePublicClient, identity);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @category models
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
*/
|
|
26
|
+
export class DestinationPublicClient extends /*#__PURE__*/Context.Tag("DestinationPublicClient")() {
|
|
27
|
+
static layer = layer => Layer.project(layer, PublicClient, DestinationPublicClient, identity);
|
|
28
|
+
}
|
|
29
|
+
export const make = internal.make;
|
|
30
|
+
//# sourceMappingURL=PublicClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicClient.js","names":["Layer","Context","identity","internal","TypeId","PublicClient","clientTag","SourcePublicClient","Tag","layer","project","DestinationPublicClient","make"],"sources":["../../src/PublicClient.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AAEzC,SAASC,QAAQ,QAAQ,iBAAiB;AAI1C,OAAO,KAAKC,QAAQ,MAAM,4BAA4B;AAGtD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAgEpD;;;;AAIA,OAAO,MAAMC,YAAY,GACvBF,QAAQ,CAACG,SAAS;AAEpB;;;;AAIA,OAAM,MAAOC,kBAAmB,sBAAQN,OAAO,CAACO,GAAG,CAAC,oBAAoB,CAAC,EAGtE;EACD,OAAOC,KAAK,GAAUA,KAAsC,IAC1DT,KAAK,CAACU,OAAO,CAACD,KAAK,EAAEJ,YAAY,EAAEE,kBAAkB,EAAEL,QAAQ,CAAC;;AAGpE;;;;AAIA,OAAM,MAAOS,uBAAwB,sBAAQV,OAAO,CAACO,GAAG,CACtD,yBAAyB,CAC1B,EAAyC;EACxC,OAAOC,KAAK,GAAUA,KAAsC,IAC1DT,KAAK,CAACU,OAAO,CAACD,KAAK,EAAEJ,YAAY,EAAEM,uBAAuB,EAAET,QAAQ,CAAC;;AAwFzE,OAAO,MAAMU,IAAI,GAEyBT,QAAQ,CAACS,IAAI","ignoreList":[]}
|