@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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Terkoizmy
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
# Intent Parser SDK
|
|
2
|
+
|
|
3
|
+
Lightweight natural language parser and autonomous solver SDK for blockchain intents.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @terkoizmy/intent-sdk
|
|
9
|
+
# or
|
|
10
|
+
bun add @terkoizmy/intent-sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
> **For the full, comprehensive guide, please see [docs/USAGE.md](./docs/USAGE.md).**
|
|
16
|
+
|
|
17
|
+
### Parser Only
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { IntentParser } from "@terkoizmy/intent-sdk";
|
|
21
|
+
|
|
22
|
+
const parser = new IntentParser();
|
|
23
|
+
const result = await parser.parse("Bridge 100 USDC from Ethereum to Arbitrum");
|
|
24
|
+
|
|
25
|
+
// { success: true, data: { intentType: 'bridge', parameters: { ... } } }
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### SDK Factory (Parser + Solver)
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { createIntentSDK } from "@terkoizmy/intent-sdk";
|
|
32
|
+
|
|
33
|
+
const { parser, solver } = createIntentSDK({
|
|
34
|
+
solver: {
|
|
35
|
+
privateKey: process.env.SOLVER_PRIVATE_KEY!,
|
|
36
|
+
supportedChains: [1, 10, 42161],
|
|
37
|
+
supportedTokens: ["USDC", "USDT"],
|
|
38
|
+
mode: "simulate" // use "live" for real execution
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
await solver.initialize();
|
|
44
|
+
|
|
45
|
+
if (solver.canSolve(intent)) {
|
|
46
|
+
const result = await solver.solve(intent);
|
|
47
|
+
console.log(result); // { success: true, txHash: "0x...", profit: "..." }
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Autonomous Mode
|
|
52
|
+
|
|
53
|
+
Connect to a mempool server and solve intents automatically in the background:
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
import { createIntentSDK } from "@terkoizmy/intent-sdk";
|
|
57
|
+
|
|
58
|
+
const { solver } = createIntentSDK({
|
|
59
|
+
solver: {
|
|
60
|
+
privateKey: process.env.SOLVER_PRIVATE_KEY!,
|
|
61
|
+
supportedChains: [1, 10, 42161],
|
|
62
|
+
supportedTokens: ["USDC"],
|
|
63
|
+
mode: "live"
|
|
64
|
+
},
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
await solver.initialize();
|
|
69
|
+
solver.start("wss://mempool.yourprotocol.com/ws");
|
|
70
|
+
|
|
71
|
+
setInterval(() => {
|
|
72
|
+
const stats = solver.getStats();
|
|
73
|
+
console.log("Solved:", stats.mempoolStats.solved);
|
|
74
|
+
}, 5000);
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Supported Intent Types
|
|
78
|
+
|
|
79
|
+
| Type | Example |
|
|
80
|
+
|------|---------|
|
|
81
|
+
| **bridge** | "Bridge 100 USDC from Ethereum to Arbitrum" |
|
|
82
|
+
| **send** | "Send 50 USDT to 0xAbc..." |
|
|
83
|
+
| **swap** | "Swap 1 ETH for USDC on Uniswap" |
|
|
84
|
+
| **claim** | "Claim rewards from staking" |
|
|
85
|
+
| **yield_strategy** | "Deposit 1000 USDC into yield strategy with low risk" |
|
|
86
|
+
|
|
87
|
+
## Supported Chains
|
|
88
|
+
|
|
89
|
+
### Mainnets
|
|
90
|
+
|
|
91
|
+
| Chain | ID |
|
|
92
|
+
|-------|----|
|
|
93
|
+
| Ethereum Mainnet | 1 |
|
|
94
|
+
| Optimism | 10 |
|
|
95
|
+
| Arbitrum One | 42161 |
|
|
96
|
+
|
|
97
|
+
### Testnets
|
|
98
|
+
|
|
99
|
+
| Chain | ID | Settlement Contract |
|
|
100
|
+
|-------|----|--------------------|
|
|
101
|
+
| Unichain Sepolia | 1301 | [`0x7066f6...`](https://unichain-sepolia.blockscout.com/address/0x7066f6dFc1C652c165Bc9BB10085fD95719b5eA6) |
|
|
102
|
+
| Ethereum Sepolia | 11155111 | — |
|
|
103
|
+
| Arbitrum Sepolia | 421614 | — |
|
|
104
|
+
| Base Sepolia | 84532 | — |
|
|
105
|
+
|
|
106
|
+
Configure additional chains by adding their IDs to `supportedChains` and providing RPC URLs.
|
|
107
|
+
|
|
108
|
+
## Environment Configuration
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
cp .env.example .env
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
| Variable | Required | Description |
|
|
115
|
+
|----------|----------|-------------|
|
|
116
|
+
| `SOLVER_PRIVATE_KEY` | ✅ | Solver wallet private key (hex, with `0x`) |
|
|
117
|
+
| `UNICHAIN_SEPOLIA_RPC_URL` | ✅ | RPC for Unichain Sepolia (1301) |
|
|
118
|
+
| `SEPOLIA_RPC_URL` | Optional | RPC for Ethereum Sepolia |
|
|
119
|
+
| `ARB_SEPOLIA_RPC_URL` | Optional | RPC for Arbitrum Sepolia |
|
|
120
|
+
| `ETH_RPC_URL` | Optional | Ethereum Mainnet RPC (Aave reads) |
|
|
121
|
+
| `SETTLEMENT_CONTRACT_UNICHAIN_SEPOLIA` | For live settlement | Deployed proxy address |
|
|
122
|
+
|
|
123
|
+
See [.env.example](./.env.example) for the full list.
|
|
124
|
+
|
|
125
|
+
## Solver Economics
|
|
126
|
+
|
|
127
|
+
The solver earns a fee on every successful solve:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
totalFee = baseFee + gasCost + slippageCapture
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- **baseFee** — fixed % of the bridge amount (configurable, default 0.05%)
|
|
134
|
+
- **gasCost** — estimated gas cost on the destination chain
|
|
135
|
+
- **slippageCapture** — profit from unused slippage tolerance
|
|
136
|
+
|
|
137
|
+
The solver receives `userPays = inputAmount` from the source chain settlement and pays the user `userReceives = inputAmount - totalFee` on the target chain. The difference is solver profit.
|
|
138
|
+
|
|
139
|
+
## API
|
|
140
|
+
|
|
141
|
+
### `IntentParser`
|
|
142
|
+
|
|
143
|
+
```typescript
|
|
144
|
+
new IntentParser(config?: ParserConfig)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
| Method | Returns | Description |
|
|
148
|
+
|--------|---------|-------------|
|
|
149
|
+
| `parse(text)` | `Promise<ParseResult>` | Parse a natural language intent |
|
|
150
|
+
| `parseBatch(texts)` | `Promise<ParseResult[]>` | Parse multiple intents |
|
|
151
|
+
|
|
152
|
+
### `IntentSolver`
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
new IntentSolver(config: LiquidityAgentConfig)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
| Method | Description |
|
|
159
|
+
|--------|-------------|
|
|
160
|
+
| `initialize()` | Load balances and derive solver address |
|
|
161
|
+
| `start(url)` | Connect to mempool WebSocket |
|
|
162
|
+
| `stop()` | Disconnect and stop all background work |
|
|
163
|
+
| `canSolve(intent)` | Check if this intent can be solved |
|
|
164
|
+
| `getQuote(intent)` | Get fee breakdown without executing |
|
|
165
|
+
| `solve(intent)` | Execute full solve → settlement flow |
|
|
166
|
+
| `getStatus()` | Returns `"idle"` or `"processing"` |
|
|
167
|
+
| `getStats()` | Returns profit + mempool statistics |
|
|
168
|
+
|
|
169
|
+
### `createIntentSDK(config)`
|
|
170
|
+
|
|
171
|
+
Factory that creates both `parser` and `solver` in one call:
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
const { parser, solver } = createIntentSDK(config);
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Documentation
|
|
178
|
+
|
|
179
|
+
| Document | Contents |
|
|
180
|
+
|----------|----------|
|
|
181
|
+
| [docs/USAGE.md](./docs/USAGE.md) | Comprehensive How-To Guide for using the SDK |
|
|
182
|
+
| [docs/SOLVER.md](./docs/SOLVER.md) | Architecture, config reference, fee structure, API details |
|
|
183
|
+
| [docs/SDK_WORKFLOW.md](./docs/SDK_WORKFLOW.md) | End-to-end workflow diagrams |
|
|
184
|
+
| [docs/ERC_STANDARDS.md](./docs/ERC_STANDARDS.md) | ERC-7683, ERC-712 standards used |
|
|
185
|
+
| [docs/DEPLOYMENT.md](./docs/DEPLOYMENT.md) | Step-by-step testnet deployment guide |
|
|
186
|
+
| [docs/TESTNET_GUIDE.md](./docs/TESTNET_GUIDE.md) | Faucets, funding, troubleshooting |
|
|
187
|
+
|
|
188
|
+
## Examples
|
|
189
|
+
|
|
190
|
+
| File | Description |
|
|
191
|
+
|------|-------------|
|
|
192
|
+
| `examples/basic-bridge.ts` | Parse + manual solve |
|
|
193
|
+
| `examples/autonomous-agent.ts` | Autonomous mempool listener |
|
|
194
|
+
| `examples/inventory-management.ts` | Inventory snapshot + rebalancing |
|
|
195
|
+
|
|
196
|
+
## Development
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# Install dependencies
|
|
200
|
+
bun install
|
|
201
|
+
|
|
202
|
+
# Build
|
|
203
|
+
bun run build
|
|
204
|
+
|
|
205
|
+
# Test all (parser + solver units + integration)
|
|
206
|
+
bun test
|
|
207
|
+
|
|
208
|
+
# Run specific test suites
|
|
209
|
+
bun test tests/parser/
|
|
210
|
+
bun test tests/solver/
|
|
211
|
+
bun test tests/integration/
|
|
212
|
+
bun test tests/shared/
|
|
213
|
+
|
|
214
|
+
# Live tests (requires funded wallet + RPC)
|
|
215
|
+
bun test tests/live/
|
|
216
|
+
|
|
217
|
+
# E2E testnet tests (full pipeline)
|
|
218
|
+
bun test tests/e2e/
|
|
219
|
+
|
|
220
|
+
# Run an example
|
|
221
|
+
npx tsx examples/basic-bridge.ts
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Project Structure
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
src/
|
|
228
|
+
├── parser/ ← IntentParser (Stage 1)
|
|
229
|
+
├── solver/ ← IntentSolver / LiquidityAgent (Stage 2+3)
|
|
230
|
+
│ ├── agent/ ← LiquidityAgent, AgentConfig
|
|
231
|
+
│ ├── contracts/ ← IntentSettlement viem wrapper
|
|
232
|
+
│ ├── inventory/ ← InventoryManager, Rebalancer
|
|
233
|
+
│ ├── pricing/ ← DynamicPricing, FeeCalculator
|
|
234
|
+
│ ├── settlement/ ← ProofGenerator, SettlementManager
|
|
235
|
+
│ ├── mempool/ ← MempoolClient, IntentFilter
|
|
236
|
+
│ ├── monitoring/ ← ProfitTracker, HealthChecker
|
|
237
|
+
│ └── protocols/ ← LiFi (aggregator), Aave (lending)
|
|
238
|
+
├── shared/ ← WalletManager, ChainRegistry, RPC, TokenRegistry
|
|
239
|
+
│ ├── rpc/ ← RPCProviderManager, ViemProvider (with retry)
|
|
240
|
+
│ ├── utils/ ← ERC-20 utils, retry with backoff
|
|
241
|
+
│ └── chain-registry/ ← Chain configs, chain names
|
|
242
|
+
├── errors/ ← Domain-specific error classes
|
|
243
|
+
└── types/ ← Shared types
|
|
244
|
+
contracts/ ← IntentSettlement.sol (ERC-7683, UUPS)
|
|
245
|
+
tests/
|
|
246
|
+
├── parser/ ← Parser unit tests
|
|
247
|
+
├── solver/ ← Solver unit tests
|
|
248
|
+
├── shared/ ← Shared util tests (retry, viem, enrichment)
|
|
249
|
+
├── integration/ ← Mock-based integration tests
|
|
250
|
+
├── live/ ← Live testnet tests (guarded)
|
|
251
|
+
└── e2e/ ← Full E2E pipeline tests (guarded)
|
|
252
|
+
docs/ ← Documentation
|
|
253
|
+
examples/ ← Runnable usage examples
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## License
|
|
257
|
+
|
|
258
|
+
MIT
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Configurations
|
|
3
|
+
*
|
|
4
|
+
* Pre-configured chain data for supported networks.
|
|
5
|
+
* Import SUPPORTED_CHAINS to register semua chains
|
|
6
|
+
* atau import individual configs.
|
|
7
|
+
*/
|
|
8
|
+
import type { ChainConfig } from "../types/chain";
|
|
9
|
+
/**
|
|
10
|
+
* Ethereum Mainnet Configuration
|
|
11
|
+
*/
|
|
12
|
+
export declare const ETHEREUM_CONFIG: ChainConfig;
|
|
13
|
+
/**
|
|
14
|
+
* Polygon PoS Configuration
|
|
15
|
+
*/
|
|
16
|
+
export declare const POLYGON_CONFIG: ChainConfig;
|
|
17
|
+
/**
|
|
18
|
+
* Arbitrum One Configuration
|
|
19
|
+
*/
|
|
20
|
+
export declare const ARBITRUM_CONFIG: ChainConfig;
|
|
21
|
+
/**
|
|
22
|
+
* All supported chain configurations
|
|
23
|
+
*/
|
|
24
|
+
export declare const SUPPORTED_CHAINS: ChainConfig[];
|
|
25
|
+
//# sourceMappingURL=chains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WAmB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAmB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WAmB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAIzC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chain Configurations
|
|
3
|
+
*
|
|
4
|
+
* Pre-configured chain data for supported networks.
|
|
5
|
+
* Import SUPPORTED_CHAINS to register semua chains
|
|
6
|
+
* atau import individual configs.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Ethereum Mainnet Configuration
|
|
10
|
+
*/
|
|
11
|
+
export const ETHEREUM_CONFIG = {
|
|
12
|
+
id: 1,
|
|
13
|
+
name: "Ethereum",
|
|
14
|
+
rpcUrl: "https://eth.llamarpc.com",
|
|
15
|
+
fallbackRpcUrls: [
|
|
16
|
+
"https://rpc.ankr.com/eth",
|
|
17
|
+
"https://ethereum-rpc.publicnode.com",
|
|
18
|
+
],
|
|
19
|
+
nativeCurrency: {
|
|
20
|
+
name: "Ether",
|
|
21
|
+
symbol: "ETH",
|
|
22
|
+
decimals: 18,
|
|
23
|
+
},
|
|
24
|
+
explorer: "https://etherscan.io",
|
|
25
|
+
contracts: {
|
|
26
|
+
usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
27
|
+
},
|
|
28
|
+
blockTimeSeconds: 12,
|
|
29
|
+
confirmations: 12,
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Polygon PoS Configuration
|
|
33
|
+
*/
|
|
34
|
+
export const POLYGON_CONFIG = {
|
|
35
|
+
id: 137,
|
|
36
|
+
name: "Polygon",
|
|
37
|
+
rpcUrl: "https://polygon.llamarpc.com",
|
|
38
|
+
fallbackRpcUrls: [
|
|
39
|
+
"https://rpc.ankr.com/polygon",
|
|
40
|
+
"https://polygon-bor-rpc.publicnode.com",
|
|
41
|
+
],
|
|
42
|
+
nativeCurrency: {
|
|
43
|
+
name: "POL",
|
|
44
|
+
symbol: "POL",
|
|
45
|
+
decimals: 18,
|
|
46
|
+
},
|
|
47
|
+
explorer: "https://polygonscan.com",
|
|
48
|
+
contracts: {
|
|
49
|
+
usdc: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
|
|
50
|
+
},
|
|
51
|
+
blockTimeSeconds: 2,
|
|
52
|
+
confirmations: 30,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Arbitrum One Configuration
|
|
56
|
+
*/
|
|
57
|
+
export const ARBITRUM_CONFIG = {
|
|
58
|
+
id: 42161,
|
|
59
|
+
name: "Arbitrum One",
|
|
60
|
+
rpcUrl: "https://arbitrum.llamarpc.com",
|
|
61
|
+
fallbackRpcUrls: [
|
|
62
|
+
"https://rpc.ankr.com/arbitrum",
|
|
63
|
+
"https://arbitrum-one-rpc.publicnode.com",
|
|
64
|
+
],
|
|
65
|
+
nativeCurrency: {
|
|
66
|
+
name: "Ether",
|
|
67
|
+
symbol: "ETH",
|
|
68
|
+
decimals: 18,
|
|
69
|
+
},
|
|
70
|
+
explorer: "https://arbiscan.io",
|
|
71
|
+
contracts: {
|
|
72
|
+
usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
73
|
+
},
|
|
74
|
+
blockTimeSeconds: 0.25,
|
|
75
|
+
confirmations: 12,
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* All supported chain configurations
|
|
79
|
+
*/
|
|
80
|
+
export const SUPPORTED_CHAINS = [
|
|
81
|
+
ETHEREUM_CONFIG,
|
|
82
|
+
POLYGON_CONFIG,
|
|
83
|
+
ARBITRUM_CONFIG,
|
|
84
|
+
];
|
|
85
|
+
//# sourceMappingURL=chains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IACxC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,0BAA0B;IAClC,eAAe,EAAE;QACb,0BAA0B;QAC1B,qCAAqC;KACxC;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,sBAAsB;IAChC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACvC,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,8BAA8B;IACtC,eAAe,EAAE;QACb,8BAA8B;QAC9B,wCAAwC;KAC3C;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,yBAAyB;IACnC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IACxC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,+BAA+B;IACvC,eAAe,EAAE;QACb,+BAA+B;QAC/B,yCAAyC;KAC5C;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC3C,eAAe;IACf,cAAc;IACd,eAAe;CAClB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default Configurations
|
|
3
|
+
*
|
|
4
|
+
* Sensible defaults untuk semua configurable aspects of the solver.
|
|
5
|
+
* Override individual fields saat creating AgentConfig.
|
|
6
|
+
*/
|
|
7
|
+
import type { PricingConfig } from "../solver/types/pricing";
|
|
8
|
+
import type { InventoryConfig } from "../solver/types/inventory";
|
|
9
|
+
/**
|
|
10
|
+
* Default pricing configuration
|
|
11
|
+
*
|
|
12
|
+
* - 0.5% base fee
|
|
13
|
+
* - Minimum $1 fee
|
|
14
|
+
* - Max 3% fee cap
|
|
15
|
+
* - 50% slippage share
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEFAULT_PRICING_CONFIG: PricingConfig;
|
|
18
|
+
/**
|
|
19
|
+
* Default inventory configuration
|
|
20
|
+
*
|
|
21
|
+
* - Keep minimum 10% reserve per chain
|
|
22
|
+
* - Trigger rebalance if >15% deviation from target
|
|
23
|
+
* - Poll balances every 30s
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_INVENTORY_CONFIG: InventoryConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Default agent configuration partial
|
|
28
|
+
*
|
|
29
|
+
* Used by buildAgentConfig() to merge with user-provided config.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_AGENT_SETTINGS: {
|
|
32
|
+
/** Operating mode */
|
|
33
|
+
readonly mode: "simulate";
|
|
34
|
+
/** Maximum concurrent intents to process */
|
|
35
|
+
readonly maxConcurrentIntents: 5;
|
|
36
|
+
/** Intent timeout in seconds (1 hour) */
|
|
37
|
+
readonly intentTimeout: 3600;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAKpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAItC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IAC/B,qBAAqB;;IAGrB,4CAA4C;;IAG5C,yCAAyC;;CAEnC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default Configurations
|
|
3
|
+
*
|
|
4
|
+
* Sensible defaults untuk semua configurable aspects of the solver.
|
|
5
|
+
* Override individual fields saat creating AgentConfig.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Default pricing configuration
|
|
9
|
+
*
|
|
10
|
+
* - 0.5% base fee
|
|
11
|
+
* - Minimum $1 fee
|
|
12
|
+
* - Max 3% fee cap
|
|
13
|
+
* - 50% slippage share
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_PRICING_CONFIG = {
|
|
16
|
+
baseFeePercent: 0.005,
|
|
17
|
+
minFeeUSD: 1,
|
|
18
|
+
maxFeePercent: 0.03,
|
|
19
|
+
slippageSharePercent: 0.5,
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Default inventory configuration
|
|
23
|
+
*
|
|
24
|
+
* - Keep minimum 10% reserve per chain
|
|
25
|
+
* - Trigger rebalance if >15% deviation from target
|
|
26
|
+
* - Poll balances every 30s
|
|
27
|
+
*/
|
|
28
|
+
export const DEFAULT_INVENTORY_CONFIG = {
|
|
29
|
+
minReservePercent: 0.1,
|
|
30
|
+
rebalanceThreshold: 0.15,
|
|
31
|
+
pollingIntervalMs: 30_000,
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Default agent configuration partial
|
|
35
|
+
*
|
|
36
|
+
* Used by buildAgentConfig() to merge with user-provided config.
|
|
37
|
+
*/
|
|
38
|
+
export const DEFAULT_AGENT_SETTINGS = {
|
|
39
|
+
/** Operating mode */
|
|
40
|
+
mode: "simulate",
|
|
41
|
+
/** Maximum concurrent intents to process */
|
|
42
|
+
maxConcurrentIntents: 5,
|
|
43
|
+
/** Intent timeout in seconds (1 hour) */
|
|
44
|
+
intentTimeout: 3600,
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACjD,cAAc,EAAE,KAAK;IACrB,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,GAAG;CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACrD,iBAAiB,EAAE,GAAG;IACtB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,MAAM;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,qBAAqB;IACrB,IAAI,EAAE,UAAmB;IAEzB,4CAA4C;IAC5C,oBAAoB,EAAE,CAAC;IAEvB,yCAAyC;IACzC,aAAa,EAAE,IAAI;CACb,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Testnet Chain Configurations
|
|
3
|
+
*
|
|
4
|
+
* Pre-configured chain data for supported testnet networks.
|
|
5
|
+
* Import SUPPORTED_TESTNETS to register all testnet chains
|
|
6
|
+
* or import individual configs.
|
|
7
|
+
*
|
|
8
|
+
* Stage 3 — Live Integration
|
|
9
|
+
*/
|
|
10
|
+
import type { ChainConfig } from "../types/chain";
|
|
11
|
+
/**
|
|
12
|
+
* Ethereum Sepolia Testnet Configuration
|
|
13
|
+
*/
|
|
14
|
+
export declare const SEPOLIA_CONFIG: ChainConfig;
|
|
15
|
+
/**
|
|
16
|
+
* Arbitrum Sepolia Testnet Configuration
|
|
17
|
+
*/
|
|
18
|
+
export declare const ARBITRUM_SEPOLIA_CONFIG: ChainConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Unichain Sepolia Testnet Configuration
|
|
21
|
+
*/
|
|
22
|
+
export declare const UNICHAIN_SEPOLIA_CONFIG: ChainConfig;
|
|
23
|
+
/**
|
|
24
|
+
* Base Sepolia Testnet Configuration
|
|
25
|
+
*/
|
|
26
|
+
export declare const BASE_SEPOLIA_CONFIG: ChainConfig;
|
|
27
|
+
/**
|
|
28
|
+
* All supported testnet chain configurations
|
|
29
|
+
*/
|
|
30
|
+
export declare const SUPPORTED_TESTNETS: ChainConfig[];
|
|
31
|
+
//# sourceMappingURL=testnets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testnets.d.ts","sourceRoot":"","sources":["../../src/config/testnets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAgB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAgBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAgBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAgBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAK3C,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Testnet Chain Configurations
|
|
3
|
+
*
|
|
4
|
+
* Pre-configured chain data for supported testnet networks.
|
|
5
|
+
* Import SUPPORTED_TESTNETS to register all testnet chains
|
|
6
|
+
* or import individual configs.
|
|
7
|
+
*
|
|
8
|
+
* Stage 3 — Live Integration
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Ethereum Sepolia Testnet Configuration
|
|
12
|
+
*/
|
|
13
|
+
export const SEPOLIA_CONFIG = {
|
|
14
|
+
id: 11155111,
|
|
15
|
+
name: "Sepolia",
|
|
16
|
+
rpcUrl: "", // TODO: Set via SEPOLIA_RPC_URL env var
|
|
17
|
+
fallbackRpcUrls: [],
|
|
18
|
+
nativeCurrency: {
|
|
19
|
+
name: "Sepolia Ether",
|
|
20
|
+
symbol: "ETH",
|
|
21
|
+
decimals: 18,
|
|
22
|
+
},
|
|
23
|
+
explorer: "https://sepolia.etherscan.io",
|
|
24
|
+
contracts: {
|
|
25
|
+
usdc: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
|
|
26
|
+
},
|
|
27
|
+
blockTimeSeconds: 12,
|
|
28
|
+
confirmations: 2,
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Arbitrum Sepolia Testnet Configuration
|
|
32
|
+
*/
|
|
33
|
+
export const ARBITRUM_SEPOLIA_CONFIG = {
|
|
34
|
+
id: 421614,
|
|
35
|
+
name: "Arbitrum Sepolia",
|
|
36
|
+
rpcUrl: "", // TODO: Set via ARB_SEPOLIA_RPC_URL env var
|
|
37
|
+
fallbackRpcUrls: [],
|
|
38
|
+
nativeCurrency: {
|
|
39
|
+
name: "Ether",
|
|
40
|
+
symbol: "ETH",
|
|
41
|
+
decimals: 18,
|
|
42
|
+
},
|
|
43
|
+
explorer: "https://sepolia.arbiscan.io",
|
|
44
|
+
contracts: {
|
|
45
|
+
usdc: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
|
|
46
|
+
},
|
|
47
|
+
blockTimeSeconds: 0.25,
|
|
48
|
+
confirmations: 1,
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Unichain Sepolia Testnet Configuration
|
|
52
|
+
*/
|
|
53
|
+
export const UNICHAIN_SEPOLIA_CONFIG = {
|
|
54
|
+
id: 1301,
|
|
55
|
+
name: "Unichain Sepolia",
|
|
56
|
+
rpcUrl: "", // TODO: Set via UNICHAIN_SEPOLIA_RPC_URL env var
|
|
57
|
+
fallbackRpcUrls: [],
|
|
58
|
+
nativeCurrency: {
|
|
59
|
+
name: "Ether",
|
|
60
|
+
symbol: "ETH",
|
|
61
|
+
decimals: 18,
|
|
62
|
+
},
|
|
63
|
+
explorer: "https://unichain-sepolia.blockscout.com",
|
|
64
|
+
contracts: {
|
|
65
|
+
usdc: "0x31d0220469e10c4E71834a79b1f276d740d3768F", // Confirm before mainnet
|
|
66
|
+
},
|
|
67
|
+
blockTimeSeconds: 1,
|
|
68
|
+
confirmations: 1,
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Base Sepolia Testnet Configuration
|
|
72
|
+
*/
|
|
73
|
+
export const BASE_SEPOLIA_CONFIG = {
|
|
74
|
+
id: 84532,
|
|
75
|
+
name: "Base Sepolia",
|
|
76
|
+
rpcUrl: "", // TODO: Set via BASE_SEPOLIA_RPC_URL env var
|
|
77
|
+
fallbackRpcUrls: [],
|
|
78
|
+
nativeCurrency: {
|
|
79
|
+
name: "Ether",
|
|
80
|
+
symbol: "ETH",
|
|
81
|
+
decimals: 18,
|
|
82
|
+
},
|
|
83
|
+
explorer: "https://sepolia.basescan.org",
|
|
84
|
+
contracts: {
|
|
85
|
+
usdc: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
|
|
86
|
+
},
|
|
87
|
+
blockTimeSeconds: 2,
|
|
88
|
+
confirmations: 1,
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* All supported testnet chain configurations
|
|
92
|
+
*/
|
|
93
|
+
export const SUPPORTED_TESTNETS = [
|
|
94
|
+
SEPOLIA_CONFIG,
|
|
95
|
+
ARBITRUM_SEPOLIA_CONFIG,
|
|
96
|
+
UNICHAIN_SEPOLIA_CONFIG,
|
|
97
|
+
BASE_SEPOLIA_CONFIG,
|
|
98
|
+
];
|
|
99
|
+
//# sourceMappingURL=testnets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testnets.js","sourceRoot":"","sources":["../../src/config/testnets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACvC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,EAAE,EAAE,wCAAwC;IACpD,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,8BAA8B;IACxC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAChD,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,EAAE,EAAE,4CAA4C;IACxD,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,6BAA6B;IACvC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAChD,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,EAAE,EAAE,iDAAiD;IAC7D,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,yCAAyC;IACnD,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD,EAAE,yBAAyB;KAC3F;IACD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC5C,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,EAAE,EAAE,6CAA6C;IACzD,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,8BAA8B;IACxC,SAAS,EAAE;QACP,IAAI,EAAE,4CAAuD;KAChE;IACD,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC7C,cAAc;IACd,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;CACtB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inventory Errors
|
|
3
|
+
*
|
|
4
|
+
* Errors specific to inventory management operations.
|
|
5
|
+
*/
|
|
6
|
+
import type { ChainId } from "../types/common";
|
|
7
|
+
/**
|
|
8
|
+
* Base error class for inventory-related errors
|
|
9
|
+
*/
|
|
10
|
+
export declare class InventoryError extends Error {
|
|
11
|
+
readonly code: string;
|
|
12
|
+
constructor(message: string, code?: string);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Thrown when trying to lock more inventory than available
|
|
16
|
+
*/
|
|
17
|
+
export declare class InventoryLockError extends InventoryError {
|
|
18
|
+
readonly intentId: string;
|
|
19
|
+
constructor(intentId: string, message?: string);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Thrown when a rebalancing operation fails
|
|
23
|
+
*/
|
|
24
|
+
export declare class RebalancingFailedError extends InventoryError {
|
|
25
|
+
readonly fromChain: ChainId;
|
|
26
|
+
readonly toChain: ChainId;
|
|
27
|
+
readonly amount: string;
|
|
28
|
+
readonly reason: string;
|
|
29
|
+
constructor(fromChain: ChainId, toChain: ChainId, amount: string, reason: string);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=inventory-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory-errors.d.ts","sourceRoot":"","sources":["../../src/errors/inventory-errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA0B;CAKhE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAClD,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAQjD;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACtD,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAG3B,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;CAYrB"}
|