@folks-finance/xchain-sdk 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/chains/evm/common/constants/abi/ccip-data-adapter-abi.d.ts +796 -0
- package/dist/chains/evm/common/constants/abi/ccip-data-adapter-abi.js +614 -0
- package/dist/chains/evm/common/constants/abi/ccip-data-adapter-abi.js.map +1 -0
- package/dist/chains/evm/common/constants/abi/erc-20-abi.d.ts +235 -0
- package/dist/chains/evm/common/constants/abi/erc-20-abi.js +157 -0
- package/dist/chains/evm/common/constants/abi/erc-20-abi.js.map +1 -0
- package/dist/chains/evm/common/constants/abi/wormhole-data-adapter-abi.d.ts +807 -0
- package/dist/chains/evm/common/constants/abi/wormhole-data-adapter-abi.js +621 -0
- package/dist/chains/evm/common/constants/abi/wormhole-data-adapter-abi.js.map +1 -0
- package/dist/chains/evm/common/constants/chain.d.ts +2349 -0
- package/dist/chains/evm/common/constants/chain.js +45 -0
- package/dist/chains/evm/common/constants/chain.js.map +1 -0
- package/dist/chains/evm/common/constants/contract.d.ts +2 -0
- package/dist/chains/evm/common/constants/contract.js +6 -0
- package/dist/chains/evm/common/constants/contract.js.map +1 -0
- package/dist/chains/evm/common/constants/tokens.d.ts +6 -0
- package/dist/chains/evm/common/constants/tokens.js +33 -0
- package/dist/chains/evm/common/constants/tokens.js.map +1 -0
- package/dist/chains/evm/common/types/chain.d.ts +10 -0
- package/dist/chains/evm/common/types/chain.js +2 -0
- package/dist/chains/evm/common/types/chain.js.map +1 -0
- package/dist/chains/evm/common/types/contract.d.ts +8 -0
- package/dist/chains/evm/common/types/contract.js +2 -0
- package/dist/chains/evm/common/types/contract.js.map +1 -0
- package/dist/chains/evm/common/types/gmp.d.ts +14 -0
- package/dist/chains/evm/common/types/gmp.js +2 -0
- package/dist/chains/evm/common/types/gmp.js.map +1 -0
- package/dist/chains/evm/common/types/index.d.ts +3 -0
- package/dist/chains/evm/common/types/index.js +4 -0
- package/dist/chains/evm/common/types/index.js.map +1 -0
- package/dist/chains/evm/common/types/module.d.ts +66 -0
- package/dist/chains/evm/common/types/module.js +2 -0
- package/dist/chains/evm/common/types/module.js.map +1 -0
- package/dist/chains/evm/common/types/tokens.d.ts +28 -0
- package/dist/chains/evm/common/types/tokens.js +2 -0
- package/dist/chains/evm/common/types/tokens.js.map +1 -0
- package/dist/chains/evm/common/utils/chain.d.ts +6 -0
- package/dist/chains/evm/common/utils/chain.js +16 -0
- package/dist/chains/evm/common/utils/chain.js.map +1 -0
- package/dist/chains/evm/common/utils/contract.d.ts +6006 -0
- package/dist/chains/evm/common/utils/contract.js +54 -0
- package/dist/chains/evm/common/utils/contract.js.map +1 -0
- package/dist/chains/evm/common/utils/gmp.d.ts +4 -0
- package/dist/chains/evm/common/utils/gmp.js +13 -0
- package/dist/chains/evm/common/utils/gmp.js.map +1 -0
- package/dist/chains/evm/common/utils/message.d.ts +22 -0
- package/dist/chains/evm/common/utils/message.js +398 -0
- package/dist/chains/evm/common/utils/message.js.map +1 -0
- package/dist/chains/evm/common/utils/provider.d.ts +5 -0
- package/dist/chains/evm/common/utils/provider.js +24 -0
- package/dist/chains/evm/common/utils/provider.js.map +1 -0
- package/dist/chains/evm/common/utils/tokens.d.ts +10 -0
- package/dist/chains/evm/common/utils/tokens.js +37 -0
- package/dist/chains/evm/common/utils/tokens.js.map +1 -0
- package/dist/chains/evm/hub/constants/abi/account-manager-abi.d.ts +907 -0
- package/dist/chains/evm/hub/constants/abi/account-manager-abi.js +686 -0
- package/dist/chains/evm/hub/constants/abi/account-manager-abi.js.map +1 -0
- package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.d.ts +969 -0
- package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.js +764 -0
- package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.js.map +1 -0
- package/dist/chains/evm/hub/constants/abi/hub-abi.d.ts +285 -0
- package/dist/chains/evm/hub/constants/abi/hub-abi.js +187 -0
- package/dist/chains/evm/hub/constants/abi/hub-abi.js.map +1 -0
- package/dist/chains/evm/hub/constants/abi/hub-pool-abi.d.ts +1742 -0
- package/dist/chains/evm/hub/constants/abi/hub-pool-abi.js +1346 -0
- package/dist/chains/evm/hub/constants/abi/hub-pool-abi.js.map +1 -0
- package/dist/chains/evm/hub/constants/abi/loan-manager-abi.d.ts +1559 -0
- package/dist/chains/evm/hub/constants/abi/loan-manager-abi.js +1040 -0
- package/dist/chains/evm/hub/constants/abi/loan-manager-abi.js.map +1 -0
- package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.d.ts +495 -0
- package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.js +389 -0
- package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.js.map +1 -0
- package/dist/chains/evm/hub/constants/chain.d.ts +3 -0
- package/dist/chains/evm/hub/constants/chain.js +96 -0
- package/dist/chains/evm/hub/constants/chain.js.map +1 -0
- package/dist/chains/evm/hub/modules/folks-hub-account.d.ts +15 -0
- package/dist/chains/evm/hub/modules/folks-hub-account.js +98 -0
- package/dist/chains/evm/hub/modules/folks-hub-account.js.map +1 -0
- package/dist/chains/evm/hub/modules/folks-hub-gmp.d.ts +14 -0
- package/dist/chains/evm/hub/modules/folks-hub-gmp.js +57 -0
- package/dist/chains/evm/hub/modules/folks-hub-gmp.js.map +1 -0
- package/dist/chains/evm/hub/modules/folks-hub-loan.d.ts +25 -0
- package/dist/chains/evm/hub/modules/folks-hub-loan.js +397 -0
- package/dist/chains/evm/hub/modules/folks-hub-loan.js.map +1 -0
- package/dist/chains/evm/hub/modules/folks-hub-oracle.d.ts +5 -0
- package/dist/chains/evm/hub/modules/folks-hub-oracle.js +24 -0
- package/dist/chains/evm/hub/modules/folks-hub-oracle.js.map +1 -0
- package/dist/chains/evm/hub/modules/folks-hub-pool.d.ts +5 -0
- package/dist/chains/evm/hub/modules/folks-hub-pool.js +114 -0
- package/dist/chains/evm/hub/modules/folks-hub-pool.js.map +1 -0
- package/dist/chains/evm/hub/modules/index.d.ts +5 -0
- package/dist/chains/evm/hub/modules/index.js +6 -0
- package/dist/chains/evm/hub/modules/index.js.map +1 -0
- package/dist/chains/evm/hub/types/account.d.ts +23 -0
- package/dist/chains/evm/hub/types/account.js +2 -0
- package/dist/chains/evm/hub/types/account.js.map +1 -0
- package/dist/chains/evm/hub/types/chain.d.ts +15 -0
- package/dist/chains/evm/hub/types/chain.js +2 -0
- package/dist/chains/evm/hub/types/chain.js.map +1 -0
- package/dist/chains/evm/hub/types/loan.d.ts +126 -0
- package/dist/chains/evm/hub/types/loan.js +9 -0
- package/dist/chains/evm/hub/types/loan.js.map +1 -0
- package/dist/chains/evm/hub/types/oracle.d.ts +4 -0
- package/dist/chains/evm/hub/types/oracle.js +2 -0
- package/dist/chains/evm/hub/types/oracle.js.map +1 -0
- package/dist/chains/evm/hub/types/pool.d.ts +60 -0
- package/dist/chains/evm/hub/types/pool.js +2 -0
- package/dist/chains/evm/hub/types/pool.js.map +1 -0
- package/dist/chains/evm/hub/types/token.d.ts +9 -0
- package/dist/chains/evm/hub/types/token.js +2 -0
- package/dist/chains/evm/hub/types/token.js.map +1 -0
- package/dist/chains/evm/hub/utils/chain.d.ts +13 -0
- package/dist/chains/evm/hub/utils/chain.js +29 -0
- package/dist/chains/evm/hub/utils/chain.js.map +1 -0
- package/dist/chains/evm/hub/utils/contract.d.ts +17 -0
- package/dist/chains/evm/hub/utils/contract.js +52 -0
- package/dist/chains/evm/hub/utils/contract.js.map +1 -0
- package/dist/chains/evm/hub/utils/events.d.ts +24 -0
- package/dist/chains/evm/hub/utils/events.js +97 -0
- package/dist/chains/evm/hub/utils/events.js.map +1 -0
- package/dist/chains/evm/hub/utils/loan.d.ts +4 -0
- package/dist/chains/evm/hub/utils/loan.js +36 -0
- package/dist/chains/evm/hub/utils/loan.js.map +1 -0
- package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.d.ts +951 -0
- package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.js +754 -0
- package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.js.map +1 -0
- package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.d.ts +1101 -0
- package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.js +710 -0
- package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.js.map +1 -0
- package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.d.ts +882 -0
- package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.js +643 -0
- package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.js.map +1 -0
- package/dist/chains/evm/spoke/modules/folks-evm-account.d.ts +18 -0
- package/dist/chains/evm/spoke/modules/folks-evm-account.js +119 -0
- package/dist/chains/evm/spoke/modules/folks-evm-account.js.map +1 -0
- package/dist/chains/evm/spoke/modules/folks-evm-gmp.d.ts +14 -0
- package/dist/chains/evm/spoke/modules/folks-evm-gmp.js +57 -0
- package/dist/chains/evm/spoke/modules/folks-evm-gmp.js.map +1 -0
- package/dist/chains/evm/spoke/modules/folks-evm-loan.d.ts +39 -0
- package/dist/chains/evm/spoke/modules/folks-evm-loan.js +396 -0
- package/dist/chains/evm/spoke/modules/folks-evm-loan.js.map +1 -0
- package/dist/chains/evm/spoke/modules/index.d.ts +3 -0
- package/dist/chains/evm/spoke/modules/index.js +4 -0
- package/dist/chains/evm/spoke/modules/index.js.map +1 -0
- package/dist/chains/evm/spoke/types/pool.d.ts +7 -0
- package/dist/chains/evm/spoke/types/pool.js +2 -0
- package/dist/chains/evm/spoke/types/pool.js.map +1 -0
- package/dist/chains/evm/spoke/utils/contract.d.ts +12 -0
- package/dist/chains/evm/spoke/utils/contract.js +28 -0
- package/dist/chains/evm/spoke/utils/contract.js.map +1 -0
- package/dist/common/constants/adapter.d.ts +4 -0
- package/dist/common/constants/adapter.js +5 -0
- package/dist/common/constants/adapter.js.map +1 -0
- package/dist/common/constants/bytes.d.ts +5 -0
- package/dist/common/constants/bytes.js +6 -0
- package/dist/common/constants/bytes.js.map +1 -0
- package/dist/common/constants/chain.d.ts +15 -0
- package/dist/common/constants/chain.js +152 -0
- package/dist/common/constants/chain.js.map +1 -0
- package/dist/common/constants/gmp.d.ts +4 -0
- package/dist/common/constants/gmp.js +32 -0
- package/dist/common/constants/gmp.js.map +1 -0
- package/dist/common/constants/lending.d.ts +1 -0
- package/dist/common/constants/lending.js +3 -0
- package/dist/common/constants/lending.js.map +1 -0
- package/dist/common/constants/message.d.ts +4 -0
- package/dist/common/constants/message.js +5 -0
- package/dist/common/constants/message.js.map +1 -0
- package/dist/common/constants/pool.d.ts +8 -0
- package/dist/common/constants/pool.js +10 -0
- package/dist/common/constants/pool.js.map +1 -0
- package/dist/common/constants/token.d.ts +2 -0
- package/dist/common/constants/token.js +3 -0
- package/dist/common/constants/token.js.map +1 -0
- package/dist/common/types/adapter.d.ts +30 -0
- package/dist/common/types/adapter.js +7 -0
- package/dist/common/types/adapter.js.map +1 -0
- package/dist/common/types/address.d.ts +9 -0
- package/dist/common/types/address.js +2 -0
- package/dist/common/types/address.js.map +1 -0
- package/dist/common/types/brand.d.ts +6 -0
- package/dist/common/types/brand.js +2 -0
- package/dist/common/types/brand.js.map +1 -0
- package/dist/common/types/chain.d.ts +29 -0
- package/dist/common/types/chain.js +10 -0
- package/dist/common/types/chain.js.map +1 -0
- package/dist/common/types/core.d.ts +28 -0
- package/dist/common/types/core.js +2 -0
- package/dist/common/types/core.js.map +1 -0
- package/dist/common/types/gmp.d.ts +17 -0
- package/dist/common/types/gmp.js +6 -0
- package/dist/common/types/gmp.js.map +1 -0
- package/dist/common/types/lending.d.ts +4 -0
- package/dist/common/types/lending.js +2 -0
- package/dist/common/types/lending.js.map +1 -0
- package/dist/common/types/message.d.ts +239 -0
- package/dist/common/types/message.js +33 -0
- package/dist/common/types/message.js.map +1 -0
- package/dist/common/types/module.d.ts +21 -0
- package/dist/common/types/module.js +6 -0
- package/dist/common/types/module.js.map +1 -0
- package/dist/common/types/token.d.ts +42 -0
- package/dist/common/types/token.js +15 -0
- package/dist/common/types/token.js.map +1 -0
- package/dist/common/utils/adapter.d.ts +11 -0
- package/dist/common/utils/adapter.js +63 -0
- package/dist/common/utils/adapter.js.map +1 -0
- package/dist/common/utils/address.d.ts +8 -0
- package/dist/common/utils/address.js +35 -0
- package/dist/common/utils/address.js.map +1 -0
- package/dist/common/utils/bytes.d.ts +9 -0
- package/dist/common/utils/bytes.js +34 -0
- package/dist/common/utils/bytes.js.map +1 -0
- package/dist/common/utils/chain.d.ts +19 -0
- package/dist/common/utils/chain.js +74 -0
- package/dist/common/utils/chain.js.map +1 -0
- package/dist/common/utils/formulae.d.ts +15 -0
- package/dist/common/utils/formulae.js +77 -0
- package/dist/common/utils/formulae.js.map +1 -0
- package/dist/common/utils/gmp.d.ts +4 -0
- package/dist/common/utils/gmp.js +14 -0
- package/dist/common/utils/gmp.js.map +1 -0
- package/dist/common/utils/math-lib.d.ts +9 -0
- package/dist/common/utils/math-lib.js +38 -0
- package/dist/common/utils/math-lib.js.map +1 -0
- package/dist/common/utils/messages.d.ts +7 -0
- package/dist/common/utils/messages.js +93 -0
- package/dist/common/utils/messages.js.map +1 -0
- package/dist/common/utils/token.d.ts +2 -0
- package/dist/common/utils/token.js +5 -0
- package/dist/common/utils/token.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/exhaustive-check.d.ts +1 -0
- package/dist/utils/exhaustive-check.js +4 -0
- package/dist/utils/exhaustive-check.js.map +1 -0
- package/dist/xchain/core/folks-core.d.ts +24 -0
- package/dist/xchain/core/folks-core.js +100 -0
- package/dist/xchain/core/folks-core.js.map +1 -0
- package/dist/xchain/modules/folks-account.d.ts +30 -0
- package/dist/xchain/modules/folks-account.js +205 -0
- package/dist/xchain/modules/folks-account.js.map +1 -0
- package/dist/xchain/modules/folks-gmp.d.ts +12 -0
- package/dist/xchain/modules/folks-gmp.js +53 -0
- package/dist/xchain/modules/folks-gmp.js.map +1 -0
- package/dist/xchain/modules/folks-loan.d.ts +68 -0
- package/dist/xchain/modules/folks-loan.js +598 -0
- package/dist/xchain/modules/folks-loan.js.map +1 -0
- package/dist/xchain/modules/folks-oracle.d.ts +4 -0
- package/dist/xchain/modules/folks-oracle.js +11 -0
- package/dist/xchain/modules/folks-oracle.js.map +1 -0
- package/dist/xchain/modules/folks-pool.d.ts +5 -0
- package/dist/xchain/modules/folks-pool.js +8 -0
- package/dist/xchain/modules/folks-pool.js.map +1 -0
- package/dist/xchain/modules/index.d.ts +5 -0
- package/dist/xchain/modules/index.js +6 -0
- package/dist/xchain/modules/index.js.map +1 -0
- package/package.json +79 -0
- package/src/chains/evm/common/constants/abi/ccip-data-adapter-abi.ts +613 -0
- package/src/chains/evm/common/constants/abi/erc-20-abi.ts +156 -0
- package/src/chains/evm/common/constants/abi/wormhole-data-adapter-abi.ts +620 -0
- package/src/chains/evm/common/constants/chain.ts +56 -0
- package/src/chains/evm/common/constants/contract.ts +7 -0
- package/src/chains/evm/common/constants/tokens.ts +39 -0
- package/src/chains/evm/common/types/chain.ts +23 -0
- package/src/chains/evm/common/types/contract.ts +7 -0
- package/src/chains/evm/common/types/gmp.ts +15 -0
- package/src/chains/evm/common/types/index.ts +3 -0
- package/src/chains/evm/common/types/module.ts +85 -0
- package/src/chains/evm/common/types/tokens.ts +31 -0
- package/src/chains/evm/common/utils/chain.ts +20 -0
- package/src/chains/evm/common/utils/contract.ts +84 -0
- package/src/chains/evm/common/utils/gmp.ts +24 -0
- package/src/chains/evm/common/utils/message.ts +496 -0
- package/src/chains/evm/common/utils/provider.ts +32 -0
- package/src/chains/evm/common/utils/tokens.ts +52 -0
- package/src/chains/evm/hub/constants/abi/account-manager-abi.ts +685 -0
- package/src/chains/evm/hub/constants/abi/bridge-router-hub-abi.ts +763 -0
- package/src/chains/evm/hub/constants/abi/hub-abi.ts +186 -0
- package/src/chains/evm/hub/constants/abi/hub-pool-abi.ts +1345 -0
- package/src/chains/evm/hub/constants/abi/loan-manager-abi.ts +1039 -0
- package/src/chains/evm/hub/constants/abi/oracle-manager-abi.ts +388 -0
- package/src/chains/evm/hub/constants/chain.ts +130 -0
- package/src/chains/evm/hub/modules/folks-hub-account.ts +137 -0
- package/src/chains/evm/hub/modules/folks-hub-gmp.ts +105 -0
- package/src/chains/evm/hub/modules/folks-hub-loan.ts +603 -0
- package/src/chains/evm/hub/modules/folks-hub-oracle.ts +38 -0
- package/src/chains/evm/hub/modules/folks-hub-pool.ts +171 -0
- package/src/chains/evm/hub/modules/index.ts +5 -0
- package/src/chains/evm/hub/types/account.ts +27 -0
- package/src/chains/evm/hub/types/chain.ts +16 -0
- package/src/chains/evm/hub/types/loan.ts +147 -0
- package/src/chains/evm/hub/types/oracle.ts +6 -0
- package/src/chains/evm/hub/types/pool.ts +66 -0
- package/src/chains/evm/hub/types/token.ts +10 -0
- package/src/chains/evm/hub/utils/chain.ts +41 -0
- package/src/chains/evm/hub/utils/contract.ts +98 -0
- package/src/chains/evm/hub/utils/events.ts +112 -0
- package/src/chains/evm/hub/utils/loan.ts +60 -0
- package/src/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.ts +753 -0
- package/src/chains/evm/spoke/constants/abi/spoke-common-abi.ts +709 -0
- package/src/chains/evm/spoke/constants/abi/spoke-token-abi.ts +642 -0
- package/src/chains/evm/spoke/modules/folks-evm-account.ts +228 -0
- package/src/chains/evm/spoke/modules/folks-evm-gmp.ts +105 -0
- package/src/chains/evm/spoke/modules/folks-evm-loan.ts +721 -0
- package/src/chains/evm/spoke/modules/index.ts +3 -0
- package/src/chains/evm/spoke/types/pool.ts +7 -0
- package/src/chains/evm/spoke/utils/contract.ts +74 -0
- package/src/common/constants/adapter.ts +5 -0
- package/src/common/constants/bytes.ts +6 -0
- package/src/common/constants/chain.ts +227 -0
- package/src/common/constants/gmp.ts +38 -0
- package/src/common/constants/lending.ts +3 -0
- package/src/common/constants/message.ts +4 -0
- package/src/common/constants/pool.ts +11 -0
- package/src/common/constants/token.ts +3 -0
- package/src/common/types/adapter.ts +38 -0
- package/src/common/types/address.ts +11 -0
- package/src/common/types/brand.ts +3 -0
- package/src/common/types/chain.ts +35 -0
- package/src/common/types/core.ts +31 -0
- package/src/common/types/gmp.ts +22 -0
- package/src/common/types/lending.ts +5 -0
- package/src/common/types/message.ts +330 -0
- package/src/common/types/module.ts +42 -0
- package/src/common/types/token.ts +50 -0
- package/src/common/utils/adapter.ts +75 -0
- package/src/common/utils/address.ts +49 -0
- package/src/common/utils/bytes.ts +46 -0
- package/src/common/utils/chain.ts +103 -0
- package/src/common/utils/formulae.ts +124 -0
- package/src/common/utils/gmp.ts +16 -0
- package/src/common/utils/math-lib.ts +46 -0
- package/src/common/utils/messages.ts +192 -0
- package/src/common/utils/token.ts +7 -0
- package/src/index.ts +47 -0
- package/src/utils/exhaustive-check.ts +3 -0
- package/src/xchain/core/folks-core.ts +128 -0
- package/src/xchain/modules/folks-account.ts +385 -0
- package/src/xchain/modules/folks-gmp.ts +129 -0
- package/src/xchain/modules/folks-loan.ts +1175 -0
- package/src/xchain/modules/folks-oracle.ts +15 -0
- package/src/xchain/modules/folks-pool.ts +11 -0
- package/src/xchain/modules/index.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/common/utils/chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Dnum } from "dnum";
|
|
2
|
+
export declare function calcPeriodNumber(offset: bigint, length: bigint): bigint;
|
|
3
|
+
export declare function calcNextPeriodReset(periodNumber: bigint, offset: bigint, length: bigint): bigint;
|
|
4
|
+
export declare function calcDepositInterestIndex(dirt1: Dnum, diit1: Dnum, latestUpdate: bigint): Dnum;
|
|
5
|
+
export declare function calcBorrowInterestIndex(birt1: Dnum, biit1: Dnum, latestUpdate: bigint): Dnum;
|
|
6
|
+
export declare function calcRewardIndex(used: bigint, ma: bigint, rit1: Dnum, rs: Dnum, latestUpdate: bigint): Dnum;
|
|
7
|
+
export declare function toFAmount(underlyingAmount: bigint, diit: Dnum): bigint;
|
|
8
|
+
export declare function toUnderlyingAmount(fAmount: bigint, diit: Dnum): bigint;
|
|
9
|
+
export declare function calcCollateralAssetLoanValue(amount: bigint, tokenPrice: Dnum, tokenDecimals: number, collateralFactor: Dnum): Dnum;
|
|
10
|
+
export declare function calcBorrowAssetLoanValue(amount: bigint, tokenPrice: Dnum, tokenDecimals: number, borrowFactor: Dnum): Dnum;
|
|
11
|
+
export declare function calcBorrowBalance(bbtn1: bigint, biit: Dnum, biitn1: Dnum): bigint;
|
|
12
|
+
export declare function calcStableInterestRate(bbt: bigint, amount: bigint, sbirtn1: Dnum, sbirt1: Dnum): Dnum;
|
|
13
|
+
export declare function calcLtvRatio(totalBorrowBalanceValue: Dnum, totalCollateralBalanceValue: Dnum): Dnum;
|
|
14
|
+
export declare function calcBorrowUtilisationRatio(totalEffectiveBorrowBalanceValue: Dnum, totalEffectiveCollateralBalanceValue: Dnum): Dnum;
|
|
15
|
+
export declare function calcLiquidationMargin(totalEffectiveBorrowBalanceValue: Dnum, totalEffectiveCollateralBalanceValue: Dnum): Dnum;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as dn from "dnum";
|
|
2
|
+
import { SECONDS_IN_YEAR, expBySquaring, unixTime } from "./math-lib.js";
|
|
3
|
+
export function calcPeriodNumber(offset, length) {
|
|
4
|
+
return (BigInt(unixTime()) + offset) / length;
|
|
5
|
+
}
|
|
6
|
+
export function calcNextPeriodReset(periodNumber, offset, length) {
|
|
7
|
+
return (periodNumber + BigInt(1)) * length - offset;
|
|
8
|
+
}
|
|
9
|
+
export function calcDepositInterestIndex(dirt1, diit1, latestUpdate) {
|
|
10
|
+
const dt = BigInt(unixTime()) - latestUpdate;
|
|
11
|
+
return dn.mul(diit1, dn.add(dn.from(1, 18), dn.div(dn.mul(dirt1, dt, { rounding: "ROUND_DOWN" }), SECONDS_IN_YEAR, {
|
|
12
|
+
rounding: "ROUND_DOWN",
|
|
13
|
+
})), { rounding: "ROUND_DOWN" });
|
|
14
|
+
}
|
|
15
|
+
export function calcBorrowInterestIndex(birt1, biit1, latestUpdate) {
|
|
16
|
+
const dt = BigInt(unixTime()) - latestUpdate;
|
|
17
|
+
return dn.mul(biit1, expBySquaring(dn.add(dn.from(1, 18), dn.div(birt1, SECONDS_IN_YEAR, { rounding: "ROUND_DOWN" })), dt), { rounding: "ROUND_DOWN" });
|
|
18
|
+
}
|
|
19
|
+
export function calcRewardIndex(used, ma, rit1, rs, latestUpdate) {
|
|
20
|
+
if (used <= ma)
|
|
21
|
+
return rit1;
|
|
22
|
+
const dt = BigInt(unixTime()) - latestUpdate;
|
|
23
|
+
return dn.add(rit1, dn.div(dn.mul(rs, dt, { rounding: "ROUND_DOWN" }), used, {
|
|
24
|
+
rounding: "ROUND_DOWN",
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
export function toFAmount(underlyingAmount, diit) {
|
|
28
|
+
const [fAmount] = dn.div([underlyingAmount, 0], diit, { rounding: "ROUND_DOWN" });
|
|
29
|
+
return fAmount;
|
|
30
|
+
}
|
|
31
|
+
export function toUnderlyingAmount(fAmount, diit) {
|
|
32
|
+
const [underlyingAmount] = dn.mul([fAmount, 0], diit, { rounding: "ROUND_DOWN" });
|
|
33
|
+
return underlyingAmount;
|
|
34
|
+
}
|
|
35
|
+
function calcAssetDollarValue(amount, tokenPrice, tokenDecimals) {
|
|
36
|
+
return dn.mul([amount, tokenDecimals], tokenPrice, {
|
|
37
|
+
rounding: "ROUND_DOWN",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export function calcCollateralAssetLoanValue(amount, tokenPrice, tokenDecimals, collateralFactor) {
|
|
41
|
+
return dn.mul(calcAssetDollarValue(amount, tokenPrice, tokenDecimals), collateralFactor, { rounding: "ROUND_DOWN" });
|
|
42
|
+
}
|
|
43
|
+
export function calcBorrowAssetLoanValue(amount, tokenPrice, tokenDecimals, borrowFactor) {
|
|
44
|
+
return dn.mul(calcAssetDollarValue(amount, tokenPrice, tokenDecimals), borrowFactor, { rounding: "ROUND_UP" });
|
|
45
|
+
}
|
|
46
|
+
export function calcBorrowBalance(bbtn1, biit, biitn1) {
|
|
47
|
+
const [borrowBalance] = dn.mul([bbtn1, 0], dn.div(biit, biitn1, { rounding: "ROUND_UP" }), {
|
|
48
|
+
rounding: "ROUND_UP",
|
|
49
|
+
});
|
|
50
|
+
return borrowBalance;
|
|
51
|
+
}
|
|
52
|
+
export function calcStableInterestRate(bbt, amount, sbirtn1, sbirt1) {
|
|
53
|
+
return dn.div(dn.add(dn.mul(sbirtn1, [bbt, 0]), dn.mul(sbirt1, [amount, 0])), dn.add([bbt, 0], [amount, 0]));
|
|
54
|
+
}
|
|
55
|
+
export function calcLtvRatio(totalBorrowBalanceValue, totalCollateralBalanceValue) {
|
|
56
|
+
const [, decimals] = totalBorrowBalanceValue;
|
|
57
|
+
if (dn.equal(totalCollateralBalanceValue, 0))
|
|
58
|
+
return dn.from(0, decimals);
|
|
59
|
+
return dn.div(totalBorrowBalanceValue, totalCollateralBalanceValue, {
|
|
60
|
+
rounding: "ROUND_UP",
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
export function calcBorrowUtilisationRatio(totalEffectiveBorrowBalanceValue, totalEffectiveCollateralBalanceValue) {
|
|
64
|
+
const [, decimals] = totalEffectiveBorrowBalanceValue;
|
|
65
|
+
if (dn.equal(totalEffectiveCollateralBalanceValue, 0))
|
|
66
|
+
return dn.from(0, decimals);
|
|
67
|
+
return dn.div(totalEffectiveBorrowBalanceValue, totalEffectiveCollateralBalanceValue, { rounding: "ROUND_UP" });
|
|
68
|
+
}
|
|
69
|
+
export function calcLiquidationMargin(totalEffectiveBorrowBalanceValue, totalEffectiveCollateralBalanceValue) {
|
|
70
|
+
const [, decimals] = totalEffectiveBorrowBalanceValue;
|
|
71
|
+
if (dn.equal(totalEffectiveCollateralBalanceValue, 0))
|
|
72
|
+
return dn.from(0, decimals);
|
|
73
|
+
return dn.div(dn.sub(totalEffectiveCollateralBalanceValue, totalEffectiveBorrowBalanceValue), totalEffectiveCollateralBalanceValue, {
|
|
74
|
+
rounding: "ROUND_DOWN",
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=formulae.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formulae.js","sourceRoot":"","sources":["../../../src/common/utils/formulae.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { FolksChainId } from "../types/chain.js";
|
|
2
|
+
import type { CCIPData, WormholeData } from "../types/gmp.js";
|
|
3
|
+
export declare function getWormholeData(folksChainId: FolksChainId): WormholeData;
|
|
4
|
+
export declare function getCcipData(folksChainId: FolksChainId): CCIPData;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CCIP_DATA, WORMHOLE_DATA } from "../constants/gmp.js";
|
|
2
|
+
export function getWormholeData(folksChainId) {
|
|
3
|
+
const wormholeData = WORMHOLE_DATA[folksChainId];
|
|
4
|
+
if (wormholeData)
|
|
5
|
+
return wormholeData;
|
|
6
|
+
throw new Error(`Wormhole data not found for folksChainId: ${folksChainId}`);
|
|
7
|
+
}
|
|
8
|
+
export function getCcipData(folksChainId) {
|
|
9
|
+
const ccipData = CCIP_DATA[folksChainId];
|
|
10
|
+
if (ccipData)
|
|
11
|
+
return ccipData;
|
|
12
|
+
throw new Error(`CCIP data not found for folksChainId: ${folksChainId}`);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=gmp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmp.js","sourceRoot":"","sources":["../../../src/common/utils/gmp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAK/D,MAAM,UAAU,eAAe,CAAC,YAA0B;IACxD,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,MAAM,IAAI,KAAK,CAAC,6CAA6C,YAAY,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAA0B;IACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Dnum } from "dnum";
|
|
2
|
+
export declare const SECONDS_IN_YEAR: bigint;
|
|
3
|
+
export declare const HOURS_IN_YEAR: bigint;
|
|
4
|
+
export declare function unixTime(): number;
|
|
5
|
+
export declare function expBySquaring(x: Dnum, n: bigint): Dnum;
|
|
6
|
+
export declare function compoundEverySecond(rate: Dnum): Dnum;
|
|
7
|
+
export declare function compoundEveryHour(rate: Dnum): Dnum;
|
|
8
|
+
export declare const bigIntMax: (...args: Array<bigint>) => bigint;
|
|
9
|
+
export declare const bigIntMin: (...args: Array<bigint>) => bigint;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as dn from "dnum";
|
|
2
|
+
export const SECONDS_IN_YEAR = BigInt(365 * 24 * 60 * 60);
|
|
3
|
+
export const HOURS_IN_YEAR = BigInt(365 * 24);
|
|
4
|
+
export function unixTime() {
|
|
5
|
+
return Math.floor(Date.now() / 1000);
|
|
6
|
+
}
|
|
7
|
+
export function expBySquaring(x, n) {
|
|
8
|
+
const [, decimals] = x;
|
|
9
|
+
const one = dn.from(1, decimals);
|
|
10
|
+
if (n === BigInt(0))
|
|
11
|
+
return one;
|
|
12
|
+
let y = one;
|
|
13
|
+
while (n > BigInt(1)) {
|
|
14
|
+
if (n % BigInt(2)) {
|
|
15
|
+
y = dn.mul(x, y, { rounding: "ROUND_DOWN" });
|
|
16
|
+
n = (n - BigInt(1)) / BigInt(2);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
n = n / BigInt(2);
|
|
20
|
+
}
|
|
21
|
+
x = dn.mul(x, x, { rounding: "ROUND_DOWN" });
|
|
22
|
+
}
|
|
23
|
+
return dn.mul(x, y, { rounding: "ROUND_DOWN" });
|
|
24
|
+
}
|
|
25
|
+
function compound(rate, period) {
|
|
26
|
+
const [, decimals] = rate;
|
|
27
|
+
const one = dn.from(1, decimals);
|
|
28
|
+
return dn.sub(expBySquaring(dn.add(one, dn.div(rate, period)), period), one);
|
|
29
|
+
}
|
|
30
|
+
export function compoundEverySecond(rate) {
|
|
31
|
+
return compound(rate, SECONDS_IN_YEAR);
|
|
32
|
+
}
|
|
33
|
+
export function compoundEveryHour(rate) {
|
|
34
|
+
return compound(rate, HOURS_IN_YEAR);
|
|
35
|
+
}
|
|
36
|
+
export const bigIntMax = (...args) => args.reduce((m, e) => (e > m ? e : m));
|
|
37
|
+
export const bigIntMin = (...args) => args.reduce((m, e) => (e < m ? e : m));
|
|
38
|
+
//# sourceMappingURL=math-lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math-lib.js","sourceRoot":"","sources":["../../../src/common/utils/math-lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAI3B,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AAE9C,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAO,EAAE,CAAS;IAC9C,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEjC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAEhC,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;YAC7C,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU,EAAE,MAAc;IAC1C,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,OAAO,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,OAAO,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ChainType } from "../types/chain.js";
|
|
2
|
+
import { MessageDirection } from "../types/gmp.js";
|
|
3
|
+
import type { FolksChainId, NetworkType } from "../types/chain.js";
|
|
4
|
+
import type { FolksProvider } from "../types/core.js";
|
|
5
|
+
import type { MessageBuilderParams, MessageToSend, OptionalFeeParams } from "../types/message.js";
|
|
6
|
+
export declare function buildMessageToSend(chainType: ChainType, messageToSendBuilderParams: MessageBuilderParams, feeParams?: OptionalFeeParams): MessageToSend;
|
|
7
|
+
export declare function estimateAdapterReceiveGasLimit(sourceFolksChainId: FolksChainId, destFolksChainId: FolksChainId, destFolksChainProvider: FolksProvider, network: NetworkType, messageDirection: MessageDirection, messageBuilderParams: MessageBuilderParams, receiverValue?: bigint, returnGasLimit?: bigint): Promise<bigint>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { buildEvmMessageToSend, estimateEvmCcipDataGasLimit, estimateEvmWormholeDataGasLimit, getSendTokenStateOverride, } from "../../chains/evm/common/utils/message.js";
|
|
2
|
+
import { getHubChainAdapterAddress } from "../../chains/evm/hub/utils/chain.js";
|
|
3
|
+
import { exhaustiveCheck } from "../../utils/exhaustive-check.js";
|
|
4
|
+
import { ChainType } from "../types/chain.js";
|
|
5
|
+
import { MessageDirection } from "../types/gmp.js";
|
|
6
|
+
import { Action, AdapterType } from "../types/message.js";
|
|
7
|
+
import { convertFromGenericAddress } from "./address.js";
|
|
8
|
+
import { getFolksChain, getSpokeChainAdapterAddress } from "./chain.js";
|
|
9
|
+
import { getCcipData, getWormholeData } from "./gmp.js";
|
|
10
|
+
export function buildMessageToSend(chainType, messageToSendBuilderParams, feeParams = {}) {
|
|
11
|
+
switch (chainType) {
|
|
12
|
+
case ChainType.EVM: {
|
|
13
|
+
return buildEvmMessageToSend(messageToSendBuilderParams, feeParams);
|
|
14
|
+
}
|
|
15
|
+
default:
|
|
16
|
+
return exhaustiveCheck(chainType);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function getAdapterId(messageDirection, adapters) {
|
|
20
|
+
if (messageDirection === MessageDirection.SpokeToHub)
|
|
21
|
+
return adapters.adapterId;
|
|
22
|
+
return adapters.returnAdapterId;
|
|
23
|
+
}
|
|
24
|
+
function getAdaptersAddresses(messageDirection, sourceFolksChainId, destFolksChainId, network, adapterId) {
|
|
25
|
+
if (messageDirection === MessageDirection.SpokeToHub)
|
|
26
|
+
return {
|
|
27
|
+
sourceAdapterAddress: getSpokeChainAdapterAddress(sourceFolksChainId, network, adapterId),
|
|
28
|
+
destAdapterAddress: getHubChainAdapterAddress(network, adapterId),
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
sourceAdapterAddress: getHubChainAdapterAddress(network, adapterId),
|
|
32
|
+
destAdapterAddress: getSpokeChainAdapterAddress(destFolksChainId, network, adapterId),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export async function estimateAdapterReceiveGasLimit(sourceFolksChainId, destFolksChainId, destFolksChainProvider, network, messageDirection, messageBuilderParams, receiverValue = BigInt(0), returnGasLimit = BigInt(0)) {
|
|
36
|
+
const destFolksChain = getFolksChain(destFolksChainId, network);
|
|
37
|
+
const adapterId = getAdapterId(messageDirection, messageBuilderParams.adapters);
|
|
38
|
+
const { sourceAdapterAddress, destAdapterAddress } = getAdaptersAddresses(messageDirection, sourceFolksChainId, destFolksChainId, network, adapterId);
|
|
39
|
+
switch (destFolksChain.chainType) {
|
|
40
|
+
case ChainType.EVM: {
|
|
41
|
+
let stateOverride = [];
|
|
42
|
+
if (messageBuilderParams.action === Action.SendToken) {
|
|
43
|
+
stateOverride = stateOverride.concat(getSendTokenStateOverride(destFolksChainId, messageBuilderParams.data.folksTokenId, messageBuilderParams.extraArgs));
|
|
44
|
+
}
|
|
45
|
+
switch (adapterId) {
|
|
46
|
+
case AdapterType.WORMHOLE_DATA: {
|
|
47
|
+
const sourceWormholeChainId = getWormholeData(sourceFolksChainId).wormholeChainId;
|
|
48
|
+
const wormholeRelayer = convertFromGenericAddress(getWormholeData(destFolksChainId).wormholeRelayer, ChainType.EVM);
|
|
49
|
+
return await estimateEvmWormholeDataGasLimit(
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
|
|
51
|
+
destFolksChainProvider, messageBuilderParams, receiverValue, returnGasLimit, sourceWormholeChainId, wormholeRelayer, destAdapterAddress, sourceAdapterAddress, stateOverride);
|
|
52
|
+
}
|
|
53
|
+
case AdapterType.WORMHOLE_CCTP: {
|
|
54
|
+
const { sourceAdapterAddress, destAdapterAddress } = getAdaptersAddresses(messageDirection, sourceFolksChainId, destFolksChainId, network, AdapterType.WORMHOLE_DATA);
|
|
55
|
+
const sourceWormholeChainId = getWormholeData(sourceFolksChainId).wormholeChainId;
|
|
56
|
+
const wormholeRelayer = convertFromGenericAddress(getWormholeData(destFolksChainId).wormholeRelayer, ChainType.EVM);
|
|
57
|
+
// Due to ERC20 transfer and additional checks in the Wormhole CCTP Adapter
|
|
58
|
+
const increaseGasLimit = BigInt(150000);
|
|
59
|
+
const gasLimitEstimation = await estimateEvmWormholeDataGasLimit(
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
|
|
61
|
+
destFolksChainProvider, messageBuilderParams, receiverValue, returnGasLimit, sourceWormholeChainId, wormholeRelayer, destAdapterAddress, sourceAdapterAddress, stateOverride);
|
|
62
|
+
return gasLimitEstimation + increaseGasLimit;
|
|
63
|
+
}
|
|
64
|
+
case AdapterType.HUB: {
|
|
65
|
+
return 0n;
|
|
66
|
+
}
|
|
67
|
+
case AdapterType.CCIP_DATA: {
|
|
68
|
+
const sourceCcipChainId = getCcipData(sourceFolksChainId).ccipChainId;
|
|
69
|
+
const ccipRouter = convertFromGenericAddress(getCcipData(destFolksChainId).ccipRouter, ChainType.EVM);
|
|
70
|
+
return await estimateEvmCcipDataGasLimit(
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
|
|
72
|
+
destFolksChainProvider, messageBuilderParams, returnGasLimit, sourceCcipChainId, ccipRouter, destAdapterAddress, sourceAdapterAddress);
|
|
73
|
+
}
|
|
74
|
+
case AdapterType.CCIP_TOKEN: {
|
|
75
|
+
const { sourceAdapterAddress, destAdapterAddress } = getAdaptersAddresses(messageDirection, sourceFolksChainId, destFolksChainId, network, AdapterType.CCIP_DATA);
|
|
76
|
+
const sourceCcipChainId = getCcipData(sourceFolksChainId).ccipChainId;
|
|
77
|
+
const ccipRouter = convertFromGenericAddress(getCcipData(destFolksChainId).ccipRouter, ChainType.EVM);
|
|
78
|
+
// Due to ERC20 transfer and additional checks in the CCIP Token Adapter
|
|
79
|
+
const increaseGasLimit = BigInt(150000);
|
|
80
|
+
const gasLimitEstimation = await estimateEvmCcipDataGasLimit(
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
|
|
82
|
+
destFolksChainProvider, messageBuilderParams, returnGasLimit, sourceCcipChainId, ccipRouter, destAdapterAddress, sourceAdapterAddress);
|
|
83
|
+
return gasLimitEstimation + increaseGasLimit;
|
|
84
|
+
}
|
|
85
|
+
default:
|
|
86
|
+
return exhaustiveCheck(adapterId);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
default:
|
|
90
|
+
return exhaustiveCheck(destFolksChain.chainType);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/common/utils/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAOxD,MAAM,UAAU,kBAAkB,CAChC,SAAoB,EACpB,0BAAgD,EAChD,YAA+B,EAAE;IAEjC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACnB,OAAO,qBAAqB,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;QACD;YACE,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,gBAAkC,EAAE,QAAyB;IACjF,IAAI,gBAAgB,KAAK,gBAAgB,CAAC,UAAU;QAAE,OAAO,QAAQ,CAAC,SAAS,CAAC;IAChF,OAAO,QAAQ,CAAC,eAAe,CAAC;AAClC,CAAC;AAED,SAAS,oBAAoB,CAC3B,gBAAkC,EAClC,kBAAgC,EAChC,gBAA8B,EAC9B,OAAoB,EACpB,SAAsB;IAEtB,IAAI,gBAAgB,KAAK,gBAAgB,CAAC,UAAU;QAClD,OAAO;YACL,oBAAoB,EAAE,2BAA2B,CAAC,kBAAkB,EAAE,OAAO,EAAE,SAAS,CAAC;YACzF,kBAAkB,EAAE,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC;SAClE,CAAC;IACJ,OAAO;QACL,oBAAoB,EAAE,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC;QACnE,kBAAkB,EAAE,2BAA2B,CAAC,gBAAgB,EAAE,OAAO,EAAE,SAAS,CAAC;KACtF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,kBAAgC,EAChC,gBAA8B,EAC9B,sBAAqC,EACrC,OAAoB,EACpB,gBAAkC,EAClC,oBAA0C,EAC1C,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,EACzB,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC;IAE1B,MAAM,cAAc,GAAG,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,YAAY,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,CACvE,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,SAAS,CACV,CAAC;IAEF,QAAQ,cAAc,CAAC,SAAS,EAAE,CAAC;QACjC,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,aAAa,GAAkB,EAAE,CAAC;YACtC,IAAI,oBAAoB,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrD,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,yBAAyB,CACvB,gBAAgB,EAChB,oBAAoB,CAAC,IAAI,CAAC,YAAY,EACtC,oBAAoB,CAAC,SAAS,CAC/B,CACF,CAAC;YACJ,CAAC;YACD,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC/B,MAAM,qBAAqB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;oBAClF,MAAM,eAAe,GAAG,yBAAyB,CAC/C,eAAe,CAAC,gBAAgB,CAAC,CAAC,eAAe,EACjD,SAAS,CAAC,GAAG,CACd,CAAC;oBAEF,OAAO,MAAM,+BAA+B;oBAC1C,gFAAgF;oBAChF,sBAAqC,EACrC,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,CACd,CAAC;gBACJ,CAAC;gBACD,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC/B,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,CACvE,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,WAAW,CAAC,aAAa,CAC1B,CAAC;oBACF,MAAM,qBAAqB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;oBAClF,MAAM,eAAe,GAAG,yBAAyB,CAC/C,eAAe,CAAC,gBAAgB,CAAC,CAAC,eAAe,EACjD,SAAS,CAAC,GAAG,CACd,CAAC;oBAEF,2EAA2E;oBAC3E,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBACxC,MAAM,kBAAkB,GAAG,MAAM,+BAA+B;oBAC9D,gFAAgF;oBAChF,sBAAqC,EACrC,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,CACd,CAAC;oBACF,OAAO,kBAAkB,GAAG,gBAAgB,CAAC;gBAC/C,CAAC;gBACD,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBACrB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC3B,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;oBACtE,MAAM,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;oBACtG,OAAO,MAAM,2BAA2B;oBACtC,gFAAgF;oBAChF,sBAAqC,EACrC,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,CACrB,CAAC;gBACJ,CAAC;gBACD,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC5B,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,CACvE,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,WAAW,CAAC,SAAS,CACtB,CAAC;oBACF,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;oBACtE,MAAM,UAAU,GAAG,yBAAyB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;oBAEtG,wEAAwE;oBACxE,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBACxC,MAAM,kBAAkB,GAAG,MAAM,2BAA2B;oBAC1D,gFAAgF;oBAChF,sBAAqC,EACrC,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,CACrB,CAAC;oBACF,OAAO,kBAAkB,GAAG,gBAAgB,CAAC;gBAC/C,CAAC;gBACD;oBACE,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD;YACE,OAAO,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/common/utils/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,MAAM,UAAU,aAAa,CAAC,YAA0B;IACtD,OAAO,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { FolksCore } from "./xchain/core/folks-core.js";
|
|
2
|
+
export { FolksAccount, FolksLoan, FolksOracle, FolksPool } from "./xchain/modules/index.js";
|
|
3
|
+
export * from "./common/types/adapter.js";
|
|
4
|
+
export * from "./common/types/address.js";
|
|
5
|
+
export * from "./common/types/chain.js";
|
|
6
|
+
export * from "./common/types/core.js";
|
|
7
|
+
export * from "./common/types/gmp.js";
|
|
8
|
+
export * from "./common/types/lending.js";
|
|
9
|
+
export * from "./common/types/message.js";
|
|
10
|
+
export * from "./common/types/module.js";
|
|
11
|
+
export * from "./common/types/token.js";
|
|
12
|
+
export * from "./common/constants/bytes.js";
|
|
13
|
+
export * from "./common/constants/chain.js";
|
|
14
|
+
export * from "./common/constants/gmp.js";
|
|
15
|
+
export * from "./common/constants/message.js";
|
|
16
|
+
export { getSupportedMessageAdapters } from "./common/utils/adapter.js";
|
|
17
|
+
export { convertFromGenericAddress, convertToGenericAddress } from "./common/utils/address.js";
|
|
18
|
+
export { generateLoanId } from "./common/utils/bytes.js";
|
|
19
|
+
export { getAdapterAddress } from "./common/utils/chain.js";
|
|
20
|
+
export { getCcipData, getWormholeData } from "./common/utils/gmp.js";
|
|
21
|
+
export { isHubChain } from "./chains/evm/hub/utils/chain.js";
|
|
22
|
+
export * from "./chains/evm/common/constants/chain.js";
|
|
23
|
+
export * from "./chains/evm/common/types/chain.js";
|
|
24
|
+
export { isEvmChainId } from "./chains/evm/common/utils/chain.js";
|
|
25
|
+
export * from "./chains/evm/hub/types/account.js";
|
|
26
|
+
export * from "./chains/evm/hub/types/chain.js";
|
|
27
|
+
export * from "./chains/evm/hub/types/loan.js";
|
|
28
|
+
export * from "./chains/evm/hub/types/oracle.js";
|
|
29
|
+
export * from "./chains/evm/hub/types/pool.js";
|
|
30
|
+
export * from "./chains/evm/hub/types/token.js";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// === CORE ===
|
|
2
|
+
export { FolksCore } from "./xchain/core/folks-core.js";
|
|
3
|
+
// === MODULES ===
|
|
4
|
+
export { FolksAccount, FolksLoan, FolksOracle, FolksPool } from "./xchain/modules/index.js";
|
|
5
|
+
// === COMMON ===
|
|
6
|
+
export * from "./common/types/adapter.js";
|
|
7
|
+
export * from "./common/types/address.js";
|
|
8
|
+
export * from "./common/types/chain.js";
|
|
9
|
+
export * from "./common/types/core.js";
|
|
10
|
+
export * from "./common/types/gmp.js";
|
|
11
|
+
export * from "./common/types/lending.js";
|
|
12
|
+
export * from "./common/types/message.js";
|
|
13
|
+
export * from "./common/types/module.js";
|
|
14
|
+
export * from "./common/types/token.js";
|
|
15
|
+
export * from "./common/constants/bytes.js";
|
|
16
|
+
export * from "./common/constants/chain.js";
|
|
17
|
+
export * from "./common/constants/gmp.js";
|
|
18
|
+
export * from "./common/constants/message.js";
|
|
19
|
+
export { getSupportedMessageAdapters } from "./common/utils/adapter.js";
|
|
20
|
+
export { convertFromGenericAddress, convertToGenericAddress } from "./common/utils/address.js";
|
|
21
|
+
export { generateLoanId } from "./common/utils/bytes.js";
|
|
22
|
+
export { getAdapterAddress } from "./common/utils/chain.js";
|
|
23
|
+
export { getCcipData, getWormholeData } from "./common/utils/gmp.js";
|
|
24
|
+
// === HUB ===
|
|
25
|
+
export { isHubChain } from "./chains/evm/hub/utils/chain.js";
|
|
26
|
+
// === CHAINS ===
|
|
27
|
+
// - EVM
|
|
28
|
+
export * from "./chains/evm/common/constants/chain.js";
|
|
29
|
+
export * from "./chains/evm/common/types/chain.js";
|
|
30
|
+
export { isEvmChainId } from "./chains/evm/common/utils/chain.js";
|
|
31
|
+
// - EVM: HUB
|
|
32
|
+
export * from "./chains/evm/hub/types/account.js";
|
|
33
|
+
export * from "./chains/evm/hub/types/chain.js";
|
|
34
|
+
export * from "./chains/evm/hub/types/loan.js";
|
|
35
|
+
export * from "./chains/evm/hub/types/oracle.js";
|
|
36
|
+
export * from "./chains/evm/hub/types/pool.js";
|
|
37
|
+
export * from "./chains/evm/hub/types/token.js";
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE5F,iBAAiB;AACjB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAErE,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,iBAAiB;AAEjB,QAAQ;AACR,cAAc,wCAAwC,CAAC;AAEvD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,aAAa;AACb,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const exhaustiveCheck: (value: never) => never;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exhaustive-check.js","sourceRoot":"","sources":["../../src/utils/exhaustive-check.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAAS,EAAE;IACrD,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC7G,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChainType } from "../../common/types/chain.js";
|
|
2
|
+
import type { FolksChainId, FolksChain, NetworkType } from "../../common/types/chain.js";
|
|
3
|
+
import type { FolksSigner, FolksCoreConfig, FolksProviderType, FolksSignerType, FolksProvider } from "../../common/types/core.js";
|
|
4
|
+
import type { Client as EVMProvider } from "viem";
|
|
5
|
+
export declare class FolksCore {
|
|
6
|
+
private static instance;
|
|
7
|
+
private folksCoreProvider;
|
|
8
|
+
private selectedNetwork;
|
|
9
|
+
private folksSigner?;
|
|
10
|
+
private constructor();
|
|
11
|
+
static init(folksCoreConfig: FolksCoreConfig): FolksCore;
|
|
12
|
+
static isInitialized(): boolean;
|
|
13
|
+
static getInstance(): FolksCore;
|
|
14
|
+
static getProvider<T extends ChainType>(folksChainId: FolksChainId): FolksProviderType<T>;
|
|
15
|
+
static getFolksSigner(): FolksSigner;
|
|
16
|
+
static getSigner<T extends ChainType>(): FolksSignerType<T>;
|
|
17
|
+
static getSelectedFolksChain(): FolksChain;
|
|
18
|
+
static getSelectedNetwork(): NetworkType;
|
|
19
|
+
static getHubProvider(): EVMProvider;
|
|
20
|
+
static setProvider(folksChainId: FolksChainId, provider: FolksProvider): undefined;
|
|
21
|
+
static setNetwork(network: NetworkType): void;
|
|
22
|
+
static setFolksSigner(folksSigner: FolksSigner): undefined;
|
|
23
|
+
static getEVMProvider(folksChainId: FolksChainId): EVMProvider;
|
|
24
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { initProviders } from "../../chains/evm/common/utils/provider.js";
|
|
2
|
+
import { getHubChain } from "../../chains/evm/hub/utils/chain.js";
|
|
3
|
+
import { ChainType } from "../../common/types/chain.js";
|
|
4
|
+
import { getFolksChain } from "../../common/utils/chain.js";
|
|
5
|
+
import { exhaustiveCheck } from "../../utils/exhaustive-check.js";
|
|
6
|
+
export class FolksCore {
|
|
7
|
+
static instance;
|
|
8
|
+
folksCoreProvider;
|
|
9
|
+
selectedNetwork;
|
|
10
|
+
folksSigner;
|
|
11
|
+
constructor(folksCoreConfig) {
|
|
12
|
+
this.selectedNetwork = folksCoreConfig.network;
|
|
13
|
+
this.folksCoreProvider = { evm: {} };
|
|
14
|
+
this.folksCoreProvider.evm = initProviders(folksCoreConfig.provider.evm);
|
|
15
|
+
}
|
|
16
|
+
static init(folksCoreConfig) {
|
|
17
|
+
if (FolksCore.instance)
|
|
18
|
+
throw new Error("FolksCore is already initialized");
|
|
19
|
+
FolksCore.instance = new FolksCore(folksCoreConfig);
|
|
20
|
+
return FolksCore.instance;
|
|
21
|
+
}
|
|
22
|
+
static isInitialized() {
|
|
23
|
+
return !!FolksCore.instance;
|
|
24
|
+
}
|
|
25
|
+
static getInstance() {
|
|
26
|
+
if (FolksCore.instance)
|
|
27
|
+
return FolksCore.instance;
|
|
28
|
+
throw new Error("FolksCore is not initialized");
|
|
29
|
+
}
|
|
30
|
+
static getProvider(folksChainId) {
|
|
31
|
+
const folksChain = getFolksChain(folksChainId, this.getSelectedNetwork());
|
|
32
|
+
switch (folksChain.chainType) {
|
|
33
|
+
case ChainType.EVM:
|
|
34
|
+
return FolksCore.getEVMProvider(folksChainId);
|
|
35
|
+
default:
|
|
36
|
+
return exhaustiveCheck(folksChain.chainType);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
static getFolksSigner() {
|
|
40
|
+
const instance = this.getInstance();
|
|
41
|
+
if (!instance.folksSigner)
|
|
42
|
+
throw new Error("FolksSigner is not initialized");
|
|
43
|
+
return instance.folksSigner;
|
|
44
|
+
}
|
|
45
|
+
static getSigner() {
|
|
46
|
+
const { signer } = this.getFolksSigner();
|
|
47
|
+
return signer;
|
|
48
|
+
}
|
|
49
|
+
static getSelectedFolksChain() {
|
|
50
|
+
const { folksChainId } = this.getFolksSigner();
|
|
51
|
+
return getFolksChain(folksChainId, this.getSelectedNetwork());
|
|
52
|
+
}
|
|
53
|
+
static getSelectedNetwork() {
|
|
54
|
+
const instance = this.getInstance();
|
|
55
|
+
return instance.selectedNetwork;
|
|
56
|
+
}
|
|
57
|
+
static getHubProvider() {
|
|
58
|
+
const instance = this.getInstance();
|
|
59
|
+
const hubFolksChainId = getHubChain(instance.selectedNetwork).folksChainId;
|
|
60
|
+
const hubProvider = instance.folksCoreProvider.evm[hubFolksChainId];
|
|
61
|
+
if (!hubProvider)
|
|
62
|
+
throw new Error(`Hub Provider has not been initialized`);
|
|
63
|
+
return hubProvider;
|
|
64
|
+
}
|
|
65
|
+
static setProvider(folksChainId, provider) {
|
|
66
|
+
const instance = this.getInstance();
|
|
67
|
+
const folksChain = getFolksChain(folksChainId, this.getSelectedNetwork());
|
|
68
|
+
switch (folksChain.chainType) {
|
|
69
|
+
case ChainType.EVM:
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style -- in the future FolksProvider will contain more than just EVMProvider
|
|
71
|
+
instance.folksCoreProvider.evm[folksChainId] = provider;
|
|
72
|
+
break;
|
|
73
|
+
default:
|
|
74
|
+
return exhaustiveCheck(folksChain.chainType);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
static setNetwork(network) {
|
|
78
|
+
const instance = this.getInstance();
|
|
79
|
+
instance.selectedNetwork = network;
|
|
80
|
+
}
|
|
81
|
+
static setFolksSigner(folksSigner) {
|
|
82
|
+
const instance = this.getInstance();
|
|
83
|
+
const folksChain = getFolksChain(folksSigner.folksChainId, this.getSelectedNetwork());
|
|
84
|
+
switch (folksChain.chainType) {
|
|
85
|
+
case ChainType.EVM:
|
|
86
|
+
instance.folksSigner = folksSigner;
|
|
87
|
+
break;
|
|
88
|
+
default:
|
|
89
|
+
return exhaustiveCheck(folksChain.chainType);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
static getEVMProvider(folksChainId) {
|
|
93
|
+
const instance = this.getInstance();
|
|
94
|
+
const evmProvider = instance.folksCoreProvider.evm[folksChainId];
|
|
95
|
+
if (!evmProvider)
|
|
96
|
+
throw new Error(`EVM Provider not found for folksChainId: ${folksChainId}`);
|
|
97
|
+
return evmProvider;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=folks-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folks-core.js","sourceRoot":"","sources":["../../../src/xchain/core/folks-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AccountIdByAddress, AccountInfo } from "../../chains/evm/hub/types/account.js";
|
|
2
|
+
import type { GenericAddress } from "../../common/types/address.js";
|
|
3
|
+
import type { FolksChainId } from "../../common/types/chain.js";
|
|
4
|
+
import type { AccountId } from "../../common/types/lending.js";
|
|
5
|
+
import type { MessageAdapters } from "../../common/types/message.js";
|
|
6
|
+
import type { PrepareAcceptInviteAddressCall, PrepareCreateAccountCall, PrepareInviteAddressCall, PrepareUnregisterAddressCall } from "../../common/types/module.js";
|
|
7
|
+
export declare const prepare: {
|
|
8
|
+
createAccount(accountId: AccountId, adapters: MessageAdapters, refAccountId?: AccountId): Promise<import("../../chains/evm/common/types/module.js").PrepareCreateAccountCall>;
|
|
9
|
+
inviteAddress(accountId: AccountId, folksChainIdToInvite: FolksChainId, addressToInvite: GenericAddress, adapters: MessageAdapters, refAccountId?: AccountId): Promise<import("../../chains/evm/common/types/module.js").PrepareInviteAddressCall>;
|
|
10
|
+
acceptInvite(accountId: AccountId, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareAcceptInviteAddressCall>;
|
|
11
|
+
unregisterAddress(accountId: AccountId, folksChainIdToUnregister: FolksChainId, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareUnregisterAddressCall>;
|
|
12
|
+
};
|
|
13
|
+
export declare const write: {
|
|
14
|
+
createAccount(accountId: AccountId, prepareCall: PrepareCreateAccountCall, refAccountId?: AccountId): Promise<`0x${string}`>;
|
|
15
|
+
inviteAddress(accountId: AccountId, folksChainIdToInvite: FolksChainId, addressToInvite: GenericAddress, prepareCall: PrepareInviteAddressCall, refAccountId?: AccountId): Promise<`0x${string}`>;
|
|
16
|
+
acceptInvite(accountId: AccountId, prepareCall: PrepareAcceptInviteAddressCall): Promise<`0x${string}`>;
|
|
17
|
+
unregisterAddress(accountId: AccountId, folksChainIdToUnregister: FolksChainId, prepareCall: PrepareUnregisterAddressCall): Promise<`0x${string}`>;
|
|
18
|
+
};
|
|
19
|
+
export declare const read: {
|
|
20
|
+
accountInfo(accountId: AccountId, folksChainIds?: Array<FolksChainId>): Promise<AccountInfo>;
|
|
21
|
+
accountIdByAddress(address: GenericAddress): Promise<AccountIdByAddress>;
|
|
22
|
+
accountIdByAddressOnChain(address: GenericAddress, folksChainId: FolksChainId): Promise<AccountId | null>;
|
|
23
|
+
invitationByAddress(address: GenericAddress, folksChainId?: FolksChainId): Promise<{
|
|
24
|
+
address: GenericAddress;
|
|
25
|
+
invitations: {
|
|
26
|
+
accountId: AccountId;
|
|
27
|
+
folksChainId: FolksChainId;
|
|
28
|
+
}[];
|
|
29
|
+
}>;
|
|
30
|
+
};
|