@terkoizmy/intent-sdk 1.0.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/LICENSE +21 -0
- package/README.md +258 -0
- package/dist/config/chains.d.ts +25 -0
- package/dist/config/chains.d.ts.map +1 -0
- package/dist/config/chains.js +85 -0
- package/dist/config/chains.js.map +1 -0
- package/dist/config/default.d.ts +39 -0
- package/dist/config/default.d.ts.map +1 -0
- package/dist/config/default.js +46 -0
- package/dist/config/default.js.map +1 -0
- package/dist/config/testnets.d.ts +31 -0
- package/dist/config/testnets.d.ts.map +1 -0
- package/dist/config/testnets.js +99 -0
- package/dist/config/testnets.js.map +1 -0
- package/dist/errors/inventory-errors.d.ts +31 -0
- package/dist/errors/inventory-errors.d.ts.map +1 -0
- package/dist/errors/inventory-errors.js +45 -0
- package/dist/errors/inventory-errors.js.map +1 -0
- package/dist/errors/settlement-errors.d.ts +27 -0
- package/dist/errors/settlement-errors.d.ts.map +1 -0
- package/dist/errors/settlement-errors.js +39 -0
- package/dist/errors/settlement-errors.js.map +1 -0
- package/dist/errors/solver-errors.d.ts +45 -0
- package/dist/errors/solver-errors.d.ts.map +1 -0
- package/dist/errors/solver-errors.js +66 -0
- package/dist/errors/solver-errors.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/classifiers/intent-classifier.d.ts +40 -0
- package/dist/parser/classifiers/intent-classifier.d.ts.map +1 -0
- package/dist/parser/classifiers/intent-classifier.js +72 -0
- package/dist/parser/classifiers/intent-classifier.js.map +1 -0
- package/dist/parser/extractors/action.d.ts +32 -0
- package/dist/parser/extractors/action.d.ts.map +1 -0
- package/dist/parser/extractors/action.js +72 -0
- package/dist/parser/extractors/action.js.map +1 -0
- package/dist/parser/extractors/amount.d.ts +39 -0
- package/dist/parser/extractors/amount.d.ts.map +1 -0
- package/dist/parser/extractors/amount.js +113 -0
- package/dist/parser/extractors/amount.js.map +1 -0
- package/dist/parser/extractors/constraints.d.ts +37 -0
- package/dist/parser/extractors/constraints.d.ts.map +1 -0
- package/dist/parser/extractors/constraints.js +119 -0
- package/dist/parser/extractors/constraints.js.map +1 -0
- package/dist/parser/extractors/index.d.ts +5 -0
- package/dist/parser/extractors/index.d.ts.map +1 -0
- package/dist/parser/extractors/index.js +5 -0
- package/dist/parser/extractors/index.js.map +1 -0
- package/dist/parser/extractors/token.d.ts +24 -0
- package/dist/parser/extractors/token.d.ts.map +1 -0
- package/dist/parser/extractors/token.js +124 -0
- package/dist/parser/extractors/token.js.map +1 -0
- package/dist/parser/index.d.ts +125 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +293 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/template/bridge.d.ts +37 -0
- package/dist/parser/template/bridge.d.ts.map +1 -0
- package/dist/parser/template/bridge.js +80 -0
- package/dist/parser/template/bridge.js.map +1 -0
- package/dist/parser/template/claim.d.ts +15 -0
- package/dist/parser/template/claim.d.ts.map +1 -0
- package/dist/parser/template/claim.js +36 -0
- package/dist/parser/template/claim.js.map +1 -0
- package/dist/parser/template/index.d.ts +28 -0
- package/dist/parser/template/index.d.ts.map +1 -0
- package/dist/parser/template/index.js +50 -0
- package/dist/parser/template/index.js.map +1 -0
- package/dist/parser/template/nft.d.ts +3 -0
- package/dist/parser/template/nft.d.ts.map +1 -0
- package/dist/parser/template/nft.js +19 -0
- package/dist/parser/template/nft.js.map +1 -0
- package/dist/parser/template/send.d.ts +24 -0
- package/dist/parser/template/send.d.ts.map +1 -0
- package/dist/parser/template/send.js +61 -0
- package/dist/parser/template/send.js.map +1 -0
- package/dist/parser/template/swap.d.ts +3 -0
- package/dist/parser/template/swap.d.ts.map +1 -0
- package/dist/parser/template/swap.js +21 -0
- package/dist/parser/template/swap.js.map +1 -0
- package/dist/parser/template/unknown.d.ts +3 -0
- package/dist/parser/template/unknown.d.ts.map +1 -0
- package/dist/parser/template/unknown.js +11 -0
- package/dist/parser/template/unknown.js.map +1 -0
- package/dist/parser/template/yield.d.ts +3 -0
- package/dist/parser/template/yield.d.ts.map +1 -0
- package/dist/parser/template/yield.js +25 -0
- package/dist/parser/template/yield.js.map +1 -0
- package/dist/parser/utils/normalize.d.ts +41 -0
- package/dist/parser/utils/normalize.d.ts.map +1 -0
- package/dist/parser/utils/normalize.js +71 -0
- package/dist/parser/utils/normalize.js.map +1 -0
- package/dist/parser/utils/parser-helpers.d.ts +20 -0
- package/dist/parser/utils/parser-helpers.d.ts.map +1 -0
- package/dist/parser/utils/parser-helpers.js +282 -0
- package/dist/parser/utils/parser-helpers.js.map +1 -0
- package/dist/parser/validators/schema.d.ts +14 -0
- package/dist/parser/validators/schema.d.ts.map +1 -0
- package/dist/parser/validators/schema.js +81 -0
- package/dist/parser/validators/schema.js.map +1 -0
- package/dist/sdk-factory.d.ts +55 -0
- package/dist/sdk-factory.d.ts.map +1 -0
- package/dist/sdk-factory.js +49 -0
- package/dist/sdk-factory.js.map +1 -0
- package/dist/services/token-resolver.d.ts +142 -0
- package/dist/services/token-resolver.d.ts.map +1 -0
- package/dist/services/token-resolver.js +254 -0
- package/dist/services/token-resolver.js.map +1 -0
- package/dist/shared/chain-registry/chain-names.d.ts +22 -0
- package/dist/shared/chain-registry/chain-names.d.ts.map +1 -0
- package/dist/shared/chain-registry/chain-names.js +49 -0
- package/dist/shared/chain-registry/chain-names.js.map +1 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/arbitrum-sepolia.js.map +1 -0
- package/dist/shared/chain-registry/configs/base-sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/base-sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/base-sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/base-sepolia.js.map +1 -0
- package/dist/shared/chain-registry/configs/ethereum.d.ts +7 -0
- package/dist/shared/chain-registry/configs/ethereum.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/ethereum.js +7 -0
- package/dist/shared/chain-registry/configs/ethereum.js.map +1 -0
- package/dist/shared/chain-registry/configs/polygon.d.ts +7 -0
- package/dist/shared/chain-registry/configs/polygon.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/polygon.js +7 -0
- package/dist/shared/chain-registry/configs/polygon.js.map +1 -0
- package/dist/shared/chain-registry/configs/sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/sepolia.js.map +1 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts +9 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.d.ts.map +1 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.js +9 -0
- package/dist/shared/chain-registry/configs/unichain-sepolia.js.map +1 -0
- package/dist/shared/chain-registry/registry.d.ts +50 -0
- package/dist/shared/chain-registry/registry.d.ts.map +1 -0
- package/dist/shared/chain-registry/registry.js +72 -0
- package/dist/shared/chain-registry/registry.js.map +1 -0
- package/dist/shared/rpc/provider-manager.d.ts +111 -0
- package/dist/shared/rpc/provider-manager.d.ts.map +1 -0
- package/dist/shared/rpc/provider-manager.js +116 -0
- package/dist/shared/rpc/provider-manager.js.map +1 -0
- package/dist/shared/rpc/viem-provider.d.ts +78 -0
- package/dist/shared/rpc/viem-provider.d.ts.map +1 -0
- package/dist/shared/rpc/viem-provider.js +187 -0
- package/dist/shared/rpc/viem-provider.js.map +1 -0
- package/dist/shared/token-registry/enrichment.d.ts +48 -0
- package/dist/shared/token-registry/enrichment.d.ts.map +1 -0
- package/dist/shared/token-registry/enrichment.js +69 -0
- package/dist/shared/token-registry/enrichment.js.map +1 -0
- package/dist/shared/token-registry/registry.d.ts +119 -0
- package/dist/shared/token-registry/registry.d.ts.map +1 -0
- package/dist/shared/token-registry/registry.js +200 -0
- package/dist/shared/token-registry/registry.js.map +1 -0
- package/dist/shared/utils/erc20-utils.d.ts +24 -0
- package/dist/shared/utils/erc20-utils.d.ts.map +1 -0
- package/dist/shared/utils/erc20-utils.js +31 -0
- package/dist/shared/utils/erc20-utils.js.map +1 -0
- package/dist/shared/utils/retry.d.ts +57 -0
- package/dist/shared/utils/retry.d.ts.map +1 -0
- package/dist/shared/utils/retry.js +104 -0
- package/dist/shared/utils/retry.js.map +1 -0
- package/dist/shared/wallet-manager/viem-signer.d.ts +68 -0
- package/dist/shared/wallet-manager/viem-signer.d.ts.map +1 -0
- package/dist/shared/wallet-manager/viem-signer.js +116 -0
- package/dist/shared/wallet-manager/viem-signer.js.map +1 -0
- package/dist/shared/wallet-manager/wallet-manager.d.ts +96 -0
- package/dist/shared/wallet-manager/wallet-manager.d.ts.map +1 -0
- package/dist/shared/wallet-manager/wallet-manager.js +104 -0
- package/dist/shared/wallet-manager/wallet-manager.js.map +1 -0
- package/dist/solver/agent/agent-config.d.ts +62 -0
- package/dist/solver/agent/agent-config.d.ts.map +1 -0
- package/dist/solver/agent/agent-config.js +59 -0
- package/dist/solver/agent/agent-config.js.map +1 -0
- package/dist/solver/agent/index.d.ts +6 -0
- package/dist/solver/agent/index.d.ts.map +1 -0
- package/dist/solver/agent/index.js +6 -0
- package/dist/solver/agent/index.js.map +1 -0
- package/dist/solver/agent/liquidity-agent.d.ts +118 -0
- package/dist/solver/agent/liquidity-agent.d.ts.map +1 -0
- package/dist/solver/agent/liquidity-agent.js +285 -0
- package/dist/solver/agent/liquidity-agent.js.map +1 -0
- package/dist/solver/contracts/intent-settlement/index.d.ts +2 -0
- package/dist/solver/contracts/intent-settlement/index.d.ts.map +1 -0
- package/dist/solver/contracts/intent-settlement/index.js +2 -0
- package/dist/solver/contracts/intent-settlement/index.js.map +1 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts +22 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.d.ts.map +1 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.js +58 -0
- package/dist/solver/contracts/intent-settlement/intent-settlement.js.map +1 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts +226 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.d.ts.map +1 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js +204 -0
- package/dist/solver/contracts/intent-settlement/viem-settlement-contract.js.map +1 -0
- package/dist/solver/index.d.ts +87 -0
- package/dist/solver/index.d.ts.map +1 -0
- package/dist/solver/index.js +167 -0
- package/dist/solver/index.js.map +1 -0
- package/dist/solver/inventory/index.d.ts +7 -0
- package/dist/solver/inventory/index.d.ts.map +1 -0
- package/dist/solver/inventory/index.js +7 -0
- package/dist/solver/inventory/index.js.map +1 -0
- package/dist/solver/inventory/inventory-manager.d.ts +135 -0
- package/dist/solver/inventory/inventory-manager.d.ts.map +1 -0
- package/dist/solver/inventory/inventory-manager.js +323 -0
- package/dist/solver/inventory/inventory-manager.js.map +1 -0
- package/dist/solver/inventory/inventory-monitor.d.ts +72 -0
- package/dist/solver/inventory/inventory-monitor.d.ts.map +1 -0
- package/dist/solver/inventory/inventory-monitor.js +123 -0
- package/dist/solver/inventory/inventory-monitor.js.map +1 -0
- package/dist/solver/inventory/rebalancer.d.ts +78 -0
- package/dist/solver/inventory/rebalancer.d.ts.map +1 -0
- package/dist/solver/inventory/rebalancer.js +210 -0
- package/dist/solver/inventory/rebalancer.js.map +1 -0
- package/dist/solver/mempool/index.d.ts +8 -0
- package/dist/solver/mempool/index.d.ts.map +1 -0
- package/dist/solver/mempool/index.js +8 -0
- package/dist/solver/mempool/index.js.map +1 -0
- package/dist/solver/mempool/intent-filter.d.ts +49 -0
- package/dist/solver/mempool/intent-filter.d.ts.map +1 -0
- package/dist/solver/mempool/intent-filter.js +75 -0
- package/dist/solver/mempool/intent-filter.js.map +1 -0
- package/dist/solver/mempool/mempool-client.d.ts +105 -0
- package/dist/solver/mempool/mempool-client.d.ts.map +1 -0
- package/dist/solver/mempool/mempool-client.js +161 -0
- package/dist/solver/mempool/mempool-client.js.map +1 -0
- package/dist/solver/mempool/mempool-monitor.d.ts +71 -0
- package/dist/solver/mempool/mempool-monitor.d.ts.map +1 -0
- package/dist/solver/mempool/mempool-monitor.js +127 -0
- package/dist/solver/mempool/mempool-monitor.js.map +1 -0
- package/dist/solver/mempool/solution-submitter.d.ts +41 -0
- package/dist/solver/mempool/solution-submitter.d.ts.map +1 -0
- package/dist/solver/mempool/solution-submitter.js +71 -0
- package/dist/solver/mempool/solution-submitter.js.map +1 -0
- package/dist/solver/monitoring/alert-manager.d.ts +43 -0
- package/dist/solver/monitoring/alert-manager.d.ts.map +1 -0
- package/dist/solver/monitoring/alert-manager.js +69 -0
- package/dist/solver/monitoring/alert-manager.js.map +1 -0
- package/dist/solver/monitoring/health-checker.d.ts +53 -0
- package/dist/solver/monitoring/health-checker.d.ts.map +1 -0
- package/dist/solver/monitoring/health-checker.js +94 -0
- package/dist/solver/monitoring/health-checker.js.map +1 -0
- package/dist/solver/monitoring/index.d.ts +7 -0
- package/dist/solver/monitoring/index.d.ts.map +1 -0
- package/dist/solver/monitoring/index.js +7 -0
- package/dist/solver/monitoring/index.js.map +1 -0
- package/dist/solver/monitoring/profit-tracker.d.ts +47 -0
- package/dist/solver/monitoring/profit-tracker.d.ts.map +1 -0
- package/dist/solver/monitoring/profit-tracker.js +112 -0
- package/dist/solver/monitoring/profit-tracker.js.map +1 -0
- package/dist/solver/pricing/dynamic-pricing.d.ts +86 -0
- package/dist/solver/pricing/dynamic-pricing.d.ts.map +1 -0
- package/dist/solver/pricing/dynamic-pricing.js +189 -0
- package/dist/solver/pricing/dynamic-pricing.js.map +1 -0
- package/dist/solver/pricing/fee-calculator.d.ts +101 -0
- package/dist/solver/pricing/fee-calculator.d.ts.map +1 -0
- package/dist/solver/pricing/fee-calculator.js +149 -0
- package/dist/solver/pricing/fee-calculator.js.map +1 -0
- package/dist/solver/pricing/index.d.ts +7 -0
- package/dist/solver/pricing/index.d.ts.map +1 -0
- package/dist/solver/pricing/index.js +7 -0
- package/dist/solver/pricing/index.js.map +1 -0
- package/dist/solver/pricing/slippage-capture.d.ts +47 -0
- package/dist/solver/pricing/slippage-capture.d.ts.map +1 -0
- package/dist/solver/pricing/slippage-capture.js +63 -0
- package/dist/solver/pricing/slippage-capture.js.map +1 -0
- package/dist/solver/protocols/aggregators/lifi.d.ts +109 -0
- package/dist/solver/protocols/aggregators/lifi.d.ts.map +1 -0
- package/dist/solver/protocols/aggregators/lifi.js +110 -0
- package/dist/solver/protocols/aggregators/lifi.js.map +1 -0
- package/dist/solver/protocols/aggregators/swing.d.ts +67 -0
- package/dist/solver/protocols/aggregators/swing.d.ts.map +1 -0
- package/dist/solver/protocols/aggregators/swing.js +212 -0
- package/dist/solver/protocols/aggregators/swing.js.map +1 -0
- package/dist/solver/protocols/base-protocol.d.ts +42 -0
- package/dist/solver/protocols/base-protocol.d.ts.map +1 -0
- package/dist/solver/protocols/base-protocol.js +16 -0
- package/dist/solver/protocols/base-protocol.js.map +1 -0
- package/dist/solver/protocols/index.d.ts +10 -0
- package/dist/solver/protocols/index.d.ts.map +1 -0
- package/dist/solver/protocols/index.js +10 -0
- package/dist/solver/protocols/index.js.map +1 -0
- package/dist/solver/protocols/lending/aave.d.ts +51 -0
- package/dist/solver/protocols/lending/aave.d.ts.map +1 -0
- package/dist/solver/protocols/lending/aave.js +172 -0
- package/dist/solver/protocols/lending/aave.js.map +1 -0
- package/dist/solver/protocols/protocol-registry.d.ts +28 -0
- package/dist/solver/protocols/protocol-registry.d.ts.map +1 -0
- package/dist/solver/protocols/protocol-registry.js +40 -0
- package/dist/solver/protocols/protocol-registry.js.map +1 -0
- package/dist/solver/settlement/index.d.ts +7 -0
- package/dist/solver/settlement/index.d.ts.map +1 -0
- package/dist/solver/settlement/index.js +7 -0
- package/dist/solver/settlement/index.js.map +1 -0
- package/dist/solver/settlement/live-settlement-manager.d.ts +62 -0
- package/dist/solver/settlement/live-settlement-manager.d.ts.map +1 -0
- package/dist/solver/settlement/live-settlement-manager.js +68 -0
- package/dist/solver/settlement/live-settlement-manager.js.map +1 -0
- package/dist/solver/settlement/proof-generator.d.ts +48 -0
- package/dist/solver/settlement/proof-generator.d.ts.map +1 -0
- package/dist/solver/settlement/proof-generator.js +100 -0
- package/dist/solver/settlement/proof-generator.js.map +1 -0
- package/dist/solver/settlement/proof-verifier.d.ts +31 -0
- package/dist/solver/settlement/proof-verifier.d.ts.map +1 -0
- package/dist/solver/settlement/proof-verifier.js +46 -0
- package/dist/solver/settlement/proof-verifier.js.map +1 -0
- package/dist/solver/settlement/settlement-manager.d.ts +97 -0
- package/dist/solver/settlement/settlement-manager.d.ts.map +1 -0
- package/dist/solver/settlement/settlement-manager.js +220 -0
- package/dist/solver/settlement/settlement-manager.js.map +1 -0
- package/dist/solver/types/agent.d.ts +92 -0
- package/dist/solver/types/agent.d.ts.map +1 -0
- package/dist/solver/types/agent.js +8 -0
- package/dist/solver/types/agent.js.map +1 -0
- package/dist/solver/types/execution.d.ts +70 -0
- package/dist/solver/types/execution.d.ts.map +1 -0
- package/dist/solver/types/execution.js +7 -0
- package/dist/solver/types/execution.js.map +1 -0
- package/dist/solver/types/index.d.ts +13 -0
- package/dist/solver/types/index.d.ts.map +1 -0
- package/dist/solver/types/index.js +13 -0
- package/dist/solver/types/index.js.map +1 -0
- package/dist/solver/types/intent.d.ts +82 -0
- package/dist/solver/types/intent.d.ts.map +1 -0
- package/dist/solver/types/intent.js +33 -0
- package/dist/solver/types/intent.js.map +1 -0
- package/dist/solver/types/inventory.d.ts +83 -0
- package/dist/solver/types/inventory.d.ts.map +1 -0
- package/dist/solver/types/inventory.js +8 -0
- package/dist/solver/types/inventory.js.map +1 -0
- package/dist/solver/types/pricing.d.ts +59 -0
- package/dist/solver/types/pricing.d.ts.map +1 -0
- package/dist/solver/types/pricing.js +8 -0
- package/dist/solver/types/pricing.js.map +1 -0
- package/dist/solver/types/settlement.d.ts +98 -0
- package/dist/solver/types/settlement.d.ts.map +1 -0
- package/dist/solver/types/settlement.js +9 -0
- package/dist/solver/types/settlement.js.map +1 -0
- package/dist/types/chain.d.ts +66 -0
- package/dist/types/chain.d.ts.map +1 -0
- package/dist/types/chain.js +7 -0
- package/dist/types/chain.js.map +1 -0
- package/dist/types/common.d.ts +44 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +8 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/entities.d.ts +61 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/entities.js +2 -0
- package/dist/types/entities.js.map +1 -0
- package/dist/types/index.d.ts +44 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/intent.d.ts +70 -0
- package/dist/types/intent.d.ts.map +1 -0
- package/dist/types/intent.js +2 -0
- package/dist/types/intent.js.map +1 -0
- package/dist/types/templates.d.ts +18 -0
- package/dist/types/templates.d.ts.map +1 -0
- package/dist/types/templates.js +2 -0
- package/dist/types/templates.js.map +1 -0
- package/dist/types/token.d.ts +132 -0
- package/dist/types/token.d.ts.map +1 -0
- package/dist/types/token.js +8 -0
- package/dist/types/token.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inventory Management Types
|
|
3
|
+
*
|
|
4
|
+
* Types untuk tracking balance USDC/token di semua chains
|
|
5
|
+
* dan rebalancing antar chain.
|
|
6
|
+
*/
|
|
7
|
+
import type { ChainId } from "../../types/common";
|
|
8
|
+
/**
|
|
9
|
+
* Balance on a single chain for a single token
|
|
10
|
+
*
|
|
11
|
+
* Tracks available, locked, and total balance.
|
|
12
|
+
* Locked = reserved for pending intent fulfillment.
|
|
13
|
+
*/
|
|
14
|
+
export interface InventoryBalance {
|
|
15
|
+
/** Chain ID where this balance is held */
|
|
16
|
+
chainId: ChainId;
|
|
17
|
+
/** Token symbol (e.g., "USDC") */
|
|
18
|
+
token: string;
|
|
19
|
+
/** Available balance (not locked) — in token's smallest unit (e.g., 6 decimals for USDC) */
|
|
20
|
+
available: bigint;
|
|
21
|
+
/** Locked balance (reserved for pending intents) */
|
|
22
|
+
locked: bigint;
|
|
23
|
+
/** Timestamp when this balance was last refreshed from on-chain */
|
|
24
|
+
lastUpdated: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Full inventory snapshot across all chains
|
|
28
|
+
*
|
|
29
|
+
* Digunakan untuk monitoring dashboard & rebalancing decisions.
|
|
30
|
+
*/
|
|
31
|
+
export interface InventorySnapshot {
|
|
32
|
+
/** All balances across chains and tokens */
|
|
33
|
+
balances: InventoryBalance[];
|
|
34
|
+
/** Total value in USD (sum of all token balances) */
|
|
35
|
+
totalUSDValue: string;
|
|
36
|
+
/** Timestamp ketika snapshot diambil */
|
|
37
|
+
timestamp: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Rebalancing task priority
|
|
41
|
+
*/
|
|
42
|
+
export type RebalancePriority = "low" | "medium" | "high" | "critical";
|
|
43
|
+
/**
|
|
44
|
+
* Task untuk rebalancing token antar chain
|
|
45
|
+
*
|
|
46
|
+
* CONTOH:
|
|
47
|
+
* {
|
|
48
|
+
* fromChain: 1, // Ethereum
|
|
49
|
+
* toChain: 137, // Polygon
|
|
50
|
+
* token: "USDC",
|
|
51
|
+
* amount: 50000n * 10n**6n, // 50,000 USDC
|
|
52
|
+
* reason: "Polygon balance below 20% threshold",
|
|
53
|
+
* priority: "high"
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
56
|
+
export interface RebalanceTask {
|
|
57
|
+
/** Source chain ID (where we have excess) */
|
|
58
|
+
fromChain: ChainId;
|
|
59
|
+
/** Target chain ID (where we need more) */
|
|
60
|
+
toChain: ChainId;
|
|
61
|
+
/** Token symbol to rebalance */
|
|
62
|
+
token: string;
|
|
63
|
+
/** Amount to bridge (in token's smallest unit) */
|
|
64
|
+
amount: bigint;
|
|
65
|
+
/** Human-readable reason for rebalancing */
|
|
66
|
+
reason: string;
|
|
67
|
+
/** Task priority — critical tasks are executed first */
|
|
68
|
+
priority: RebalancePriority;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Inventory configuration
|
|
72
|
+
*/
|
|
73
|
+
export interface InventoryConfig {
|
|
74
|
+
/** Minimum reserve percentage per chain (0-1). Default: 0.1 (10%) */
|
|
75
|
+
minReservePercent: number;
|
|
76
|
+
/** Rebalance trigger threshold (0-1). Default: 0.15 (15% deviation) */
|
|
77
|
+
rebalanceThreshold: number;
|
|
78
|
+
/** Target distribution per chain (chainId → percentage). If not set, distributes equally */
|
|
79
|
+
targetDistribution?: Record<ChainId, number>;
|
|
80
|
+
/** Polling interval for balance refresh (milliseconds). Default: 30_000 */
|
|
81
|
+
pollingIntervalMs?: number;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=inventory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/solver/types/inventory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IAEjB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,4CAA4C;IAC5C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAE7B,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IAEtB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC1B,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IAEjB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IAEf,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,QAAQ,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAE1B,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAE3B,4FAA4F;IAC5F,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE7C,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/solver/types/inventory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pricing Types
|
|
3
|
+
*
|
|
4
|
+
* Types untuk fee calculation dan dynamic pricing engine.
|
|
5
|
+
* Fee = baseFee + gasCost + slippageCapture
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Pricing Result
|
|
9
|
+
*
|
|
10
|
+
* Full fee breakdown dari pricing engine.
|
|
11
|
+
* Semua amount dalam token's smallest unit (e.g., 6 decimals for USDC).
|
|
12
|
+
*
|
|
13
|
+
* CONTOH untuk 1000 USDC bridge:
|
|
14
|
+
* {
|
|
15
|
+
* baseFee: "5000000", // 5 USDC (0.5%)
|
|
16
|
+
* gasCost: "500000", // 0.5 USDC
|
|
17
|
+
* slippageCapture: "2500000", // 2.5 USDC (50% of user's max slippage)
|
|
18
|
+
* totalFee: "8000000", // 8 USDC total
|
|
19
|
+
* userPays: "1000000000", // 1000 USDC
|
|
20
|
+
* userReceives: "992000000", // 992 USDC
|
|
21
|
+
* solverProfit: "7500000", // 7.5 USDC (totalFee - gasCost)
|
|
22
|
+
* }
|
|
23
|
+
*/
|
|
24
|
+
export interface PricingResult {
|
|
25
|
+
/** Base fee (amount * baseFeePercent) */
|
|
26
|
+
baseFee: string;
|
|
27
|
+
/** Estimated gas cost in token equivalent (USDC) */
|
|
28
|
+
gasCost: string;
|
|
29
|
+
/** Slippage capture from user's max slippage tolerance */
|
|
30
|
+
slippageCapture: string;
|
|
31
|
+
/** Total fee = baseFee + gasCost + slippageCapture */
|
|
32
|
+
totalFee: string;
|
|
33
|
+
/** Total amount user pays (including fees locked in contract) */
|
|
34
|
+
userPays: string;
|
|
35
|
+
/** Amount user actually receives on target chain */
|
|
36
|
+
userReceives: string;
|
|
37
|
+
/** Net solver profit = totalFee - gasCost */
|
|
38
|
+
solverProfit: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Pricing Configuration
|
|
42
|
+
*
|
|
43
|
+
* DEFAULTS:
|
|
44
|
+
* baseFeePercent: 0.005 (0.5%)
|
|
45
|
+
* minFeeUSD: 1
|
|
46
|
+
* maxFeePercent: 0.03 (3%)
|
|
47
|
+
* slippageSharePercent: 0.5 (50% of user's max slippage)
|
|
48
|
+
*/
|
|
49
|
+
export interface PricingConfig {
|
|
50
|
+
/** Base fee as percentage of amount (0.005 = 0.5%) */
|
|
51
|
+
baseFeePercent: number;
|
|
52
|
+
/** Minimum fee in USD — enforce even for small amounts */
|
|
53
|
+
minFeeUSD: number;
|
|
54
|
+
/** Maximum fee as percentage (cap to prevent excessive fees) */
|
|
55
|
+
maxFeePercent: number;
|
|
56
|
+
/** Share of user's max slippage that solver captures (0.5 = 50%) */
|
|
57
|
+
slippageSharePercent: number;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=pricing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../../src/solver/types/pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC1B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAEhB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IAExB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IAEjB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IAErB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC1B,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IAEvB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAElB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IAEtB,oEAAoE;IACpE,oBAAoB,EAAE,MAAM,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../../src/solver/types/pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settlement Types
|
|
3
|
+
*
|
|
4
|
+
* Types untuk cross-chain settlement dan proof verification.
|
|
5
|
+
* Settlement = proses claim funds di source chain setelah
|
|
6
|
+
* berhasil mengirim funds di target chain.
|
|
7
|
+
*/
|
|
8
|
+
import type { Address, ChainId, Hash } from "../../types/common";
|
|
9
|
+
/**
|
|
10
|
+
* Parameters for generating a signature proof.
|
|
11
|
+
*/
|
|
12
|
+
export interface ProofGenerationParams {
|
|
13
|
+
/** Unique intent ID */
|
|
14
|
+
intentId: string;
|
|
15
|
+
/** Transaction hash on target chain (fulfillment tx) */
|
|
16
|
+
targetTxHash: Hash;
|
|
17
|
+
/** Target chain ID */
|
|
18
|
+
targetChainId: ChainId;
|
|
19
|
+
/** Amount transferred (in token's smallest unit) */
|
|
20
|
+
amount: string;
|
|
21
|
+
/** Recipient address on target chain */
|
|
22
|
+
recipient: Address;
|
|
23
|
+
/** Number of block confirmations to wait (default: 3) */
|
|
24
|
+
confirmations?: number;
|
|
25
|
+
}
|
|
26
|
+
/** Wallet signing capability (subset of WalletManager) */
|
|
27
|
+
export interface IProofSigner {
|
|
28
|
+
getAddress(): Address | Promise<Address>;
|
|
29
|
+
signMessage(message: string | Uint8Array): Promise<string>;
|
|
30
|
+
}
|
|
31
|
+
/** RPC provider capability (subset of RPCProviderManager) */
|
|
32
|
+
export interface IProviderForProof {
|
|
33
|
+
getTransactionReceipt(chainId: ChainId, txHash: Hash): Promise<{
|
|
34
|
+
blockNumber: number;
|
|
35
|
+
status: number;
|
|
36
|
+
} | null>;
|
|
37
|
+
getBlockNumber(chainId: ChainId): Promise<number>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Settlement status
|
|
41
|
+
*/
|
|
42
|
+
export type SettlementStatus = "pending" | "proving" | "claiming" | "completed" | "failed";
|
|
43
|
+
/**
|
|
44
|
+
* Settlement record
|
|
45
|
+
*
|
|
46
|
+
* Merepresentasikan satu settlement cycle:
|
|
47
|
+
* 1. Solver kirim di target chain (targetTx)
|
|
48
|
+
* 2. Generate proof
|
|
49
|
+
* 3. Claim di source chain (sourceTx)
|
|
50
|
+
*/
|
|
51
|
+
export interface Settlement {
|
|
52
|
+
/** Intent ID yang di-settle */
|
|
53
|
+
intentId: string;
|
|
54
|
+
/** Solver address yang melakukan settlement */
|
|
55
|
+
solver: Address;
|
|
56
|
+
/** Transaction hash di source chain (claim tx) */
|
|
57
|
+
sourceTx?: Hash;
|
|
58
|
+
/** Transaction hash di target chain (fulfillment tx) */
|
|
59
|
+
targetTx: Hash;
|
|
60
|
+
/** Cross-chain proof used for claim */
|
|
61
|
+
proof?: CrossChainProof;
|
|
62
|
+
/** Current settlement status */
|
|
63
|
+
status: SettlementStatus;
|
|
64
|
+
/** Timestamp ketika settlement selesai (Unix seconds) */
|
|
65
|
+
settledAt?: number;
|
|
66
|
+
/** Timestamp ketika settlement dimulai */
|
|
67
|
+
startedAt: number;
|
|
68
|
+
/** Number of claim attempts (for retry tracking) */
|
|
69
|
+
claimAttempts: number;
|
|
70
|
+
/** Error message if failed */
|
|
71
|
+
error?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Cross-Chain Proof
|
|
75
|
+
*
|
|
76
|
+
* Bukti bahwa solver telah mengirim funds di target chain.
|
|
77
|
+
* Digunakan untuk claim funds di source chain contract.
|
|
78
|
+
*
|
|
79
|
+
* Proof mechanism: EIP-712 signature dari solver atas data transfer.
|
|
80
|
+
*/
|
|
81
|
+
export interface CrossChainProof {
|
|
82
|
+
/** Target chain transaction hash */
|
|
83
|
+
txHash: Hash;
|
|
84
|
+
/** Target chain ID */
|
|
85
|
+
chainId: ChainId;
|
|
86
|
+
/** Block number where target tx was included */
|
|
87
|
+
blockNumber: number;
|
|
88
|
+
/** Solver's EIP-712 signature over proof data */
|
|
89
|
+
solverSignature: string;
|
|
90
|
+
/** Data yang di-sign (untuk verification) */
|
|
91
|
+
signedData?: {
|
|
92
|
+
intentId: string;
|
|
93
|
+
targetTxHash: Hash;
|
|
94
|
+
amount: string;
|
|
95
|
+
recipient: Address;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=settlement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settlement.d.ts","sourceRoot":"","sources":["../../../src/solver/types/settlement.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAMjE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,YAAY,EAAE,IAAI,CAAC;IAEnB,sBAAsB;IACtB,aAAa,EAAE,OAAO,CAAC;IAEvB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IACzB,UAAU,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;QAC3D,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC,CAAC;IACV,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACtB,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEf;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACvB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,MAAM,EAAE,OAAO,CAAC;IAEhB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,wDAAwD;IACxD,QAAQ,EAAE,IAAI,CAAC;IAEf,uCAAuC;IACvC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,gCAAgC;IAChC,MAAM,EAAE,gBAAgB,CAAC;IAEzB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IAEtB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC5B,oCAAoC;IACpC,MAAM,EAAE,IAAI,CAAC;IAEb,sBAAsB;IACtB,OAAO,EAAE,OAAO,CAAC;IAEjB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IAExB,6CAA6C;IAC7C,UAAU,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,IAAI,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;KACtB,CAAC;CACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settlement.js","sourceRoot":"","sources":["../../../src/solver/types/settlement.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* Konfigurasi per-chain untuk EVM networks.
|
|
5
|
+
*/
|
|
6
|
+
import type { Address, ChainId } from "./common";
|
|
7
|
+
/**
|
|
8
|
+
* Native currency info for a chain
|
|
9
|
+
*/
|
|
10
|
+
export interface NativeCurrency {
|
|
11
|
+
/** Currency name (e.g., "Ether") */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Currency symbol (e.g., "ETH") */
|
|
14
|
+
symbol: string;
|
|
15
|
+
/** Decimals (always 18 for EVM native) */
|
|
16
|
+
decimals: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Contract addresses deployed on a specific chain
|
|
20
|
+
*/
|
|
21
|
+
export interface ChainContracts {
|
|
22
|
+
/** IntentSettlement contract address */
|
|
23
|
+
intentSettlement?: Address;
|
|
24
|
+
/** ERC-8004 Agent Registry address */
|
|
25
|
+
agentRegistry?: Address;
|
|
26
|
+
/** USDC token address on this chain */
|
|
27
|
+
usdc?: Address;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Chain Configuration
|
|
31
|
+
*
|
|
32
|
+
* Full config for an EVM chain.
|
|
33
|
+
* Dipakai oleh ChainRegistry, RPCProviderManager, WalletManager.
|
|
34
|
+
*
|
|
35
|
+
* CONTOH:
|
|
36
|
+
* {
|
|
37
|
+
* id: 1,
|
|
38
|
+
* name: "Ethereum",
|
|
39
|
+
* rpcUrl: "https://eth.llamarpc.com",
|
|
40
|
+
* fallbackRpcUrls: ["https://rpc.ankr.com/eth"],
|
|
41
|
+
* nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
|
|
42
|
+
* explorer: "https://etherscan.io",
|
|
43
|
+
* contracts: { usdc: "0xA0b86991..." }
|
|
44
|
+
* }
|
|
45
|
+
*/
|
|
46
|
+
export interface ChainConfig {
|
|
47
|
+
/** Chain ID (e.g., 1 for Ethereum, 137 for Polygon) */
|
|
48
|
+
id: ChainId;
|
|
49
|
+
/** Human-readable chain name */
|
|
50
|
+
name: string;
|
|
51
|
+
/** Primary RPC URL */
|
|
52
|
+
rpcUrl: string;
|
|
53
|
+
/** Fallback RPC URLs (tried in order if primary fails) */
|
|
54
|
+
fallbackRpcUrls: string[];
|
|
55
|
+
/** Native currency information */
|
|
56
|
+
nativeCurrency: NativeCurrency;
|
|
57
|
+
/** Block explorer base URL */
|
|
58
|
+
explorer: string;
|
|
59
|
+
/** Deployed contract addresses on this chain */
|
|
60
|
+
contracts: ChainContracts;
|
|
61
|
+
/** Average block time in seconds (for confirmation estimates) */
|
|
62
|
+
blockTimeSeconds?: number;
|
|
63
|
+
/** Number of confirmations to wait (default: 12) */
|
|
64
|
+
confirmations?: number;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IAEb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,uCAAuC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAW;IACxB,uDAAuD;IACvD,EAAE,EAAE,OAAO,CAAC;IAEZ,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;IAE/B,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,SAAS,EAAE,cAAc,CAAC;IAE1B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/types/chain.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common Primitive Types
|
|
3
|
+
*
|
|
4
|
+
* Low-level types yang digunakan di seluruh SDK.
|
|
5
|
+
* Tidak tergantung pada module lain.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* EVM address (hex string with 0x prefix, 42 characters)
|
|
9
|
+
*
|
|
10
|
+
* CONTOH: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
|
11
|
+
*/
|
|
12
|
+
export type Address = `0x${string}`;
|
|
13
|
+
/**
|
|
14
|
+
* Amount as string (representing bigint)
|
|
15
|
+
*
|
|
16
|
+
* Digunakan untuk serialization karena bigint tidak bisa di-JSON.stringify.
|
|
17
|
+
* Format: decimal string tanpa separators.
|
|
18
|
+
*
|
|
19
|
+
* CONTOH:
|
|
20
|
+
* 1000 USDC (6 decimals) = "1000000000"
|
|
21
|
+
* 0.5 ETH (18 decimals) = "500000000000000000"
|
|
22
|
+
*/
|
|
23
|
+
export type Amount = string;
|
|
24
|
+
/**
|
|
25
|
+
* Chain ID (EVM chain identifier)
|
|
26
|
+
*
|
|
27
|
+
* CONTOH:
|
|
28
|
+
* 1 = Ethereum Mainnet
|
|
29
|
+
* 137 = Polygon
|
|
30
|
+
* 42161 = Arbitrum One
|
|
31
|
+
* 10 = Optimism
|
|
32
|
+
*/
|
|
33
|
+
export type ChainId = number;
|
|
34
|
+
/**
|
|
35
|
+
* Transaction or data hash (hex string with 0x prefix, 66 characters)
|
|
36
|
+
*
|
|
37
|
+
* CONTOH: "0xabc123..."
|
|
38
|
+
*/
|
|
39
|
+
export type Hash = `0x${string}`;
|
|
40
|
+
/**
|
|
41
|
+
* Unix timestamp in seconds
|
|
42
|
+
*/
|
|
43
|
+
export type UnixTimestamp = number;
|
|
44
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracted entities from natural language
|
|
3
|
+
*/
|
|
4
|
+
export interface ExtractedEntities {
|
|
5
|
+
amounts: AmountEntity[];
|
|
6
|
+
tokens: TokenEntity[];
|
|
7
|
+
actions: ActionEntity[];
|
|
8
|
+
constraints: ConstraintEntity[];
|
|
9
|
+
riskIndicators: RiskIndicator[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Amount Entity
|
|
13
|
+
* Example: "10k USDC" -> { value: 10000, rawText: "10k", unit: "USDC" }
|
|
14
|
+
*/
|
|
15
|
+
export interface AmountEntity {
|
|
16
|
+
value: number;
|
|
17
|
+
rawText: string;
|
|
18
|
+
unit?: string;
|
|
19
|
+
position: [number, number];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Token Entity
|
|
23
|
+
* Example: "USDC", "ETH", "Bored Ape"
|
|
24
|
+
*/
|
|
25
|
+
export interface TokenEntity {
|
|
26
|
+
symbol: string;
|
|
27
|
+
rawText: string;
|
|
28
|
+
type: "fungible" | "nft" | "collection";
|
|
29
|
+
address?: string;
|
|
30
|
+
position: [number, number];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Action Entity
|
|
34
|
+
* Example: "swap", "maximize", "buy"
|
|
35
|
+
*/
|
|
36
|
+
export interface ActionEntity {
|
|
37
|
+
action: string;
|
|
38
|
+
rawText: string;
|
|
39
|
+
category: "trade" | "yield" | "purchase" | "transfer" | "other";
|
|
40
|
+
position: [number, number];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Constraint Entity
|
|
44
|
+
* Example: "max 1% slippage", "deadline in 1 hour"
|
|
45
|
+
*/
|
|
46
|
+
export interface ConstraintEntity {
|
|
47
|
+
type: "slippage" | "deadline" | "gas" | "price" | "other";
|
|
48
|
+
value: string | number;
|
|
49
|
+
rawText: string;
|
|
50
|
+
position: [number, number];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Risk Indicator
|
|
54
|
+
* Example: "safe", "risky", "conservative"
|
|
55
|
+
*/
|
|
56
|
+
export interface RiskIndicator {
|
|
57
|
+
level: "low" | "medium" | "high";
|
|
58
|
+
keywords: string[];
|
|
59
|
+
confidence: number;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=entities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,OAAO,EAAE,YAAY,EAAE,CAAC;IAGxB,MAAM,EAAE,WAAW,EAAE,CAAC;IAGtB,OAAO,EAAE,YAAY,EAAE,CAAC;IAGxB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAGhC,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,YAAY,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IAChE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1D,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { StructuredIntent } from "./intent";
|
|
2
|
+
import type { TokenResolverConfig } from "./token";
|
|
3
|
+
export * from "./common";
|
|
4
|
+
export * from "./chain";
|
|
5
|
+
export * from "./intent";
|
|
6
|
+
export * from "./entities";
|
|
7
|
+
export * from "./templates";
|
|
8
|
+
export * from "./token";
|
|
9
|
+
/**
|
|
10
|
+
* Parser Configuration
|
|
11
|
+
*/
|
|
12
|
+
export interface ParserConfig {
|
|
13
|
+
defaultDeadlineOffset?: number;
|
|
14
|
+
knownTokens?: Record<string, string>;
|
|
15
|
+
knownProtocols?: string[];
|
|
16
|
+
enableFuzzyMatching?: boolean;
|
|
17
|
+
enableCache?: boolean;
|
|
18
|
+
minConfidence?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Token Resolver Configuration (Swing.xyz API)
|
|
21
|
+
*
|
|
22
|
+
* Jika disediakan dan enabled=true, gunakan parseAsync() untuk mendapatkan
|
|
23
|
+
* token address resolution. parse() tetap sync dan backward-compatible.
|
|
24
|
+
*
|
|
25
|
+
* CONTOH:
|
|
26
|
+
* tokenResolver: {
|
|
27
|
+
* enabled: true,
|
|
28
|
+
* cacheTTL: 300_000,
|
|
29
|
+
* timeout: 5000,
|
|
30
|
+
* }
|
|
31
|
+
*/
|
|
32
|
+
tokenResolver?: TokenResolverConfig;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Parse Result
|
|
36
|
+
* Wrapper around StructuredIntent with success/error handling
|
|
37
|
+
*/
|
|
38
|
+
export interface ParseResult {
|
|
39
|
+
success: boolean;
|
|
40
|
+
data?: StructuredIntent;
|
|
41
|
+
error?: string;
|
|
42
|
+
warnings?: string[];
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,sBAAsB;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent Types - Define all possible intent types
|
|
3
|
+
*/
|
|
4
|
+
export type IntentType = "swap" | "yield_strategy" | "nft_purchase" | "send" | "bridge" | "claim" | "unknown";
|
|
5
|
+
/**
|
|
6
|
+
* Risk Level for DeFi operations
|
|
7
|
+
*/
|
|
8
|
+
export type RiskLevel = "low" | "medium" | "high";
|
|
9
|
+
/**
|
|
10
|
+
* Claim Type for reward/airdrop/vesting operations
|
|
11
|
+
*/
|
|
12
|
+
export type ClaimType = "airdrop" | "rewards" | "vesting";
|
|
13
|
+
/**
|
|
14
|
+
* Base Structured Intent
|
|
15
|
+
* This is what gets returned after parsing
|
|
16
|
+
*/
|
|
17
|
+
export interface StructuredIntent {
|
|
18
|
+
intentType: IntentType;
|
|
19
|
+
parameters: IntentParameters;
|
|
20
|
+
constraints: IntentConstraints;
|
|
21
|
+
metadata: IntentMetadata;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Intent Parameters - varies by intent type
|
|
25
|
+
*/
|
|
26
|
+
export interface IntentParameters {
|
|
27
|
+
inputToken?: string;
|
|
28
|
+
inputTokenAddress?: string;
|
|
29
|
+
inputAmount?: string;
|
|
30
|
+
outputToken?: string;
|
|
31
|
+
outputTokenAddress?: string;
|
|
32
|
+
minOutputAmount?: string;
|
|
33
|
+
recipient?: string;
|
|
34
|
+
riskLevel?: RiskLevel;
|
|
35
|
+
diversificationRequired?: boolean;
|
|
36
|
+
preferredProtocols?: string[];
|
|
37
|
+
targetAPY?: string;
|
|
38
|
+
collection?: string;
|
|
39
|
+
collectionAddress?: string;
|
|
40
|
+
traits?: Record<string, string>;
|
|
41
|
+
maxPrice?: string;
|
|
42
|
+
sourceChain?: string;
|
|
43
|
+
targetChain?: string;
|
|
44
|
+
claimType?: ClaimType;
|
|
45
|
+
protocol?: string;
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Intent Constraints
|
|
50
|
+
*/
|
|
51
|
+
export interface IntentConstraints {
|
|
52
|
+
deadline: number;
|
|
53
|
+
maxSlippage?: number;
|
|
54
|
+
maxGasCost?: string;
|
|
55
|
+
minProtocols?: number;
|
|
56
|
+
maxExposurePerProtocol?: number;
|
|
57
|
+
preferredDEXs?: string[];
|
|
58
|
+
preferredMarketplaces?: string[];
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Intent Metadata
|
|
63
|
+
*/
|
|
64
|
+
export interface IntentMetadata {
|
|
65
|
+
originalText: string;
|
|
66
|
+
confidence: number;
|
|
67
|
+
parsedAt: number;
|
|
68
|
+
warnings?: string[];
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=intent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/types/intent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,gBAAgB,GAChB,cAAc,GACd,MAAM,GACN,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B,UAAU,EAAE,UAAU,CAAC;IAGvB,UAAU,EAAE,gBAAgB,CAAC;IAG7B,WAAW,EAAE,iBAAiB,CAAC;IAG/B,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAGjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/types/intent.ts"],"names":[],"mappings":""}
|