@allbridge/bridge-core-sdk 3.20.0-alpha.3 → 3.21.0-alpha.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/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +4 -4
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +4 -4
- package/dist/src/chains/chain.enums.d.ts +7 -2
- package/dist/src/chains/chain.enums.js +5 -0
- package/dist/src/chains/chain.enums.js.map +1 -1
- package/dist/src/chains/index.js +6 -0
- package/dist/src/chains/index.js.map +1 -1
- package/dist/src/client/core-api/api-client.js.map +1 -1
- package/dist/src/client/core-api/core-api-mapper.js +1 -0
- package/dist/src/client/core-api/core-api-mapper.js.map +1 -1
- package/dist/src/client/core-api/core-api.model.d.ts +2 -1
- package/dist/src/client/core-api/core-api.model.js.map +1 -1
- package/dist/src/client/core-api/core-client-filtered.js.map +1 -1
- package/dist/src/client/core-api/core-client-pool-info-caching.js.map +1 -1
- package/dist/src/configs/mainnet.js +2 -1
- package/dist/src/configs/mainnet.js.map +1 -1
- package/dist/src/exceptions/exceptions.js.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/index.d.ts +1 -1
- package/dist/src/models/index.js.map +1 -1
- package/dist/src/services/bridge/evm/index.js +4 -57
- package/dist/src/services/bridge/evm/index.js.map +1 -1
- package/dist/src/services/bridge/get-cctp-sol-token-recipient-address.d.ts +5 -0
- package/dist/src/services/bridge/get-cctp-sol-token-recipient-address.js +66 -0
- package/dist/src/services/bridge/get-cctp-sol-token-recipient-address.js.map +1 -0
- package/dist/src/services/bridge/index.js +4 -0
- package/dist/src/services/bridge/index.js.map +1 -1
- package/dist/src/services/bridge/models/bridge.model.d.ts +4 -2
- package/dist/src/services/bridge/models/bridge.model.js.map +1 -1
- package/dist/src/services/bridge/raw-bridge-transaction-builder.js.map +1 -1
- package/dist/src/services/bridge/sol/index.js.map +1 -1
- package/dist/src/services/bridge/sol/jupiter.js.map +1 -1
- package/dist/src/services/bridge/srb/index.js.map +1 -1
- package/dist/src/services/bridge/sui/index.d.ts +20 -0
- package/dist/src/services/bridge/sui/index.js +238 -0
- package/dist/src/services/bridge/sui/index.js.map +1 -0
- package/dist/src/services/bridge/trx/index.js.map +1 -1
- package/dist/src/services/bridge/utils.d.ts +5 -4
- package/dist/src/services/bridge/utils.js +41 -4
- package/dist/src/services/bridge/utils.js.map +1 -1
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/evm/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/index.js +4 -0
- package/dist/src/services/liquidity-pool/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/raw-pool-transaction-builder.js.map +1 -1
- package/dist/src/services/liquidity-pool/sol/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/srb/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/sui/index.d.ts +19 -0
- package/dist/src/services/liquidity-pool/sui/index.js +216 -0
- package/dist/src/services/liquidity-pool/sui/index.js.map +1 -0
- package/dist/src/services/liquidity-pool/trx/index.js.map +1 -1
- package/dist/src/services/models/index.d.ts +1 -0
- package/dist/src/services/models/index.js.map +1 -1
- package/dist/src/services/models/srb/bridge-contract.js.map +1 -1
- package/dist/src/services/models/srb/gas-oracle-contract.js.map +1 -1
- package/dist/src/services/models/srb/messenger-contract.js.map +1 -1
- package/dist/src/services/models/srb/pool-contract.js.map +1 -1
- package/dist/src/services/models/srb/token-contract.js.map +1 -1
- package/dist/src/services/models/sui/_dependencies/source/0x1/ascii/structs.d.ts +91 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/ascii/structs.js +292 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/ascii/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/bit-vector/structs.d.ts +55 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/bit-vector/structs.js +172 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/bit-vector/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/fixed-point32/structs.d.ts +45 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/fixed-point32/structs.js +141 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/fixed-point32/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/index.d.ts +3 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/index.js +8 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/index.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/init.d.ts +2 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/init.js +47 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/init.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/option/structs.d.ts +51 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/option/structs.js +178 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/option/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/string/structs.d.ts +49 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/string/structs.js +165 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/string/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/type-name/structs.d.ts +52 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/type-name/structs.js +142 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/type-name/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/uq32-32/structs.d.ts +45 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/uq32-32/structs.js +141 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/uq32-32/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/uq64-64/structs.d.ts +45 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/uq64-64/structs.js +141 -0
- package/dist/src/services/models/sui/_dependencies/source/0x1/uq64-64/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/burn-message/structs.d.ts +69 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/burn-message/structs.js +178 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/burn-message/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/deposit-for-burn/structs.d.ts +186 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/deposit-for-burn/structs.js +381 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/deposit-for-burn/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/handle-receive-message/structs.d.ts +142 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/handle-receive-message/structs.js +151 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/handle-receive-message/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/index.d.ts +3 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/index.js +8 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/index.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/init.d.ts +2 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/init.js +41 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/init.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/message-transmitter-authenticator/structs.d.ts +45 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/message-transmitter-authenticator/structs.js +141 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/message-transmitter-authenticator/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/state/structs.d.ts +190 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/state/structs.js +218 -0
- package/dist/src/services/models/sui/_dependencies/source/0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb/state/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/index.d.ts +3 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/index.js +8 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/index.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/init.d.ts +2 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/init.js +37 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/init.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/mint-allowance/structs.d.ts +45 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/mint-allowance/structs.js +154 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/mint-allowance/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/treasury/structs.d.ts +270 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/treasury/structs.js +623 -0
- package/dist/src/services/models/sui/_dependencies/source/0x346e3233f61eb0055713417bfaddda7dc3bf26816faad1f7606994a368b92917/treasury/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/index.d.ts +3 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/index.js +8 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/index.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/init.d.ts +2 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/init.js +38 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/init.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/message/structs.d.ts +91 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/message/structs.js +223 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/message/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/receive-message/structs.d.ts +275 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/receive-message/structs.js +500 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/receive-message/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/state/structs.d.ts +151 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/state/structs.js +234 -0
- package/dist/src/services/models/sui/_dependencies/source/0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5/state/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes20/structs.d.ts +49 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes20/structs.js +165 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes20/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32/structs.d.ts +49 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32/structs.js +165 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed-vaas/structs.d.ts +76 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed-vaas/structs.js +167 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed-vaas/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/cursor/structs.d.ts +50 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/cursor/structs.js +177 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/cursor/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/emitter/structs.d.ts +106 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/emitter/structs.js +280 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/emitter/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external-address/structs.d.ts +56 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external-address/structs.js +142 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external-address/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/fee-collector/structs.d.ts +62 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/fee-collector/structs.js +174 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/fee-collector/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/guardian/structs.d.ts +56 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/guardian/structs.js +142 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/guardian/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/guardian-set/structs.d.ts +80 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/guardian-set/structs.js +180 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/guardian-set/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/index.d.ts +3 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/index.js +8 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/index.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/init.d.ts +2 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/init.js +59 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/init.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/publish-message/structs.d.ts +150 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/publish-message/structs.js +353 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/publish-message/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set/structs.d.ts +109 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set/structs.js +308 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/state/structs.d.ts +235 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/state/structs.js +228 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/state/structs.js.map +1 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/vaa/structs.d.ts +127 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/vaa/structs.js +223 -0
- package/dist/src/services/models/sui/_dependencies/source/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/vaa/structs.js.map +1 -0
- package/dist/src/services/models/sui/_framework/init-loader.d.ts +2 -0
- package/dist/src/services/models/sui/_framework/init-loader.js +57 -0
- package/dist/src/services/models/sui/_framework/init-loader.js.map +1 -0
- package/dist/src/services/models/sui/_framework/loader.d.ts +17 -0
- package/dist/src/services/models/sui/_framework/loader.js +56 -0
- package/dist/src/services/models/sui/_framework/loader.js.map +1 -0
- package/dist/src/services/models/sui/_framework/reified.d.ts +108 -0
- package/dist/src/services/models/sui/_framework/reified.js +239 -0
- package/dist/src/services/models/sui/_framework/reified.js.map +1 -0
- package/dist/src/services/models/sui/_framework/util.d.ts +86 -0
- package/dist/src/services/models/sui/_framework/util.js +333 -0
- package/dist/src/services/models/sui/_framework/util.js.map +1 -0
- package/dist/src/services/models/sui/_framework/vector.d.ts +35 -0
- package/dist/src/services/models/sui/_framework/vector.js +82 -0
- package/dist/src/services/models/sui/_framework/vector.js.map +1 -0
- package/dist/src/services/models/sui/bridge/another-bridge/functions.d.ts +30 -0
- package/dist/src/services/models/sui/bridge/another-bridge/functions.js +69 -0
- package/dist/src/services/models/sui/bridge/another-bridge/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/another-bridge/structs.d.ts +98 -0
- package/dist/src/services/models/sui/bridge/another-bridge/structs.js +181 -0
- package/dist/src/services/models/sui/bridge/another-bridge/structs.js.map +1 -0
- package/dist/src/services/models/sui/bridge/bridge/functions.d.ts +153 -0
- package/dist/src/services/models/sui/bridge/bridge/functions.js +284 -0
- package/dist/src/services/models/sui/bridge/bridge/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/bridge/structs.d.ts +383 -0
- package/dist/src/services/models/sui/bridge/bridge/structs.js +624 -0
- package/dist/src/services/models/sui/bridge/bridge/structs.js.map +1 -0
- package/dist/src/services/models/sui/bridge/bridge-interface/functions.d.ts +257 -0
- package/dist/src/services/models/sui/bridge/bridge-interface/functions.js +486 -0
- package/dist/src/services/models/sui/bridge/bridge-interface/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/events/functions.d.ts +58 -0
- package/dist/src/services/models/sui/bridge/events/functions.js +103 -0
- package/dist/src/services/models/sui/bridge/events/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/events/structs.d.ts +652 -0
- package/dist/src/services/models/sui/bridge/events/structs.js +1430 -0
- package/dist/src/services/models/sui/bridge/events/structs.js.map +1 -0
- package/dist/src/services/models/sui/bridge/index.d.ts +14 -0
- package/dist/src/services/models/sui/bridge/index.js +34 -0
- package/dist/src/services/models/sui/bridge/index.js.map +1 -0
- package/dist/src/services/models/sui/bridge/init.d.ts +2 -0
- package/dist/src/services/models/sui/bridge/init.js +57 -0
- package/dist/src/services/models/sui/bridge/init.js.map +1 -0
- package/dist/src/services/models/sui/bridge/pool/functions.d.ts +86 -0
- package/dist/src/services/models/sui/bridge/pool/functions.js +215 -0
- package/dist/src/services/models/sui/bridge/pool/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/pool/structs.d.ts +271 -0
- package/dist/src/services/models/sui/bridge/pool/structs.js +467 -0
- package/dist/src/services/models/sui/bridge/pool/structs.js.map +1 -0
- package/dist/src/services/models/sui/bridge/pool-rewards/functions.d.ts +37 -0
- package/dist/src/services/models/sui/bridge/pool-rewards/functions.js +86 -0
- package/dist/src/services/models/sui/bridge/pool-rewards/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/pool-rewards/structs.d.ts +86 -0
- package/dist/src/services/models/sui/bridge/pool-rewards/structs.js +181 -0
- package/dist/src/services/models/sui/bridge/pool-rewards/structs.js.map +1 -0
- package/dist/src/services/models/sui/bridge/pool-state/functions.d.ts +59 -0
- package/dist/src/services/models/sui/bridge/pool-state/functions.js +171 -0
- package/dist/src/services/models/sui/bridge/pool-state/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/pool-state/structs.d.ts +69 -0
- package/dist/src/services/models/sui/bridge/pool-state/structs.js +180 -0
- package/dist/src/services/models/sui/bridge/pool-state/structs.js.map +1 -0
- package/dist/src/services/models/sui/bridge/user-deposit/functions.d.ts +22 -0
- package/dist/src/services/models/sui/bridge/user-deposit/functions.js +62 -0
- package/dist/src/services/models/sui/bridge/user-deposit/functions.js.map +1 -0
- package/dist/src/services/models/sui/bridge/user-deposit/structs.d.ts +66 -0
- package/dist/src/services/models/sui/bridge/user-deposit/structs.js +167 -0
- package/dist/src/services/models/sui/bridge/user-deposit/structs.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge/functions.d.ts +102 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge/functions.js +178 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge/functions.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge/structs.d.ts +281 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge/structs.js +472 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge/structs.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge-interface/functions.d.ts +103 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge-interface/functions.js +160 -0
- package/dist/src/services/models/sui/cctp-bridge/cctp-bridge-interface/functions.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/events/functions.d.ts +30 -0
- package/dist/src/services/models/sui/cctp-bridge/events/functions.js +54 -0
- package/dist/src/services/models/sui/cctp-bridge/events/functions.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/events/structs.d.ts +310 -0
- package/dist/src/services/models/sui/cctp-bridge/events/structs.js +656 -0
- package/dist/src/services/models/sui/cctp-bridge/events/structs.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/index.d.ts +14 -0
- package/dist/src/services/models/sui/cctp-bridge/index.js +34 -0
- package/dist/src/services/models/sui/cctp-bridge/index.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/init.d.ts +2 -0
- package/dist/src/services/models/sui/cctp-bridge/init.js +41 -0
- package/dist/src/services/models/sui/cctp-bridge/init.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/message-transmitter-authenticator/functions.d.ts +2 -0
- package/dist/src/services/models/sui/cctp-bridge/message-transmitter-authenticator/functions.js +12 -0
- package/dist/src/services/models/sui/cctp-bridge/message-transmitter-authenticator/functions.js.map +1 -0
- package/dist/src/services/models/sui/cctp-bridge/message-transmitter-authenticator/structs.d.ts +45 -0
- package/dist/src/services/models/sui/cctp-bridge/message-transmitter-authenticator/structs.js +141 -0
- package/dist/src/services/models/sui/cctp-bridge/message-transmitter-authenticator/structs.js.map +1 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle/functions.d.ts +61 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle/functions.js +128 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle/functions.js.map +1 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle/structs.d.ts +180 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle/structs.js +443 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle/structs.js.map +1 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle-interface/functions.d.ts +69 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle-interface/functions.js +118 -0
- package/dist/src/services/models/sui/gas-oracle/gas-oracle-interface/functions.js.map +1 -0
- package/dist/src/services/models/sui/gas-oracle/index.d.ts +14 -0
- package/dist/src/services/models/sui/gas-oracle/index.js +34 -0
- package/dist/src/services/models/sui/gas-oracle/index.js.map +1 -0
- package/dist/src/services/models/sui/gas-oracle/init.d.ts +2 -0
- package/dist/src/services/models/sui/gas-oracle/init.js +34 -0
- package/dist/src/services/models/sui/gas-oracle/init.js.map +1 -0
- package/dist/src/services/models/sui/messenger/events/functions.d.ts +3 -0
- package/dist/src/services/models/sui/messenger/events/functions.js +20 -0
- package/dist/src/services/models/sui/messenger/events/functions.js.map +1 -0
- package/dist/src/services/models/sui/messenger/events/structs.d.ts +100 -0
- package/dist/src/services/models/sui/messenger/events/structs.js +273 -0
- package/dist/src/services/models/sui/messenger/events/structs.js.map +1 -0
- package/dist/src/services/models/sui/messenger/index.d.ts +14 -0
- package/dist/src/services/models/sui/messenger/index.js +34 -0
- package/dist/src/services/models/sui/messenger/index.js.map +1 -0
- package/dist/src/services/models/sui/messenger/init.d.ts +2 -0
- package/dist/src/services/models/sui/messenger/init.js +36 -0
- package/dist/src/services/models/sui/messenger/init.js.map +1 -0
- package/dist/src/services/models/sui/messenger/messenger/functions.d.ts +66 -0
- package/dist/src/services/models/sui/messenger/messenger/functions.js +143 -0
- package/dist/src/services/models/sui/messenger/messenger/functions.js.map +1 -0
- package/dist/src/services/models/sui/messenger/messenger/structs.d.ts +269 -0
- package/dist/src/services/models/sui/messenger/messenger/structs.js +351 -0
- package/dist/src/services/models/sui/messenger/messenger/structs.js.map +1 -0
- package/dist/src/services/models/sui/messenger/messenger-interface/functions.d.ts +81 -0
- package/dist/src/services/models/sui/messenger/messenger-interface/functions.js +127 -0
- package/dist/src/services/models/sui/messenger/messenger-interface/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/address/functions.d.ts +11 -0
- package/dist/src/services/models/sui/sui/address/functions.js +76 -0
- package/dist/src/services/models/sui/sui/address/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/authenticator-state/functions.d.ts +42 -0
- package/dist/src/services/models/sui/sui/authenticator-state/functions.js +99 -0
- package/dist/src/services/models/sui/sui/authenticator-state/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/authenticator-state/structs.d.ts +463 -0
- package/dist/src/services/models/sui/sui/authenticator-state/structs.js +747 -0
- package/dist/src/services/models/sui/sui/authenticator-state/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/bag/functions.d.ts +37 -0
- package/dist/src/services/models/sui/sui/bag/functions.js +79 -0
- package/dist/src/services/models/sui/sui/bag/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/bag/structs.d.ts +60 -0
- package/dist/src/services/models/sui/sui/bag/structs.js +149 -0
- package/dist/src/services/models/sui/sui/bag/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/balance/functions.d.ts +31 -0
- package/dist/src/services/models/sui/sui/balance/functions.js +110 -0
- package/dist/src/services/models/sui/sui/balance/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/balance/structs.d.ts +87 -0
- package/dist/src/services/models/sui/sui/balance/structs.js +294 -0
- package/dist/src/services/models/sui/sui/balance/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/bcs/functions.d.ts +31 -0
- package/dist/src/services/models/sui/sui/bcs/functions.js +210 -0
- package/dist/src/services/models/sui/sui/bcs/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/bcs/structs.d.ts +49 -0
- package/dist/src/services/models/sui/sui/bcs/structs.js +165 -0
- package/dist/src/services/models/sui/sui/bcs/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/bls12381/functions.d.ts +130 -0
- package/dist/src/services/models/sui/sui/bls12381/functions.js +323 -0
- package/dist/src/services/models/sui/sui/bls12381/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/bls12381/structs.d.ts +213 -0
- package/dist/src/services/models/sui/sui/bls12381/structs.js +665 -0
- package/dist/src/services/models/sui/sui/bls12381/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/borrow/functions.d.ts +11 -0
- package/dist/src/services/models/sui/sui/borrow/functions.js +38 -0
- package/dist/src/services/models/sui/sui/borrow/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/borrow/structs.d.ts +116 -0
- package/dist/src/services/models/sui/sui/borrow/structs.js +306 -0
- package/dist/src/services/models/sui/sui/borrow/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/clock/functions.d.ts +8 -0
- package/dist/src/services/models/sui/sui/clock/functions.js +27 -0
- package/dist/src/services/models/sui/sui/clock/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/clock/structs.d.ts +60 -0
- package/dist/src/services/models/sui/sui/clock/structs.js +149 -0
- package/dist/src/services/models/sui/sui/clock/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/coin/functions.d.ts +174 -0
- package/dist/src/services/models/sui/sui/coin/functions.js +391 -0
- package/dist/src/services/models/sui/sui/coin/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/coin/structs.d.ts +467 -0
- package/dist/src/services/models/sui/sui/coin/structs.js +1084 -0
- package/dist/src/services/models/sui/sui/coin/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/config/functions.d.ts +54 -0
- package/dist/src/services/models/sui/sui/config/functions.js +108 -0
- package/dist/src/services/models/sui/sui/config/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/config/structs.d.ts +198 -0
- package/dist/src/services/models/sui/sui/config/structs.js +454 -0
- package/dist/src/services/models/sui/sui/config/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/deny-list/functions.d.ts +124 -0
- package/dist/src/services/models/sui/sui/deny-list/functions.js +188 -0
- package/dist/src/services/models/sui/sui/deny-list/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/deny-list/structs.d.ts +429 -0
- package/dist/src/services/models/sui/sui/deny-list/structs.js +993 -0
- package/dist/src/services/models/sui/sui/deny-list/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/display/functions.d.ts +43 -0
- package/dist/src/services/models/sui/sui/display/functions.js +131 -0
- package/dist/src/services/models/sui/sui/display/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/display/structs.d.ts +256 -0
- package/dist/src/services/models/sui/sui/display/structs.js +471 -0
- package/dist/src/services/models/sui/sui/display/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/dynamic-field/functions.d.ts +83 -0
- package/dist/src/services/models/sui/sui/dynamic-field/functions.js +137 -0
- package/dist/src/services/models/sui/sui/dynamic-field/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/dynamic-field/structs.d.ts +67 -0
- package/dist/src/services/models/sui/sui/dynamic-field/structs.js +169 -0
- package/dist/src/services/models/sui/sui/dynamic-field/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/dynamic-object-field/functions.d.ts +64 -0
- package/dist/src/services/models/sui/sui/dynamic-object-field/functions.js +110 -0
- package/dist/src/services/models/sui/sui/dynamic-object-field/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/dynamic-object-field/structs.d.ts +46 -0
- package/dist/src/services/models/sui/sui/dynamic-object-field/structs.js +153 -0
- package/dist/src/services/models/sui/sui/dynamic-object-field/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/ecdsa-k1/functions.d.ts +15 -0
- package/dist/src/services/models/sui/sui/ecdsa-k1/functions.js +32 -0
- package/dist/src/services/models/sui/sui/ecdsa-k1/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/ecdsa-r1/functions.d.ts +14 -0
- package/dist/src/services/models/sui/sui/ecdsa-r1/functions.js +25 -0
- package/dist/src/services/models/sui/sui/ecdsa-r1/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/ecvrf/functions.d.ts +8 -0
- package/dist/src/services/models/sui/sui/ecvrf/functions.js +18 -0
- package/dist/src/services/models/sui/sui/ecvrf/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/ed25519/functions.d.ts +7 -0
- package/dist/src/services/models/sui/sui/ed25519/functions.js +17 -0
- package/dist/src/services/models/sui/sui/ed25519/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/event/functions.d.ts +3 -0
- package/dist/src/services/models/sui/sui/event/functions.js +14 -0
- package/dist/src/services/models/sui/sui/event/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/groth16/functions.d.ts +40 -0
- package/dist/src/services/models/sui/sui/groth16/functions.js +94 -0
- package/dist/src/services/models/sui/sui/groth16/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/groth16/structs.d.ts +203 -0
- package/dist/src/services/models/sui/sui/groth16/structs.js +575 -0
- package/dist/src/services/models/sui/sui/groth16/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/group-ops/functions.d.ts +128 -0
- package/dist/src/services/models/sui/sui/group-ops/functions.js +184 -0
- package/dist/src/services/models/sui/sui/group-ops/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/group-ops/structs.d.ts +49 -0
- package/dist/src/services/models/sui/sui/group-ops/structs.js +176 -0
- package/dist/src/services/models/sui/sui/group-ops/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/hash/functions.d.ts +3 -0
- package/dist/src/services/models/sui/sui/hash/functions.js +20 -0
- package/dist/src/services/models/sui/sui/hash/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/hex/functions.d.ts +4 -0
- package/dist/src/services/models/sui/sui/hex/functions.js +27 -0
- package/dist/src/services/models/sui/sui/hex/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/hmac/functions.d.ts +6 -0
- package/dist/src/services/models/sui/sui/hmac/functions.js +13 -0
- package/dist/src/services/models/sui/sui/hmac/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/index.d.ts +3 -0
- package/dist/src/services/models/sui/sui/index.js +8 -0
- package/dist/src/services/models/sui/sui/index.js.map +1 -0
- package/dist/src/services/models/sui/sui/init.d.ts +2 -0
- package/dist/src/services/models/sui/sui/init.js +163 -0
- package/dist/src/services/models/sui/sui/init.js.map +1 -0
- package/dist/src/services/models/sui/sui/kiosk/functions.d.ts +179 -0
- package/dist/src/services/models/sui/sui/kiosk/functions.js +327 -0
- package/dist/src/services/models/sui/sui/kiosk/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/kiosk/structs.d.ts +605 -0
- package/dist/src/services/models/sui/sui/kiosk/structs.js +1501 -0
- package/dist/src/services/models/sui/sui/kiosk/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/kiosk-extension/functions.d.ts +54 -0
- package/dist/src/services/models/sui/sui/kiosk-extension/functions.js +133 -0
- package/dist/src/services/models/sui/sui/kiosk-extension/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/kiosk-extension/structs.d.ts +120 -0
- package/dist/src/services/models/sui/sui/kiosk-extension/structs.js +298 -0
- package/dist/src/services/models/sui/sui/kiosk-extension/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/linked-table/functions.d.ts +53 -0
- package/dist/src/services/models/sui/sui/linked-table/functions.js +142 -0
- package/dist/src/services/models/sui/sui/linked-table/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/linked-table/structs.d.ts +168 -0
- package/dist/src/services/models/sui/sui/linked-table/structs.js +335 -0
- package/dist/src/services/models/sui/sui/linked-table/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/math/functions.d.ts +28 -0
- package/dist/src/services/models/sui/sui/math/functions.js +55 -0
- package/dist/src/services/models/sui/sui/math/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/object/functions.d.ts +26 -0
- package/dist/src/services/models/sui/sui/object/functions.js +177 -0
- package/dist/src/services/models/sui/sui/object/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/object/structs.d.ts +91 -0
- package/dist/src/services/models/sui/sui/object/structs.js +273 -0
- package/dist/src/services/models/sui/sui/object/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/object-bag/functions.d.ts +42 -0
- package/dist/src/services/models/sui/sui/object-bag/functions.js +90 -0
- package/dist/src/services/models/sui/sui/object-bag/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/object-bag/structs.d.ts +60 -0
- package/dist/src/services/models/sui/sui/object-bag/structs.js +149 -0
- package/dist/src/services/models/sui/sui/object-bag/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/object-table/functions.d.ts +37 -0
- package/dist/src/services/models/sui/sui/object-table/functions.js +86 -0
- package/dist/src/services/models/sui/sui/object-table/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/object-table/structs.d.ts +60 -0
- package/dist/src/services/models/sui/sui/object-table/structs.js +162 -0
- package/dist/src/services/models/sui/sui/object-table/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/package/functions.d.ts +39 -0
- package/dist/src/services/models/sui/sui/package/functions.js +178 -0
- package/dist/src/services/models/sui/sui/package/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/package/structs.d.ts +279 -0
- package/dist/src/services/models/sui/sui/package/structs.js +623 -0
- package/dist/src/services/models/sui/sui/package/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/pay/functions.d.ts +38 -0
- package/dist/src/services/models/sui/sui/pay/functions.js +71 -0
- package/dist/src/services/models/sui/sui/pay/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/poseidon/functions.d.ts +3 -0
- package/dist/src/services/models/sui/sui/poseidon/functions.js +20 -0
- package/dist/src/services/models/sui/sui/poseidon/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/priority-queue/functions.d.ts +32 -0
- package/dist/src/services/models/sui/sui/priority-queue/functions.js +75 -0
- package/dist/src/services/models/sui/sui/priority-queue/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/priority-queue/structs.d.ts +110 -0
- package/dist/src/services/models/sui/sui/priority-queue/structs.js +329 -0
- package/dist/src/services/models/sui/sui/priority-queue/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/random/functions.d.ts +73 -0
- package/dist/src/services/models/sui/sui/random/functions.js +173 -0
- package/dist/src/services/models/sui/sui/random/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/random/structs.d.ts +203 -0
- package/dist/src/services/models/sui/sui/random/structs.js +471 -0
- package/dist/src/services/models/sui/sui/random/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/sui/functions.d.ts +7 -0
- package/dist/src/services/models/sui/sui/sui/functions.js +17 -0
- package/dist/src/services/models/sui/sui/sui/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/sui/structs.d.ts +45 -0
- package/dist/src/services/models/sui/sui/sui/structs.js +141 -0
- package/dist/src/services/models/sui/sui/sui/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/table/functions.d.ts +33 -0
- package/dist/src/services/models/sui/sui/table/functions.js +86 -0
- package/dist/src/services/models/sui/sui/table/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/table/structs.d.ts +60 -0
- package/dist/src/services/models/sui/sui/table/structs.js +162 -0
- package/dist/src/services/models/sui/sui/table/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/table-vec/functions.d.ts +35 -0
- package/dist/src/services/models/sui/sui/table-vec/functions.js +102 -0
- package/dist/src/services/models/sui/sui/table-vec/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/table-vec/structs.d.ts +67 -0
- package/dist/src/services/models/sui/sui/table-vec/structs.js +177 -0
- package/dist/src/services/models/sui/sui/table-vec/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/token/functions.d.ts +144 -0
- package/dist/src/services/models/sui/sui/token/functions.js +375 -0
- package/dist/src/services/models/sui/sui/token/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/token/structs.d.ts +460 -0
- package/dist/src/services/models/sui/sui/token/structs.js +951 -0
- package/dist/src/services/models/sui/sui/token/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/transfer/functions.d.ts +40 -0
- package/dist/src/services/models/sui/sui/transfer/functions.js +115 -0
- package/dist/src/services/models/sui/sui/transfer/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/transfer/structs.d.ts +56 -0
- package/dist/src/services/models/sui/sui/transfer/structs.js +160 -0
- package/dist/src/services/models/sui/sui/transfer/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/transfer-policy/functions.d.ts +65 -0
- package/dist/src/services/models/sui/sui/transfer-policy/functions.js +161 -0
- package/dist/src/services/models/sui/sui/transfer-policy/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/transfer-policy/structs.d.ts +369 -0
- package/dist/src/services/models/sui/sui/transfer-policy/structs.js +941 -0
- package/dist/src/services/models/sui/sui/transfer-policy/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/tx-context/functions.d.ts +12 -0
- package/dist/src/services/models/sui/sui/tx-context/functions.js +55 -0
- package/dist/src/services/models/sui/sui/tx-context/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/tx-context/structs.d.ts +73 -0
- package/dist/src/services/models/sui/sui/tx-context/structs.js +196 -0
- package/dist/src/services/models/sui/sui/tx-context/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/types/functions.d.ts +3 -0
- package/dist/src/services/models/sui/sui/types/functions.js +14 -0
- package/dist/src/services/models/sui/sui/types/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/url/functions.d.ts +9 -0
- package/dist/src/services/models/sui/sui/url/functions.js +35 -0
- package/dist/src/services/models/sui/sui/url/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/url/structs.d.ts +52 -0
- package/dist/src/services/models/sui/sui/url/structs.js +142 -0
- package/dist/src/services/models/sui/sui/url/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/vdf/functions.d.ts +17 -0
- package/dist/src/services/models/sui/sui/vdf/functions.js +44 -0
- package/dist/src/services/models/sui/sui/vdf/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/vec-map/functions.d.ts +70 -0
- package/dist/src/services/models/sui/sui/vec-map/functions.js +158 -0
- package/dist/src/services/models/sui/sui/vec-map/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/vec-map/structs.d.ts +110 -0
- package/dist/src/services/models/sui/sui/vec-map/structs.js +329 -0
- package/dist/src/services/models/sui/sui/vec-map/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/vec-set/functions.d.ts +34 -0
- package/dist/src/services/models/sui/sui/vec-set/functions.js +102 -0
- package/dist/src/services/models/sui/sui/vec-set/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/vec-set/structs.d.ts +50 -0
- package/dist/src/services/models/sui/sui/vec-set/structs.js +177 -0
- package/dist/src/services/models/sui/sui/vec-set/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/versioned/functions.d.ts +19 -0
- package/dist/src/services/models/sui/sui/versioned/functions.js +66 -0
- package/dist/src/services/models/sui/sui/versioned/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/versioned/structs.d.ts +112 -0
- package/dist/src/services/models/sui/sui/versioned/structs.js +287 -0
- package/dist/src/services/models/sui/sui/versioned/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-id/functions.d.ts +33 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-id/functions.js +90 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-id/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-id/structs.d.ts +109 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-id/structs.js +181 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-id/structs.js.map +1 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-issuer/functions.d.ts +21 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-issuer/functions.js +57 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-issuer/functions.js.map +1 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-issuer/structs.d.ts +73 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-issuer/structs.js +160 -0
- package/dist/src/services/models/sui/sui/zklogin-verified-issuer/structs.js.map +1 -0
- package/dist/src/services/models/sui/utils/bytes32/functions.d.ts +15 -0
- package/dist/src/services/models/sui/utils/bytes32/functions.js +107 -0
- package/dist/src/services/models/sui/utils/bytes32/functions.js.map +1 -0
- package/dist/src/services/models/sui/utils/bytes32/structs.d.ts +49 -0
- package/dist/src/services/models/sui/utils/bytes32/structs.js +165 -0
- package/dist/src/services/models/sui/utils/bytes32/structs.js.map +1 -0
- package/dist/src/services/models/sui/utils/fee-collector/functions.d.ts +16 -0
- package/dist/src/services/models/sui/utils/fee-collector/functions.js +46 -0
- package/dist/src/services/models/sui/utils/fee-collector/functions.js.map +1 -0
- package/dist/src/services/models/sui/utils/fee-collector/structs.d.ts +66 -0
- package/dist/src/services/models/sui/utils/fee-collector/structs.js +153 -0
- package/dist/src/services/models/sui/utils/fee-collector/structs.js.map +1 -0
- package/dist/src/services/models/sui/utils/index.d.ts +14 -0
- package/dist/src/services/models/sui/utils/index.js +34 -0
- package/dist/src/services/models/sui/utils/index.js.map +1 -0
- package/dist/src/services/models/sui/utils/init.d.ts +2 -0
- package/dist/src/services/models/sui/utils/init.js +43 -0
- package/dist/src/services/models/sui/utils/init.js.map +1 -0
- package/dist/src/services/models/sui/utils/message/functions.d.ts +33 -0
- package/dist/src/services/models/sui/utils/message/functions.js +87 -0
- package/dist/src/services/models/sui/utils/message/functions.js.map +1 -0
- package/dist/src/services/models/sui/utils/message/structs.d.ts +56 -0
- package/dist/src/services/models/sui/utils/message/structs.js +142 -0
- package/dist/src/services/models/sui/utils/message/structs.js.map +1 -0
- package/dist/src/services/models/sui/utils/messenger-protocol/functions.d.ts +4 -0
- package/dist/src/services/models/sui/utils/messenger-protocol/functions.js +27 -0
- package/dist/src/services/models/sui/utils/messenger-protocol/functions.js.map +1 -0
- package/dist/src/services/models/sui/utils/messenger-protocol/structs.d.ts +45 -0
- package/dist/src/services/models/sui/utils/messenger-protocol/structs.js +141 -0
- package/dist/src/services/models/sui/utils/messenger-protocol/structs.js.map +1 -0
- package/dist/src/services/models/sui/utils/set/functions.d.ts +19 -0
- package/dist/src/services/models/sui/utils/set/functions.js +46 -0
- package/dist/src/services/models/sui/utils/set/functions.js.map +1 -0
- package/dist/src/services/models/sui/utils/set/structs.d.ts +109 -0
- package/dist/src/services/models/sui/utils/set/structs.js +308 -0
- package/dist/src/services/models/sui/utils/set/structs.js.map +1 -0
- package/dist/src/services/models/sui/utils/version/functions.d.ts +19 -0
- package/dist/src/services/models/sui/utils/version/functions.js +30 -0
- package/dist/src/services/models/sui/utils/version/functions.js.map +1 -0
- package/dist/src/services/models/sui/utils/version/structs.d.ts +45 -0
- package/dist/src/services/models/sui/utils/version/structs.js +154 -0
- package/dist/src/services/models/sui/utils/version/structs.js.map +1 -0
- package/dist/src/services/models/sui/wormhole-messenger/events/functions.d.ts +11 -0
- package/dist/src/services/models/sui/wormhole-messenger/events/functions.js +20 -0
- package/dist/src/services/models/sui/wormhole-messenger/events/functions.js.map +1 -0
- package/dist/src/services/models/sui/wormhole-messenger/events/structs.d.ts +112 -0
- package/dist/src/services/models/sui/wormhole-messenger/events/structs.js +287 -0
- package/dist/src/services/models/sui/wormhole-messenger/events/structs.js.map +1 -0
- package/dist/src/services/models/sui/wormhole-messenger/index.d.ts +14 -0
- package/dist/src/services/models/sui/wormhole-messenger/index.js +34 -0
- package/dist/src/services/models/sui/wormhole-messenger/index.js.map +1 -0
- package/dist/src/services/models/sui/wormhole-messenger/init.d.ts +2 -0
- package/dist/src/services/models/sui/wormhole-messenger/init.js +36 -0
- package/dist/src/services/models/sui/wormhole-messenger/init.js.map +1 -0
- package/dist/src/services/models/sui/wormhole-messenger/wh-messenger-interface/functions.d.ts +85 -0
- package/dist/src/services/models/sui/wormhole-messenger/wh-messenger-interface/functions.js +139 -0
- package/dist/src/services/models/sui/wormhole-messenger/wh-messenger-interface/functions.js.map +1 -0
- package/dist/src/services/models/sui/wormhole-messenger/wormhole-messenger/functions.d.ts +79 -0
- package/dist/src/services/models/sui/wormhole-messenger/wormhole-messenger/functions.js +170 -0
- package/dist/src/services/models/sui/wormhole-messenger/wormhole-messenger/functions.js.map +1 -0
- package/dist/src/services/models/sui/wormhole-messenger/wormhole-messenger/structs.d.ts +278 -0
- package/dist/src/services/models/sui/wormhole-messenger/wormhole-messenger/structs.js +354 -0
- package/dist/src/services/models/sui/wormhole-messenger/wormhole-messenger/structs.js.map +1 -0
- package/dist/src/services/token/evm/index.js.map +1 -1
- package/dist/src/services/token/index.js +4 -0
- package/dist/src/services/token/index.js.map +1 -1
- package/dist/src/services/token/sol/index.js.map +1 -1
- package/dist/src/services/token/srb/index.js.map +1 -1
- package/dist/src/services/token/sui/index.d.ts +17 -0
- package/dist/src/services/token/sui/index.js +54 -0
- package/dist/src/services/token/sui/index.js.map +1 -0
- package/dist/src/services/token/trx/index.js.map +1 -1
- package/dist/src/services/utils/calculation/index.js.map +1 -1
- package/dist/src/services/utils/sol/accounts.js.map +1 -1
- package/dist/src/services/utils/sol/anchor-provider.js.map +1 -1
- package/dist/src/services/utils/sol/compute-budget.js.map +1 -1
- package/dist/src/services/utils/sol/index.js.map +1 -1
- package/dist/src/services/utils/sui/coins.d.ts +9 -0
- package/dist/src/services/utils/sui/coins.js +38 -0
- package/dist/src/services/utils/sui/coins.js.map +1 -0
- package/dist/src/services/utils/sui/paginated.d.ts +7 -0
- package/dist/src/services/utils/sui/paginated.js +14 -0
- package/dist/src/services/utils/sui/paginated.js.map +1 -0
- package/dist/src/services/utils/sui/view.d.ts +4 -0
- package/dist/src/services/utils/sui/view.js +26 -0
- package/dist/src/services/utils/sui/view.js.map +1 -0
- package/dist/src/tokens-info/tokens-info.model.d.ts +33 -0
- package/dist/src/tokens-info/tokens-info.model.js.map +1 -1
- package/dist/src/utils/calculation/index.js.map +1 -1
- package/dist/src/utils/calculation/swap-and-bridge-details.js.map +1 -1
- package/dist/src/utils/calculation/swap-and-bridge-fee-calc.js.map +1 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/sol/index.js.map +1 -1
- package/dist/src/utils/sol/utils.js.map +1 -1
- package/dist/src/utils/srb/index.js.map +1 -1
- package/dist/src/utils/utils.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiTokenService = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
5
|
+
const client_1 = require("@mysten/sui/client");
|
|
6
|
+
const chain_enums_1 = require("../../../chains/chain.enums");
|
|
7
|
+
const exceptions_1 = require("../../../exceptions");
|
|
8
|
+
const paginated_1 = require("../../utils/sui/paginated");
|
|
9
|
+
const models_1 = require("../models");
|
|
10
|
+
class SuiTokenService extends models_1.ChainTokenService {
|
|
11
|
+
suiRpcUrl;
|
|
12
|
+
api;
|
|
13
|
+
chainType = chain_enums_1.ChainType.SUI;
|
|
14
|
+
suiClient;
|
|
15
|
+
constructor(suiRpcUrl, api) {
|
|
16
|
+
super();
|
|
17
|
+
this.suiRpcUrl = suiRpcUrl;
|
|
18
|
+
this.api = api;
|
|
19
|
+
this.suiClient = new client_1.SuiClient({
|
|
20
|
+
url: this.suiRpcUrl,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
approve(params) {
|
|
24
|
+
throw new exceptions_1.MethodNotSupportedError();
|
|
25
|
+
}
|
|
26
|
+
buildRawTransactionApprove(params) {
|
|
27
|
+
throw new exceptions_1.MethodNotSupportedError();
|
|
28
|
+
}
|
|
29
|
+
getAllowance(params) {
|
|
30
|
+
throw new exceptions_1.MethodNotSupportedError();
|
|
31
|
+
}
|
|
32
|
+
async getTokenBalance(params) {
|
|
33
|
+
if (!params.token.originTokenAddress) {
|
|
34
|
+
throw new exceptions_1.SdkError("SUI token must contain 'originTokenAddress'");
|
|
35
|
+
}
|
|
36
|
+
const balance = await this.suiClient.getBalance({
|
|
37
|
+
owner: params.account,
|
|
38
|
+
coinType: params.token.originTokenAddress,
|
|
39
|
+
});
|
|
40
|
+
return balance.totalBalance;
|
|
41
|
+
}
|
|
42
|
+
async getNativeTokenBalance(params) {
|
|
43
|
+
const coinsData = await (0, paginated_1.fetchAllPagesRecursive)((cursor) => this.suiClient.getCoins({
|
|
44
|
+
owner: params.account,
|
|
45
|
+
cursor,
|
|
46
|
+
}));
|
|
47
|
+
if (coinsData.length === 0) {
|
|
48
|
+
return "0";
|
|
49
|
+
}
|
|
50
|
+
return coinsData.reduce((total, element) => total + BigInt(element.balance), BigInt(0)).toString();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.SuiTokenService = SuiTokenService;
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/token/sui/index.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,+CAA+C;AAE/C,6DAAwD;AAExD,oDAAwE;AAGxE,yDAAmE;AACnE,sCAA8G;AAE9G,MAAa,eAAgB,SAAQ,0BAAiB;IAK3C;IACA;IALT,SAAS,GAAkB,uBAAS,CAAC,GAAG,CAAC;IACjC,SAAS,CAAY;IAE7B,YACS,SAAiB,EACjB,GAAwB;QAE/B,KAAK,EAAE,CAAC;QAHD,cAAS,GAAT,SAAS,CAAQ;QACjB,QAAG,GAAH,GAAG,CAAqB;QAG/B,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC;YAC7B,GAAG,EAAE,IAAI,CAAC,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAwB;QAC9B,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,MAAwB;QACjD,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,MAA6B;QACxC,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA6B;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACrC,MAAM,IAAI,qBAAQ,CAAC,6CAA6C,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,MAAM,CAAC,OAAO;YACrB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB;SAC1C,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,YAAY,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAmC;QAC7D,MAAM,SAAS,GAAiB,MAAM,IAAA,kCAAsB,EAAC,CAAC,MAAiC,EAAE,EAAE,CACjG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,OAAO;YACrB,MAAM;SACP,CAAC,CACH,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrG,CAAC;CACF;AAjDD,0CAiDC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { SuiClient } from \"@mysten/sui/client\";\nimport { CoinStruct } from \"@mysten/sui/src/client/types/generated\";\nimport { ChainType } from \"../../../chains/chain.enums\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { MethodNotSupportedError, SdkError } from \"../../../exceptions\";\nimport { GetNativeTokenBalanceParams } from \"../../bridge/models\";\nimport { RawTransaction, TransactionResponse } from \"../../models\";\nimport { fetchAllPagesRecursive } from \"../../utils/sui/paginated\";\nimport { ApproveParamsDto, ChainTokenService, GetAllowanceParamsDto, GetTokenBalanceParams } from \"../models\";\n\nexport class SuiTokenService extends ChainTokenService {\n chainType: ChainType.SUI = ChainType.SUI;\n private suiClient: SuiClient;\n\n constructor(\n public suiRpcUrl: string,\n public api: AllbridgeCoreClient\n ) {\n super();\n this.suiClient = new SuiClient({\n url: this.suiRpcUrl,\n });\n }\n\n approve(params: ApproveParamsDto): Promise<TransactionResponse> {\n throw new MethodNotSupportedError();\n }\n\n buildRawTransactionApprove(params: ApproveParamsDto): Promise<RawTransaction> {\n throw new MethodNotSupportedError();\n }\n\n getAllowance(params: GetAllowanceParamsDto): Promise<string> {\n throw new MethodNotSupportedError();\n }\n\n async getTokenBalance(params: GetTokenBalanceParams): Promise<string> {\n if (!params.token.originTokenAddress) {\n throw new SdkError(\"SUI token must contain 'originTokenAddress'\");\n }\n const balance = await this.suiClient.getBalance({\n owner: params.account,\n coinType: params.token.originTokenAddress,\n });\n return balance.totalBalance;\n }\n\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams): Promise<string> {\n const coinsData: CoinStruct[] = await fetchAllPagesRecursive((cursor: string | null | undefined) =>\n this.suiClient.getCoins({\n owner: params.account,\n cursor,\n })\n );\n if (coinsData.length === 0) {\n return \"0\";\n }\n return coinsData.reduce((total, element) => total + BigInt(element.balance), BigInt(0)).toString();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/token/trx/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { TronWeb } from \"tronweb\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { SdkError } from \"../../../exceptions\";\nimport { ChainType, GetTokenBalanceParams, TransactionResponse } from \"../../../models\";\nimport { GetNativeTokenBalanceParams } from \"../../bridge/models\";\nimport { RawTransaction, SmartContractMethodParameter } from \"../../models\";\nimport ERC20 from \"../../models/abi/ERC20\";\nimport { amountToHex } from \"../../utils\";\nimport { sendRawTransaction } from \"../../utils/trx\";\nimport { ApproveParamsDto, GetAllowanceParamsDto } from \"../models\";\nimport { ChainTokenService } from \"../models/token\";\n\nexport const MAX_AMOUNT = \"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\";\n\nexport class TronTokenService extends ChainTokenService {\n chainType: ChainType.TRX = ChainType.TRX;\n\n constructor(\n public tronWeb: TronWeb,\n public api: AllbridgeCoreClient
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/token/trx/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { TronWeb } from \"tronweb\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport { SdkError } from \"../../../exceptions\";\nimport { ChainType, GetTokenBalanceParams, TransactionResponse } from \"../../../models\";\nimport { GetNativeTokenBalanceParams } from \"../../bridge/models\";\nimport { RawTransaction, SmartContractMethodParameter } from \"../../models\";\nimport ERC20 from \"../../models/abi/ERC20\";\nimport { amountToHex } from \"../../utils\";\nimport { sendRawTransaction } from \"../../utils/trx\";\nimport { ApproveParamsDto, GetAllowanceParamsDto } from \"../models\";\nimport { ChainTokenService } from \"../models/token\";\n\nexport const MAX_AMOUNT = \"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\";\n\nexport class TronTokenService extends ChainTokenService {\n chainType: ChainType.TRX = ChainType.TRX;\n\n constructor(\n public tronWeb: TronWeb,\n public api: AllbridgeCoreClient\n ) {\n super();\n }\n\n async getAllowance(params: GetAllowanceParamsDto): Promise<string> {\n const {\n token: { tokenAddress },\n owner,\n } = params;\n const tokenContract = await this.getContract(tokenAddress);\n const allowance = await tokenContract.methods.allowance(owner, params.spender).call();\n return allowance.toString();\n }\n\n async getTokenBalance(params: GetTokenBalanceParams): Promise<string> {\n const contract = await this.getContract(params.token.tokenAddress);\n const balance = await contract.balanceOf(params.account).call();\n return balance.toString();\n }\n\n async getNativeTokenBalance(params: GetNativeTokenBalanceParams): Promise<string> {\n return (await this.tronWeb.trx.getBalance(params.account)).toString();\n }\n\n async approve(params: ApproveParamsDto): Promise<TransactionResponse> {\n const rawTransaction = await this.buildRawTransactionApprove(params);\n return await sendRawTransaction(this.tronWeb, rawTransaction);\n }\n\n async buildRawTransactionApprove(params: ApproveParamsDto): Promise<RawTransaction> {\n const { tokenAddress, spender, owner, amount } = params;\n const amountHex = amount == undefined ? MAX_AMOUNT : amountToHex(amount);\n\n const parameter = [\n { type: \"address\", value: spender },\n { type: \"uint256\", value: amountHex },\n ];\n const value = \"0\";\n const methodSignature = \"approve(address,uint256)\";\n return this.buildRawTransaction(tokenAddress, methodSignature, parameter, value, owner);\n }\n\n private getContract(contractAddress: string): any {\n return this.tronWeb.contract(ERC20.abi, contractAddress);\n }\n\n private async buildRawTransaction(\n contractAddress: string,\n methodSignature: string,\n parameters: SmartContractMethodParameter[],\n value: string,\n fromAddress: string\n ): Promise<RawTransaction> {\n const transactionObject = await this.tronWeb.transactionBuilder.triggerSmartContract(\n contractAddress,\n methodSignature,\n {\n callValue: +value,\n },\n parameters,\n fromAddress\n );\n if (!transactionObject?.result?.result) {\n throw new SdkError(\"Unknown error: \" + JSON.stringify(transactionObject, null, 2));\n }\n return transactionObject.transaction;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/utils/calculation/index.ts"],"names":[],"mappings":";;AAIA,kDA0BC;AAED,wDAGC;AAnCD,mCAA6B;AAC7B,4DAA2E;AAC3E,oEAAwE;AAExE,SAAgB,mBAAmB,CACjC,MAAc,EACd,MAAc,EACd,MAAc,EACd,YAAoB,EACpB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAA,qCAAuB,EAAC,MAAM,EAAE,4BAAgB,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAA,YAAG,EAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,CAAC;IACzB,MAAM,UAAU,GAAG,IAAA,YAAG,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEvD,IAAI,eAAe,CAAC;IACpB,IAAI,cAAc,CAAC;IAEnB,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,eAAe,GAAG,IAAA,YAAG,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,cAAc,GAAG,IAAA,YAAG,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,IAAA,YAAG,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACxF,cAAc,GAAG,IAAA,YAAG,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,kBAAI,EAAC,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAAgB;IACrD,MAAM,UAAU,GAAG,IAAA,qCAAuB,EAAC,QAAQ,EAAE,4BAAgB,CAAC,CAAC;IACvE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;AAC3C,CAAC","sourcesContent":["import { Big } from \"big.js\";\nimport { convertFloatAmountToInt, getD } from \"../../../utils/calculation\";\nimport { SYSTEM_PRECISION } from \"../../../utils/calculation/constants\";\n\nexport function depositAmountToVUsd(\n amount: string,\n aValue: string,\n dValue: string,\n tokenBalance: string,\n vUsdBalance: string
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/utils/calculation/index.ts"],"names":[],"mappings":";;AAIA,kDA0BC;AAED,wDAGC;AAnCD,mCAA6B;AAC7B,4DAA2E;AAC3E,oEAAwE;AAExE,SAAgB,mBAAmB,CACjC,MAAc,EACd,MAAc,EACd,MAAc,EACd,YAAoB,EACpB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAA,qCAAuB,EAAC,MAAM,EAAE,4BAAgB,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAA,YAAG,EAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,CAAC;IACzB,MAAM,UAAU,GAAG,IAAA,YAAG,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEvD,IAAI,eAAe,CAAC;IACpB,IAAI,cAAc,CAAC;IAEnB,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,eAAe,GAAG,IAAA,YAAG,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,cAAc,GAAG,IAAA,YAAG,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,IAAA,YAAG,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACxF,cAAc,GAAG,IAAA,YAAG,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,kBAAI,EAAC,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAAgB;IACrD,MAAM,UAAU,GAAG,IAAA,qCAAuB,EAAC,QAAQ,EAAE,4BAAgB,CAAC,CAAC;IACvE,OAAO,IAAA,YAAG,EAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;AAC3C,CAAC","sourcesContent":["import { Big } from \"big.js\";\nimport { convertFloatAmountToInt, getD } from \"../../../utils/calculation\";\nimport { SYSTEM_PRECISION } from \"../../../utils/calculation/constants\";\n\nexport function depositAmountToVUsd(\n amount: string,\n aValue: string,\n dValue: string,\n tokenBalance: string,\n vUsdBalance: string\n): string {\n const amountSP = convertFloatAmountToInt(amount, SYSTEM_PRECISION);\n const amountSPBig = Big(amountSP);\n\n const oldD = Big(dValue);\n const oldBalance = Big(tokenBalance).plus(vUsdBalance);\n\n let newTokenBalance;\n let newVUsdBalance;\n\n if (oldD.eq(0) || oldBalance.eq(0)) {\n const halfAmount = amountSPBig.div(2);\n newTokenBalance = Big(tokenBalance).plus(halfAmount);\n newVUsdBalance = Big(vUsdBalance).plus(halfAmount);\n } else {\n newTokenBalance = Big(tokenBalance).plus(amountSPBig.mul(tokenBalance).div(oldBalance));\n newVUsdBalance = Big(vUsdBalance).plus(amountSPBig.mul(vUsdBalance).div(oldBalance));\n }\n const newD = Big(getD(aValue, newTokenBalance.toFixed(), newVUsdBalance.toFixed()));\n return newD.minus(oldD).toFixed();\n}\n\nexport function vUsdToWithdrawalAmount(lpAmount: string): string {\n const lpAmountSP = convertFloatAmountToInt(lpAmount, SYSTEM_PRECISION);\n return Big(lpAmountSP).round().toFixed();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/accounts.ts"],"names":[],"mappings":"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","sourcesContent":["import * as anchor from \"@project-serum/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\n\nexport async function getAssociatedAccount(publicKey: PublicKey, mintAccount: PublicKey): Promise<PublicKey> {\n return anchor.utils.token.associatedAddress({\n mint: mintAccount,\n owner: publicKey,\n });\n}\n\nexport async function getConfigAccount(programId: PublicKey): Promise<PublicKey> {\n const [configPda] = await PublicKey.findProgramAddress([anchor.utils.bytes.utf8.encode(\"config\")], programId);\n return configPda;\n}\n\nexport async function getLockAccount(nonce: number[], bridgeProgramId: PublicKey): Promise<PublicKey> {\n const [lockPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"lock\"), Uint8Array.from(nonce)],\n bridgeProgramId,\n );\n return lockPda;\n}\n\nexport async function getPriceAccount(chainId: number, gasOracleProgramId: PublicKey): Promise<PublicKey> {\n const [pricePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"price_v2\"), Uint8Array.from([chainId])],\n gasOracleProgramId,\n );\n return pricePda;\n}\n\nexport async function getAuthorityAccount(bridgeProgramId: PublicKey): Promise<PublicKey> {\n const configAccount = await getConfigAccount(bridgeProgramId);\n const [poolAuthority] = await PublicKey.findProgramAddress([configAccount.toBuffer()], bridgeProgramId);\n return poolAuthority;\n}\n\nexport async function getCctpAuthorityAccount(\n cctpBridgeAccount: PublicKey,\n cctpBridgeProgramId: PublicKey,\n): Promise<PublicKey> {\n const [poolAuthority] = await PublicKey.findProgramAddress([cctpBridgeAccount.toBuffer()], cctpBridgeProgramId);\n return poolAuthority;\n}\n\nexport async function getBridgeTokenAccount(mintAccount: PublicKey, bridgeProgramId: PublicKey): Promise<PublicKey> {\n const [poolPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"token\"), mintAccount.toBytes()],\n bridgeProgramId,\n );\n return poolPda;\n}\n\nexport async function getOtherChainTokenAccount(\n chainId: number,\n token: Buffer,\n bridgeProgramId: PublicKey,\n): Promise<PublicKey> {\n const [otherChainTokenPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"other_bridge_token\"), Buffer.from([chainId]), token],\n bridgeProgramId,\n );\n return otherChainTokenPda;\n}\n\nexport async function getChainBridgeAccount(chainId: number, bridgeProgramId: PublicKey): Promise<PublicKey> {\n const [chainBridgePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"chain_bridge\"), Uint8Array.from([chainId])],\n bridgeProgramId,\n );\n return chainBridgePda;\n}\n\nexport async function getGasUsageAccount(chainId: number, messengerProgramId: PublicKey): Promise<PublicKey> {\n const [chainBridgePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"gas_usage\"), Uint8Array.from([chainId])],\n messengerProgramId,\n );\n return chainBridgePda;\n}\n\nexport async function getSendMessageAccount(\n messageWithSigner: Uint8Array,\n messengerProgramId: PublicKey,\n): Promise<PublicKey> {\n const [sentMessagePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"sent_message\"), messageWithSigner],\n messengerProgramId,\n );\n return sentMessagePda;\n}\n\nexport async function getUserDepositAccount(\n userPublicKey: PublicKey,\n tokenMintAccount: PublicKey,\n bridgeProgramId: PublicKey,\n): Promise<PublicKey> {\n const [userDepositPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"user_deposit\"), tokenMintAccount.toBytes(), userPublicKey.toBytes()],\n bridgeProgramId,\n );\n return userDepositPda;\n}\n\nexport async function getCctpBridgeAccount(mintAccount: PublicKey, cctpBridgeProgramId: PublicKey): Promise<PublicKey> {\n const [configPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"cctp_bridge\"), mintAccount.toBytes()],\n cctpBridgeProgramId,\n );\n return configPda;\n}\n\nexport async function getCctpBridgeTokenAccount(token: PublicKey, cctpBridgeProgramId: PublicKey): Promise<PublicKey> {\n const [poolPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"token\"), token.toBytes()],\n cctpBridgeProgramId,\n );\n return poolPda;\n}\n\nexport function getCctpLockAccount(cctpBridgeProgramId: PublicKey, messageSentEventDataAccount: PublicKey): PublicKey {\n const [tokenMessengerEventAuthority] = PublicKey.findProgramAddressSync(\n [anchor.utils.bytes.utf8.encode(\"lock\"), messageSentEventDataAccount.toBuffer()],\n cctpBridgeProgramId,\n );\n return tokenMessengerEventAuthority;\n}\n\nexport function getCctpAccounts(\n domain: number,\n mintAccount: PublicKey,\n cctpTransmitterProgramId: PublicKey,\n cctpTokenMessengerMinter: PublicKey,\n) {\n const messageTransmitterAccount = findProgramAddress(\"message_transmitter\", cctpTransmitterProgramId);\n const tokenMessenger = findProgramAddress(\"token_messenger\", cctpTokenMessengerMinter);\n const tokenMessengerEventAuthority = findProgramAddress(\"__event_authority\", cctpTokenMessengerMinter);\n const tokenMinter = findProgramAddress(\"token_minter\", cctpTokenMessengerMinter);\n const localToken = findProgramAddress(\"local_token\", cctpTokenMessengerMinter, [mintAccount]);\n const remoteTokenMessengerKey = findProgramAddress(\"remote_token_messenger\", cctpTokenMessengerMinter, [\n domain.toString(),\n ]);\n const authorityPda = findProgramAddress(\"sender_authority\", cctpTokenMessengerMinter);\n return {\n messageTransmitterAccount,\n tokenMessenger,\n tokenMessengerEventAuthority,\n tokenMinter,\n localToken,\n remoteTokenMessengerKey,\n authorityPda,\n };\n}\n\nfunction findProgramAddress(\n label: string,\n programId: PublicKey,\n extraSeeds: (string | number[] | Buffer | PublicKey)[] = [],\n): PublicKey {\n const seeds = [Buffer.from(anchor.utils.bytes.utf8.encode(label))];\n for (const extraSeed of extraSeeds) {\n if (typeof extraSeed === \"string\") {\n seeds.push(Buffer.from(anchor.utils.bytes.utf8.encode(extraSeed)));\n } else if (Array.isArray(extraSeed)) {\n seeds.push(Buffer.from(Uint8Array.from(extraSeed)));\n } else if (Buffer.isBuffer(extraSeed)) {\n seeds.push(Buffer.from(Uint8Array.from(extraSeed)));\n } else {\n seeds.push(Buffer.from(Uint8Array.from(extraSeed.toBuffer())));\n }\n }\n const res = PublicKey.findProgramAddressSync(seeds, programId);\n return res[0];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/accounts.ts"],"names":[],"mappings":"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","sourcesContent":["import * as anchor from \"@project-serum/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\n\nexport async function getAssociatedAccount(publicKey: PublicKey, mintAccount: PublicKey): Promise<PublicKey> {\n return anchor.utils.token.associatedAddress({\n mint: mintAccount,\n owner: publicKey,\n });\n}\n\nexport async function getConfigAccount(programId: PublicKey): Promise<PublicKey> {\n const [configPda] = await PublicKey.findProgramAddress([anchor.utils.bytes.utf8.encode(\"config\")], programId);\n return configPda;\n}\n\nexport async function getLockAccount(nonce: number[], bridgeProgramId: PublicKey): Promise<PublicKey> {\n const [lockPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"lock\"), Uint8Array.from(nonce)],\n bridgeProgramId\n );\n return lockPda;\n}\n\nexport async function getPriceAccount(chainId: number, gasOracleProgramId: PublicKey): Promise<PublicKey> {\n const [pricePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"price_v2\"), Uint8Array.from([chainId])],\n gasOracleProgramId\n );\n return pricePda;\n}\n\nexport async function getAuthorityAccount(bridgeProgramId: PublicKey): Promise<PublicKey> {\n const configAccount = await getConfigAccount(bridgeProgramId);\n const [poolAuthority] = await PublicKey.findProgramAddress([configAccount.toBuffer()], bridgeProgramId);\n return poolAuthority;\n}\n\nexport async function getCctpAuthorityAccount(\n cctpBridgeAccount: PublicKey,\n cctpBridgeProgramId: PublicKey\n): Promise<PublicKey> {\n const [poolAuthority] = await PublicKey.findProgramAddress([cctpBridgeAccount.toBuffer()], cctpBridgeProgramId);\n return poolAuthority;\n}\n\nexport async function getBridgeTokenAccount(mintAccount: PublicKey, bridgeProgramId: PublicKey): Promise<PublicKey> {\n const [poolPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"token\"), mintAccount.toBytes()],\n bridgeProgramId\n );\n return poolPda;\n}\n\nexport async function getOtherChainTokenAccount(\n chainId: number,\n token: Buffer,\n bridgeProgramId: PublicKey\n): Promise<PublicKey> {\n const [otherChainTokenPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"other_bridge_token\"), Buffer.from([chainId]), token],\n bridgeProgramId\n );\n return otherChainTokenPda;\n}\n\nexport async function getChainBridgeAccount(chainId: number, bridgeProgramId: PublicKey): Promise<PublicKey> {\n const [chainBridgePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"chain_bridge\"), Uint8Array.from([chainId])],\n bridgeProgramId\n );\n return chainBridgePda;\n}\n\nexport async function getGasUsageAccount(chainId: number, messengerProgramId: PublicKey): Promise<PublicKey> {\n const [chainBridgePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"gas_usage\"), Uint8Array.from([chainId])],\n messengerProgramId\n );\n return chainBridgePda;\n}\n\nexport async function getSendMessageAccount(\n messageWithSigner: Uint8Array,\n messengerProgramId: PublicKey\n): Promise<PublicKey> {\n const [sentMessagePda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"sent_message\"), messageWithSigner],\n messengerProgramId\n );\n return sentMessagePda;\n}\n\nexport async function getUserDepositAccount(\n userPublicKey: PublicKey,\n tokenMintAccount: PublicKey,\n bridgeProgramId: PublicKey\n): Promise<PublicKey> {\n const [userDepositPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"user_deposit\"), tokenMintAccount.toBytes(), userPublicKey.toBytes()],\n bridgeProgramId\n );\n return userDepositPda;\n}\n\nexport async function getCctpBridgeAccount(mintAccount: PublicKey, cctpBridgeProgramId: PublicKey): Promise<PublicKey> {\n const [configPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"cctp_bridge\"), mintAccount.toBytes()],\n cctpBridgeProgramId\n );\n return configPda;\n}\n\nexport async function getCctpBridgeTokenAccount(token: PublicKey, cctpBridgeProgramId: PublicKey): Promise<PublicKey> {\n const [poolPda] = await PublicKey.findProgramAddress(\n [anchor.utils.bytes.utf8.encode(\"token\"), token.toBytes()],\n cctpBridgeProgramId\n );\n return poolPda;\n}\n\nexport function getCctpLockAccount(cctpBridgeProgramId: PublicKey, messageSentEventDataAccount: PublicKey): PublicKey {\n const [tokenMessengerEventAuthority] = PublicKey.findProgramAddressSync(\n [anchor.utils.bytes.utf8.encode(\"lock\"), messageSentEventDataAccount.toBuffer()],\n cctpBridgeProgramId\n );\n return tokenMessengerEventAuthority;\n}\n\nexport function getCctpAccounts(\n domain: number,\n mintAccount: PublicKey,\n cctpTransmitterProgramId: PublicKey,\n cctpTokenMessengerMinter: PublicKey\n) {\n const messageTransmitterAccount = findProgramAddress(\"message_transmitter\", cctpTransmitterProgramId);\n const tokenMessenger = findProgramAddress(\"token_messenger\", cctpTokenMessengerMinter);\n const tokenMessengerEventAuthority = findProgramAddress(\"__event_authority\", cctpTokenMessengerMinter);\n const tokenMinter = findProgramAddress(\"token_minter\", cctpTokenMessengerMinter);\n const localToken = findProgramAddress(\"local_token\", cctpTokenMessengerMinter, [mintAccount]);\n const remoteTokenMessengerKey = findProgramAddress(\"remote_token_messenger\", cctpTokenMessengerMinter, [\n domain.toString(),\n ]);\n const authorityPda = findProgramAddress(\"sender_authority\", cctpTokenMessengerMinter);\n return {\n messageTransmitterAccount,\n tokenMessenger,\n tokenMessengerEventAuthority,\n tokenMinter,\n localToken,\n remoteTokenMessengerKey,\n authorityPda,\n };\n}\n\nfunction findProgramAddress(\n label: string,\n programId: PublicKey,\n extraSeeds: (string | number[] | Buffer | PublicKey)[] = []\n): PublicKey {\n const seeds = [Buffer.from(anchor.utils.bytes.utf8.encode(label))];\n for (const extraSeed of extraSeeds) {\n if (typeof extraSeed === \"string\") {\n seeds.push(Buffer.from(anchor.utils.bytes.utf8.encode(extraSeed)));\n } else if (Array.isArray(extraSeed)) {\n seeds.push(Buffer.from(Uint8Array.from(extraSeed)));\n } else if (Buffer.isBuffer(extraSeed)) {\n seeds.push(Buffer.from(Uint8Array.from(extraSeed)));\n } else {\n seeds.push(Buffer.from(Uint8Array.from(extraSeed.toBuffer())));\n }\n }\n const res = PublicKey.findProgramAddressSync(seeds, programId);\n return res[0];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-provider.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/anchor-provider.ts"],"names":[],"mappings":";;AAGA,kDAcC;AAjBD,kDAAiE;AACjE,6CAAwD;AAExD,SAAgB,mBAAmB,CAAC,YAAoB,EAAE,cAAsB;IAC9E,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC,cAAc,CAAC,CAAC;IAEhD,OAAO,IAAI,uBAAc,CACvB,UAAU;IACV,mDAAmD;IACnD,EAAE,SAAS,EAAE,SAAS,EAAE,EACxB;QACE,mBAAmB,EAAE,WAAW;QAChC,UAAU,EAAE,WAAW;KACxB,CACF,CAAC;AACJ,CAAC","sourcesContent":["import { AnchorProvider, Provider } from \"@project-serum/anchor\";\nimport { Connection, PublicKey } from \"@solana/web3.js\";\n\nexport function buildAnchorProvider(solanaRpcUrl: string, accountAddress: string): Provider {\n const connection = new Connection(solanaRpcUrl, \"confirmed\");\n\n const publicKey = new PublicKey(accountAddress);\n\n return new AnchorProvider(\n connection,\n // @ts-expect-error enough wallet for fetch actions\n { publicKey: publicKey },\n {\n preflightCommitment: \"confirmed\",\n commitment: \"confirmed\",\n }
|
|
1
|
+
{"version":3,"file":"anchor-provider.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/anchor-provider.ts"],"names":[],"mappings":";;AAGA,kDAcC;AAjBD,kDAAiE;AACjE,6CAAwD;AAExD,SAAgB,mBAAmB,CAAC,YAAoB,EAAE,cAAsB;IAC9E,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC,cAAc,CAAC,CAAC;IAEhD,OAAO,IAAI,uBAAc,CACvB,UAAU;IACV,mDAAmD;IACnD,EAAE,SAAS,EAAE,SAAS,EAAE,EACxB;QACE,mBAAmB,EAAE,WAAW;QAChC,UAAU,EAAE,WAAW;KACxB,CACF,CAAC;AACJ,CAAC","sourcesContent":["import { AnchorProvider, Provider } from \"@project-serum/anchor\";\nimport { Connection, PublicKey } from \"@solana/web3.js\";\n\nexport function buildAnchorProvider(solanaRpcUrl: string, accountAddress: string): Provider {\n const connection = new Connection(solanaRpcUrl, \"confirmed\");\n\n const publicKey = new PublicKey(accountAddress);\n\n return new AnchorProvider(\n connection,\n // @ts-expect-error enough wallet for fetch actions\n { publicKey: publicKey },\n {\n preflightCommitment: \"confirmed\",\n commitment: \"confirmed\",\n }\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-budget.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/compute-budget.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ComputeBudgetInstruction,\n ComputeBudgetProgram,\n Connection,\n Transaction,\n TransactionInstruction,\n TransactionMessage,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { Big } from \"big.js\";\nimport { TxTooLargeError } from \"../../../exceptions\";\nimport { toPowBase10 } from \"../../../utils/calculation\";\nimport { fetchAddressLookupTableAccountsFromTx } from \"../../../utils/sol/utils\";\nimport { SolanaAutoTxFee, TxFeeParams } from \"../../models\";\n\nexport async function addUnitLimitAndUnitPriceToTx(\n transaction: Transaction,\n txFeeParams: TxFeeParams | undefined,\n solanaRpcUrl: string
|
|
1
|
+
{"version":3,"file":"compute-budget.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/compute-budget.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ComputeBudgetInstruction,\n ComputeBudgetProgram,\n Connection,\n Transaction,\n TransactionInstruction,\n TransactionMessage,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { Big } from \"big.js\";\nimport { TxTooLargeError } from \"../../../exceptions\";\nimport { toPowBase10 } from \"../../../utils/calculation\";\nimport { fetchAddressLookupTableAccountsFromTx } from \"../../../utils/sol/utils\";\nimport { SolanaAutoTxFee, TxFeeParams } from \"../../models\";\n\nexport async function addUnitLimitAndUnitPriceToTx(\n transaction: Transaction,\n txFeeParams: TxFeeParams | undefined,\n solanaRpcUrl: string\n) {\n const connection = new Connection(solanaRpcUrl, \"confirmed\");\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n const simUnitsConsumed = (await connection.simulateTransaction(transaction)).value.unitsConsumed!;\n await addUnitLimitAndUnitPriceToInstructions(transaction.instructions, simUnitsConsumed, txFeeParams, connection);\n}\n\nexport async function addUnitLimitAndUnitPriceToVersionedTx(\n transaction: VersionedTransaction,\n txFeeParams: TxFeeParams | undefined,\n solanaRpcUrl: string\n) {\n const connection = new Connection(solanaRpcUrl, \"confirmed\");\n const addressLookupTableAccounts = await fetchAddressLookupTableAccountsFromTx(transaction, connection);\n const message = TransactionMessage.decompile(transaction.message, {\n addressLookupTableAccounts: addressLookupTableAccounts,\n });\n\n if (transaction.serialize().length > 1232) {\n throw new TxTooLargeError();\n }\n\n // const simUnitsConsumed = (await connection.simulateTransaction(transaction, { replaceRecentBlockhash: true })).value\n // .unitsConsumed!;\n const simUnitsConsumed = 769230; // 1000000/1.3\n\n await addUnitLimitAndUnitPriceToInstructions(message.instructions, simUnitsConsumed, txFeeParams, connection);\n\n transaction.message = message.compileToV0Message(addressLookupTableAccounts);\n}\n\nasync function addUnitLimitAndUnitPriceToInstructions(\n instructions: TransactionInstruction[],\n simUnitsConsumed: number,\n txFeeParams: TxFeeParams | undefined,\n connection: Connection\n) {\n if (simUnitsConsumed > 0) {\n const units = updateUnitLimit(simUnitsConsumed, instructions);\n if (txFeeParams?.solana) {\n const solanaTxFee = txFeeParams.solana;\n if (solanaTxFee === SolanaAutoTxFee) {\n await updateUnitPrice(instructions, connection);\n } else if (\"pricePerUnitInMicroLamports\" in solanaTxFee) {\n await updateUnitPrice(instructions, connection, solanaTxFee.pricePerUnitInMicroLamports);\n } else {\n const pricePerUnitInMicroLamports = Big(solanaTxFee.extraFeeInLamports)\n .div(units)\n .mul(toPowBase10(6))\n .toFixed(0);\n await updateUnitPrice(instructions, connection, pricePerUnitInMicroLamports);\n }\n }\n }\n}\n\nfunction updateUnitLimit(simUnitsConsumed: number, instructions: TransactionInstruction[]): string {\n const computeUnitLimitIndex = instructions.findIndex(\n (instruction) =>\n instruction.programId.equals(ComputeBudgetProgram.programId) &&\n ComputeBudgetInstruction.decodeInstructionType(instruction) === \"SetComputeUnitLimit\"\n );\n const units = Number((simUnitsConsumed * 1.3).toFixed(0));\n const computeUnitLimitInstruction = ComputeBudgetProgram.setComputeUnitLimit({\n units: units,\n });\n if (computeUnitLimitIndex >= 0) {\n instructions[computeUnitLimitIndex] = computeUnitLimitInstruction;\n } else {\n instructions.push(computeUnitLimitInstruction);\n }\n return units.toString();\n}\n\nasync function updateUnitPrice(\n instructions: TransactionInstruction[],\n connection: Connection,\n pricePerUnitInMicroLamports?: string\n): Promise<string> {\n const computeUnitPriceIndex = instructions.findIndex(\n (instruction) =>\n instruction.programId.equals(ComputeBudgetProgram.programId) &&\n ComputeBudgetInstruction.decodeInstructionType(instruction) === \"SetComputeUnitPrice\"\n );\n const unitPrice = pricePerUnitInMicroLamports\n ? BigInt(pricePerUnitInMicroLamports)\n : BigInt(await getAveragePrioritizationFee(connection));\n const computeUnitPriceInstruction = ComputeBudgetProgram.setComputeUnitPrice({\n microLamports: unitPrice,\n });\n if (computeUnitPriceIndex >= 0) {\n instructions[computeUnitPriceIndex] = computeUnitPriceInstruction;\n } else {\n instructions.push(computeUnitPriceInstruction);\n }\n return unitPrice.toString();\n}\n\nasync function getAveragePrioritizationFee(connection: Connection) {\n const prioritizationFees = await connection.getRecentPrioritizationFees();\n let sum = 0;\n for (const prioritizationFee of prioritizationFees) {\n sum += prioritizationFee.prioritizationFee;\n }\n return (sum / prioritizationFees.length).toFixed(0);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Program, Provider, Spl } from \"@project-serum/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\n/* eslint-disable-next-line import/no-named-as-default */\nimport Big from \"big.js\";\nimport { Web3 } from \"web3\";\nimport { InvalidTxError, SdkError } from \"../../../exceptions\";\nimport { PoolInfo } from \"../../../tokens-info\";\nimport { swapToVUsd } from \"../../../utils/calculation\";\nimport { TokenAccountData } from \"../../models/sol\";\nimport { Bridge as BridgeType } from \"../../models/sol/types/bridge\";\n\nexport async function getTokenAccountData(account: PublicKey, provider: Provider): Promise<TokenAccountData> {\n return await Spl.token(provider).account.token.fetch(account);\n}\n\nexport async function getVUsdAmount(\n amount: string,\n bridge: Program<BridgeType>,\n poolAccount: PublicKey
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/utils/sol/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Program, Provider, Spl } from \"@project-serum/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\n/* eslint-disable-next-line import/no-named-as-default */\nimport Big from \"big.js\";\nimport { Web3 } from \"web3\";\nimport { InvalidTxError, SdkError } from \"../../../exceptions\";\nimport { PoolInfo } from \"../../../tokens-info\";\nimport { swapToVUsd } from \"../../../utils/calculation\";\nimport { TokenAccountData } from \"../../models/sol\";\nimport { Bridge as BridgeType } from \"../../models/sol/types/bridge\";\n\nexport async function getTokenAccountData(account: PublicKey, provider: Provider): Promise<TokenAccountData> {\n return await Spl.token(provider).account.token.fetch(account);\n}\n\nexport async function getVUsdAmount(\n amount: string,\n bridge: Program<BridgeType>,\n poolAccount: PublicKey\n): Promise<string> {\n const poolAccountInfo = await bridge.account.pool.fetch(poolAccount);\n const decimals = poolAccountInfo.decimals;\n const feeShare = Big(poolAccountInfo.feeShareBp.toString()).div(10000).toFixed();\n const poolInfo: Omit<PoolInfo, \"p\" | \"imbalance\"> = {\n aValue: poolAccountInfo.a.toString(),\n dValue: poolAccountInfo.d.toString(),\n totalLpAmount: poolAccountInfo.totalLpAmount.toString(),\n tokenBalance: poolAccountInfo.tokenBalance.toString(),\n vUsdBalance: poolAccountInfo.vUsdBalance.toString(),\n accRewardPerShareP: poolAccountInfo.accRewardPerShareP.toString(),\n };\n return swapToVUsd(amount, { decimals, feeShare }, poolInfo);\n}\n\nexport function getMessage(args: {\n amount: string;\n recipient: Buffer;\n sourceChainId: number;\n destinationChainId: number;\n receiveToken: Buffer;\n nonce: Buffer;\n chainBridge: Buffer;\n}): Buffer {\n const amount = args.amount;\n const recipient = \"0x\" + args.recipient.toString(\"hex\");\n const sourceChainId = args.sourceChainId;\n const destinationsChainId = args.destinationChainId;\n const receiveToken = \"0x\" + args.receiveToken.toString(\"hex\");\n const nonce = \"0x\" + args.nonce.toString(\"hex\");\n const messenger = 1;\n const chainBridge = \"0x\" + args.chainBridge.toString(\"hex\");\n\n const message = Web3.utils.encodePacked(\n { t: \"uint256\", v: amount },\n { t: \"bytes32\", v: recipient },\n { t: \"uint256\", v: sourceChainId },\n { t: \"bytes32\", v: receiveToken },\n { t: \"uint256\", v: nonce },\n { t: \"uint8\", v: messenger }\n );\n\n if (!message) {\n throw new SdkError(\"message cannot be undefined\");\n }\n const hash = Web3.utils.keccak256(Buffer.from(message.replace(\"0x\", \"\"), \"hex\") as any);\n\n const hashBuffer = Buffer.from(hash.replace(\"0x\", \"\"), \"hex\");\n hashBuffer[0] = sourceChainId;\n hashBuffer[1] = destinationsChainId;\n\n const messageWithSigner = Web3.utils.encodePacked(\n { t: \"bytes32\", v: \"0x\" + hashBuffer.toString(\"hex\") },\n { t: \"bytes32\", v: chainBridge }\n );\n\n if (!messageWithSigner) {\n throw new InvalidTxError(\"messageWithSigner cannot be undefined\");\n }\n\n const hashWithSigner = Web3.utils.keccak256(Buffer.from(messageWithSigner.replace(\"0x\", \"\"), \"hex\") as any);\n\n const hashWithSignerBuffer = Buffer.from(hashWithSigner.replace(\"0x\", \"\"), \"hex\");\n\n hashWithSignerBuffer[0] = hashBuffer[0];\n hashWithSignerBuffer[1] = hashBuffer[1];\n return hashWithSignerBuffer;\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CoinStruct } from "@mysten/sui/client";
|
|
2
|
+
import { Transaction } from "@mysten/sui/transactions";
|
|
3
|
+
export declare function getCoinsWithAmounts(amounts: string[], coins: CoinStruct[], tx: Transaction): never[] | ({
|
|
4
|
+
$kind: "Result";
|
|
5
|
+
Result: number;
|
|
6
|
+
} & {
|
|
7
|
+
$kind: "NestedResult";
|
|
8
|
+
NestedResult: [number, number];
|
|
9
|
+
}[]);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCoinsWithAmounts = getCoinsWithAmounts;
|
|
4
|
+
function getCoinsWithAmounts(amounts, coins, tx) {
|
|
5
|
+
if (coins.length === 0 || !coins[0]) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const firstCoin = coins[0];
|
|
9
|
+
const requiredAmount = amounts.reduce((total, amount) => total + BigInt(amount), BigInt(0));
|
|
10
|
+
let currentBalance = BigInt(firstCoin.balance);
|
|
11
|
+
const accumulatedCoins = [];
|
|
12
|
+
for (const coin of coins.slice(1)) {
|
|
13
|
+
if (currentBalance > requiredAmount) {
|
|
14
|
+
return splitAndMergeCoins(tx, firstCoin, accumulatedCoins, amounts);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
currentBalance += BigInt(coin.balance);
|
|
18
|
+
accumulatedCoins.push(coin);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (currentBalance >= requiredAmount) {
|
|
22
|
+
return splitAndMergeCoins(tx, firstCoin, accumulatedCoins, amounts);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function splitAndMergeCoins(tx, firstCoin, accumulatedCoins, amounts) {
|
|
29
|
+
const pureAmounts = amounts.map((amount) => {
|
|
30
|
+
return tx.pure.u64(amount);
|
|
31
|
+
});
|
|
32
|
+
if (accumulatedCoins.length > 0) {
|
|
33
|
+
tx.mergeCoins(firstCoin.coinObjectId, accumulatedCoins.map((c) => c.coinObjectId));
|
|
34
|
+
return tx.splitCoins(firstCoin.coinObjectId, pureAmounts);
|
|
35
|
+
}
|
|
36
|
+
return tx.splitCoins(firstCoin.coinObjectId, pureAmounts);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=coins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coins.js","sourceRoot":"","sources":["../../../../../src/services/utils/sui/coins.ts"],"names":[],"mappings":";;AAGA,kDAwBC;AAxBD,SAAgB,mBAAmB,CAAC,OAAiB,EAAE,KAAmB,EAAE,EAAe;IACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5F,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAiB,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,cAAc,GAAG,cAAc,EAAE,CAAC;YACpC,OAAO,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;QACrC,OAAO,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAe,EAAE,SAAqB,EAAE,gBAA8B,EAAE,OAAiB;IACnH,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,EAAE,CAAC,UAAU,CACX,SAAS,CAAC,YAAY,EACtB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAC5C,CAAC;QACF,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["import { CoinStruct } from \"@mysten/sui/client\";\nimport { Transaction } from \"@mysten/sui/transactions\";\n\nexport function getCoinsWithAmounts(amounts: string[], coins: CoinStruct[], tx: Transaction) {\n if (coins.length === 0 || !coins[0]) {\n return [];\n }\n const firstCoin = coins[0];\n const requiredAmount = amounts.reduce((total, amount) => total + BigInt(amount), BigInt(0));\n\n let currentBalance = BigInt(firstCoin.balance);\n const accumulatedCoins: CoinStruct[] = [];\n\n for (const coin of coins.slice(1)) {\n if (currentBalance > requiredAmount) {\n return splitAndMergeCoins(tx, firstCoin, accumulatedCoins, amounts);\n } else {\n currentBalance += BigInt(coin.balance);\n accumulatedCoins.push(coin);\n }\n }\n\n if (currentBalance >= requiredAmount) {\n return splitAndMergeCoins(tx, firstCoin, accumulatedCoins, amounts);\n } else {\n return [];\n }\n}\n\nfunction splitAndMergeCoins(tx: Transaction, firstCoin: CoinStruct, accumulatedCoins: CoinStruct[], amounts: string[]) {\n const pureAmounts = amounts.map((amount) => {\n return tx.pure.u64(amount);\n });\n if (accumulatedCoins.length > 0) {\n tx.mergeCoins(\n firstCoin.coinObjectId,\n accumulatedCoins.map((c) => c.coinObjectId)\n );\n return tx.splitCoins(firstCoin.coinObjectId, pureAmounts);\n }\n\n return tx.splitCoins(firstCoin.coinObjectId, pureAmounts);\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface PaginatedResults<Data> {
|
|
2
|
+
data: Data[];
|
|
3
|
+
hasNextPage: boolean;
|
|
4
|
+
nextCursor?: string | null;
|
|
5
|
+
}
|
|
6
|
+
export declare function fetchAllPagesRecursive<Data, Result extends PaginatedResults<Data>>(fetchFunction: (cursor?: string | null) => Promise<Result>, cursor?: string | null, accumulatedData?: Data[]): Promise<Data[]>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchAllPagesRecursive = fetchAllPagesRecursive;
|
|
4
|
+
async function fetchAllPagesRecursive(fetchFunction, cursor, accumulatedData = []) {
|
|
5
|
+
const result = await fetchFunction(cursor);
|
|
6
|
+
const newAccumulatedData = accumulatedData.concat(result.data);
|
|
7
|
+
if (result.hasNextPage && result.nextCursor) {
|
|
8
|
+
return fetchAllPagesRecursive(fetchFunction, result.nextCursor, newAccumulatedData);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return newAccumulatedData;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=paginated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginated.js","sourceRoot":"","sources":["../../../../../src/services/utils/sui/paginated.ts"],"names":[],"mappings":";;AAMA,wDAaC;AAbM,KAAK,UAAU,sBAAsB,CAC1C,aAA0D,EAC1D,MAAsB,EACtB,kBAA0B,EAAE;IAE5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/D,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,CAAC;IAC5B,CAAC;AACH,CAAC","sourcesContent":["interface PaginatedResults<Data> {\n data: Data[];\n hasNextPage: boolean;\n nextCursor?: string | null;\n}\n\nexport async function fetchAllPagesRecursive<Data, Result extends PaginatedResults<Data>>(\n fetchFunction: (cursor?: string | null) => Promise<Result>,\n cursor?: string | null,\n accumulatedData: Data[] = []\n): Promise<Data[]> {\n const result = await fetchFunction(cursor);\n const newAccumulatedData = accumulatedData.concat(result.data);\n\n if (result.hasNextPage && result.nextCursor) {\n return fetchAllPagesRecursive(fetchFunction, result.nextCursor, newAccumulatedData);\n } else {\n return newAccumulatedData;\n }\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
2
|
+
import { Transaction } from "@mysten/sui/transactions";
|
|
3
|
+
import { Reified, ToJSON, TypeArgument } from "../../models/sui/_framework/reified";
|
|
4
|
+
export declare function suiView<T extends TypeArgument>(client: SuiClient, tx: Transaction, reified: Reified<T, any>): Promise<ToJSON<T>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.suiView = suiView;
|
|
4
|
+
const reified_1 = require("../../models/sui/_framework/reified");
|
|
5
|
+
const mockSender = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
6
|
+
async function suiView(client, tx, reified) {
|
|
7
|
+
const inspectionResult = await client.devInspectTransactionBlock({
|
|
8
|
+
sender: mockSender,
|
|
9
|
+
transactionBlock: tx,
|
|
10
|
+
});
|
|
11
|
+
if (inspectionResult.effects.status.status !== "success") {
|
|
12
|
+
throw new Error(`inspectionResult failed. ${JSON.stringify(inspectionResult, null, 2)}`);
|
|
13
|
+
}
|
|
14
|
+
const returnValue = inspectionResult.results?.pop()?.returnValues?.pop();
|
|
15
|
+
if (!returnValue) {
|
|
16
|
+
throw new Error(`Something with inspectionResult went wrong. ${JSON.stringify(inspectionResult, null, 2)}`);
|
|
17
|
+
}
|
|
18
|
+
const [data, _type] = returnValue;
|
|
19
|
+
if (typeof reified === "object") {
|
|
20
|
+
return reified.fromBcs(Uint8Array.from(data)).toJSONField();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return (0, reified_1.toBcs)(reified).parse(Uint8Array.from(data));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../../src/services/utils/sui/view.ts"],"names":[],"mappings":";;AAMA,0BA0BC;AA9BD,iEAA2F;AAE3F,MAAM,UAAU,GAAG,oEAAoE,CAAC;AAEjF,KAAK,UAAU,OAAO,CAC3B,MAAiB,EACjB,EAAe,EACf,OAAwB;IAExB,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC;QAC/D,MAAM,EAAE,UAAU;QAClB,gBAAgB,EAAE,EAAE;KACrB,CAAC,CAAC;IACH,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;IAEzE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC;IAElC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAe,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC","sourcesContent":["import { SuiClient } from \"@mysten/sui/client\";\nimport { Transaction } from \"@mysten/sui/transactions\";\nimport { Reified, toBcs, ToJSON, TypeArgument } from \"../../models/sui/_framework/reified\";\n\nconst mockSender = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n\nexport async function suiView<T extends TypeArgument>(\n client: SuiClient,\n tx: Transaction,\n reified: Reified<T, any>\n): Promise<ToJSON<T>> {\n const inspectionResult = await client.devInspectTransactionBlock({\n sender: mockSender,\n transactionBlock: tx,\n });\n if (inspectionResult.effects.status.status !== \"success\") {\n throw new Error(`inspectionResult failed. ${JSON.stringify(inspectionResult, null, 2)}`);\n }\n\n const returnValue = inspectionResult.results?.pop()?.returnValues?.pop();\n\n if (!returnValue) {\n throw new Error(`Something with inspectionResult went wrong. ${JSON.stringify(inspectionResult, null, 2)}`);\n }\n\n const [data, _type] = returnValue;\n\n if (typeof reified === \"object\") {\n return reified.fromBcs(Uint8Array.from(data)).toJSONField() as ToJSON<T>;\n } else {\n return toBcs(reified).parse(Uint8Array.from(data));\n }\n}\n"]}
|
|
@@ -34,6 +34,11 @@ export interface ChainDetails extends BasicChainProperties {
|
|
|
34
34
|
* Number of confirmations required
|
|
35
35
|
*/
|
|
36
36
|
confirmations: number;
|
|
37
|
+
/**
|
|
38
|
+
* Sui addresses
|
|
39
|
+
* Optional. Defined for SUI
|
|
40
|
+
*/
|
|
41
|
+
suiAddresses?: SuiAddresses;
|
|
37
42
|
}
|
|
38
43
|
/**
|
|
39
44
|
* Contains tokens list
|
|
@@ -112,6 +117,34 @@ export interface Token {
|
|
|
112
117
|
* Token LP rate
|
|
113
118
|
*/
|
|
114
119
|
lpRate: string;
|
|
120
|
+
/**
|
|
121
|
+
* Sui addresses
|
|
122
|
+
* Optional. Defined for SUI
|
|
123
|
+
*/
|
|
124
|
+
suiAddresses?: SuiAddresses;
|
|
125
|
+
}
|
|
126
|
+
export interface SuiAddresses {
|
|
127
|
+
bridgeAddress: string;
|
|
128
|
+
bridgeAddressOrigin?: string;
|
|
129
|
+
bridgeObjectAddress: string;
|
|
130
|
+
allbridgeMessengerAddress: string;
|
|
131
|
+
allbridgeMessengerAddressOrigin?: string;
|
|
132
|
+
allbridgeMessengerObjectAddress: string;
|
|
133
|
+
gasOracleAddress: string;
|
|
134
|
+
gasOracleAddressOrigin?: string;
|
|
135
|
+
gasOracleObjectAddress: string;
|
|
136
|
+
utilsAddress: string;
|
|
137
|
+
wormholeMessengerAddress: string;
|
|
138
|
+
wormholeMessengerAddressOrigin?: string;
|
|
139
|
+
wormholeMessengerObjectAddress: string;
|
|
140
|
+
wormholeStateObjectAddress: string;
|
|
141
|
+
cctpAddress: string;
|
|
142
|
+
cctpAddressOrigin?: string;
|
|
143
|
+
cctpObjectAddress: string;
|
|
144
|
+
cctpDenyListObjectAddress: string;
|
|
145
|
+
cctpMessageTransmitterStateObjectAddress: string;
|
|
146
|
+
cctpTokenMessengerMinterStateObjectAddress: string;
|
|
147
|
+
cctpTreasuryObjectAddress: string;
|
|
115
148
|
}
|
|
116
149
|
/**
|
|
117
150
|
* General Token Interface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-info.model.js","sourceRoot":"","sources":["../../../src/tokens-info/tokens-info.model.ts"],"names":[],"mappings":"","sourcesContent":["import { ChainSymbol } from \"../chains/chain.enums\";\nimport { BasicChainProperties } from \"../chains/models\";\nimport { Messenger } from \"../client/core-api/core-api.model\";\n\n/**\n * Type representing a map of blockchain chain symbols to their corresponding details, including token information.\n *\n * @typedef {Record<string, ChainDetailsWithTokens>} ChainDetailsMap\n * @property {string} chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @property {ChainDetailsWithTokens} chainDetails - The detailed information of the specified chain, including token information.\n */\nexport type ChainDetailsMap = Record<string, ChainDetailsWithTokens>;\n\nexport type ChainDetailsMapWithFlags = Record<string, ChainDetailsWithTokensWithFlags>;\n\n/**\n * Contains some blockchain details\n */\nexport interface ChainDetails extends BasicChainProperties {\n /**\n * Allbridge's Id\n */\n allbridgeChainId: number;\n /**\n * Bridge contract address\n */\n bridgeAddress: string;\n /**\n * Average transfer time to other blockchains\n */\n transferTime: TransferTime;\n /**\n * Transfers costs\n */\n txCostAmount: TxCostAmount;\n /**\n * Number of confirmations required\n */\n confirmations: number;\n}\n\n/**\n * Contains tokens list\n */\nexport interface ChainDetailsWithTokens extends ChainDetails {\n /**\n * Tokens\n */\n tokens: TokenWithChainDetails[];\n}\n\n/**\n * Contains tokens list\n */\nexport interface ChainDetailsWithTokensWithFlags extends ChainDetails {\n /**\n * Tokens\n */\n tokens: TokenWithChainDetailsWithFlags[];\n}\n\n/**\n * Contains token information\n */\nexport interface Token {\n /**\n * Token symbol\n */\n symbol: string;\n /**\n * Token name\n */\n name: string;\n /**\n * Token decimals\n */\n decimals: number;\n /**\n * Token pool address\n */\n poolAddress: string;\n /**\n * Token address\n */\n tokenAddress: string;\n /**\n * Token origin address\n */\n originTokenAddress?: string;\n /**\n * Token CCTP address</br>\n * Optional. Defined if CCTP supported by token\n */\n cctpAddress?: string;\n /**\n * Token CCTP address</br>\n * Optional. Defined if CCTP supported by token\n */\n cctpFeeShare?: string;\n /**\n * Token fee share\n */\n feeShare: string;\n /**\n * @deprecated use {@link apr7d}</br>\n * Token APR\n */\n apr: string;\n /**\n * Token APR based on last 7 days\n */\n apr7d: string;\n /**\n * Token APR based on last 30 days\n */\n apr30d: string;\n /**\n * Token LP rate\n */\n lpRate: string;\n}\n\n/**\n * General Token Interface\n */\nexport interface TokenWithChainDetails extends Token, Omit<ChainDetails, \"name\"> {\n /**\n * Blockchain network name\n */\n chainName: string;\n}\n\nexport interface TokenWithChainDetailsWithFlags extends TokenWithChainDetails {\n flags: { swap: boolean; pool: boolean };\n}\n\n/**\n * General Pool Interface\n */\nexport interface PoolInfo {\n /**\n * Pool A value\n */\n aValue: string;\n /**\n * Pool D value\n */\n dValue: string;\n /**\n * Pool token balance\n */\n tokenBalance: string;\n /**\n * Pool virtual USD balance\n */\n vUsdBalance: string;\n /**\n * Pool total liquidity amount\n */\n totalLpAmount: string;\n /**\n * Current accumulated reward per share shifted by P bits\n */\n accRewardPerShareP: string;\n /**\n * P value, needed for accRewardPerShareP\n */\n p: number;\n /**\n * Pool imbalance\n */\n imbalance: string;\n}\n\n/**\n * Type representing transfer times for various blockchain chains.\n *\n * @typedef {Record<string, MessengerTransferTime>} TransferTime\n * @property {chain} chainSymbol\n * @property {MessengerTransferTime} transferTime - The average transfer time details for the specified chain.\n */\nexport type TransferTime = {\n [chain in ChainSymbol]?: MessengerTransferTime;\n};\n\n/**\n * Contains Avg transaction time withing different messenger protocols\n */\nexport type MessengerTransferTime = {\n [messenger in Messenger]?: number;\n};\n\nexport interface PoolKeyObject {\n chainSymbol: string;\n poolAddress: string;\n}\n\n/**\n * Contains transfer costs\n */\nexport interface TxCostAmount {\n /**\n * The maximum gas amount that can be received as extra gas for one transfer\n */\n maxAmount: string;\n /**\n * Swap cost\n */\n swap: string;\n /**\n * Transfer cost\n */\n transfer: string;\n}\n\nexport type PoolInfoMap = Record<string, PoolInfo>;\n"]}
|
|
1
|
+
{"version":3,"file":"tokens-info.model.js","sourceRoot":"","sources":["../../../src/tokens-info/tokens-info.model.ts"],"names":[],"mappings":"","sourcesContent":["import { ChainSymbol } from \"../chains/chain.enums\";\nimport { BasicChainProperties } from \"../chains/models\";\nimport { Messenger } from \"../client/core-api/core-api.model\";\n\n/**\n * Type representing a map of blockchain chain symbols to their corresponding details, including token information.\n *\n * @typedef {Record<string, ChainDetailsWithTokens>} ChainDetailsMap\n * @property {string} chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @property {ChainDetailsWithTokens} chainDetails - The detailed information of the specified chain, including token information.\n */\nexport type ChainDetailsMap = Record<string, ChainDetailsWithTokens>;\n\nexport type ChainDetailsMapWithFlags = Record<string, ChainDetailsWithTokensWithFlags>;\n\n/**\n * Contains some blockchain details\n */\nexport interface ChainDetails extends BasicChainProperties {\n /**\n * Allbridge's Id\n */\n allbridgeChainId: number;\n /**\n * Bridge contract address\n */\n bridgeAddress: string;\n /**\n * Average transfer time to other blockchains\n */\n transferTime: TransferTime;\n /**\n * Transfers costs\n */\n txCostAmount: TxCostAmount;\n /**\n * Number of confirmations required\n */\n confirmations: number;\n /**\n * Sui addresses\n * Optional. Defined for SUI\n */\n suiAddresses?: SuiAddresses;\n}\n\n/**\n * Contains tokens list\n */\nexport interface ChainDetailsWithTokens extends ChainDetails {\n /**\n * Tokens\n */\n tokens: TokenWithChainDetails[];\n}\n\n/**\n * Contains tokens list\n */\nexport interface ChainDetailsWithTokensWithFlags extends ChainDetails {\n /**\n * Tokens\n */\n tokens: TokenWithChainDetailsWithFlags[];\n}\n\n/**\n * Contains token information\n */\nexport interface Token {\n /**\n * Token symbol\n */\n symbol: string;\n /**\n * Token name\n */\n name: string;\n /**\n * Token decimals\n */\n decimals: number;\n /**\n * Token pool address\n */\n poolAddress: string;\n /**\n * Token address\n */\n tokenAddress: string;\n /**\n * Token origin address\n */\n originTokenAddress?: string;\n /**\n * Token CCTP address</br>\n * Optional. Defined if CCTP supported by token\n */\n cctpAddress?: string;\n /**\n * Token CCTP address</br>\n * Optional. Defined if CCTP supported by token\n */\n cctpFeeShare?: string;\n /**\n * Token fee share\n */\n feeShare: string;\n /**\n * @deprecated use {@link apr7d}</br>\n * Token APR\n */\n apr: string;\n /**\n * Token APR based on last 7 days\n */\n apr7d: string;\n /**\n * Token APR based on last 30 days\n */\n apr30d: string;\n /**\n * Token LP rate\n */\n lpRate: string;\n /**\n * Sui addresses\n * Optional. Defined for SUI\n */\n suiAddresses?: SuiAddresses;\n}\n\nexport interface SuiAddresses {\n bridgeAddress: string;\n bridgeAddressOrigin?: string;\n bridgeObjectAddress: string;\n\n allbridgeMessengerAddress: string;\n allbridgeMessengerAddressOrigin?: string;\n allbridgeMessengerObjectAddress: string;\n\n gasOracleAddress: string;\n gasOracleAddressOrigin?: string;\n gasOracleObjectAddress: string;\n\n utilsAddress: string;\n\n wormholeMessengerAddress: string;\n wormholeMessengerAddressOrigin?: string;\n wormholeMessengerObjectAddress: string;\n wormholeStateObjectAddress: string;\n\n cctpAddress: string;\n cctpAddressOrigin?: string;\n cctpObjectAddress: string;\n\n cctpDenyListObjectAddress: string;\n cctpMessageTransmitterStateObjectAddress: string;\n cctpTokenMessengerMinterStateObjectAddress: string;\n cctpTreasuryObjectAddress: string;\n}\n\n/**\n * General Token Interface\n */\nexport interface TokenWithChainDetails extends Token, Omit<ChainDetails, \"name\"> {\n /**\n * Blockchain network name\n */\n chainName: string;\n}\n\nexport interface TokenWithChainDetailsWithFlags extends TokenWithChainDetails {\n flags: { swap: boolean; pool: boolean };\n}\n\n/**\n * General Pool Interface\n */\nexport interface PoolInfo {\n /**\n * Pool A value\n */\n aValue: string;\n /**\n * Pool D value\n */\n dValue: string;\n /**\n * Pool token balance\n */\n tokenBalance: string;\n /**\n * Pool virtual USD balance\n */\n vUsdBalance: string;\n /**\n * Pool total liquidity amount\n */\n totalLpAmount: string;\n /**\n * Current accumulated reward per share shifted by P bits\n */\n accRewardPerShareP: string;\n /**\n * P value, needed for accRewardPerShareP\n */\n p: number;\n /**\n * Pool imbalance\n */\n imbalance: string;\n}\n\n/**\n * Type representing transfer times for various blockchain chains.\n *\n * @typedef {Record<string, MessengerTransferTime>} TransferTime\n * @property {chain} chainSymbol\n * @property {MessengerTransferTime} transferTime - The average transfer time details for the specified chain.\n */\nexport type TransferTime = {\n [chain in ChainSymbol]?: MessengerTransferTime;\n};\n\n/**\n * Contains Avg transaction time withing different messenger protocols\n */\nexport type MessengerTransferTime = {\n [messenger in Messenger]?: number;\n};\n\nexport interface PoolKeyObject {\n chainSymbol: string;\n poolAddress: string;\n}\n\n/**\n * Contains transfer costs\n */\nexport interface TxCostAmount {\n /**\n * The maximum gas amount that can be received as extra gas for one transfer\n */\n maxAmount: string;\n /**\n * Swap cost\n */\n swap: string;\n /**\n * Transfer cost\n */\n transfer: string;\n}\n\nexport type PoolInfoMap = Record<string, PoolInfo>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/calculation/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Big, BigSource } from \"big.js\";\nimport BN from \"bn.js\";\nimport { InsufficientPoolLiquidityError } from \"../../exceptions\";\nimport { PoolInfo, Token } from \"../../tokens-info\";\nimport { SYSTEM_PRECISION } from \"./constants\";\n\nexport function getFeePercent(input: BigSource, output: BigSource): number {\n return Big(100).minus(Big(100).times(output).div(input)).toNumber();\n}\n\nexport function toSystemPrecision(amount: BigSource, decimals: number): Big {\n return convertAmountPrecision(amount, decimals, SYSTEM_PRECISION).round(0, Big.roundDown);\n}\n\nexport function fromSystemPrecision(amount: BigSource, decimals: number): Big {\n return convertAmountPrecision(amount, SYSTEM_PRECISION, decimals);\n}\n\nexport function convertAmountPrecision(amount: BigSource, decimalsFrom: number, decimalsTo: number): Big {\n const dif = Big(decimalsTo).minus(decimalsFrom).toNumber();\n return Big(amount).times(toPowBase10(dif));\n}\n\nexport function toPowBase10(decimals: number): Big {\n return Big(10).pow(decimals);\n}\n\nexport function convertFloatAmountToInt(amountFloat: BigSource, decimals: number): Big {\n return Big(amountFloat).times(toPowBase10(decimals));\n}\n\nexport function convertIntAmountToFloat(amountInt: BigSource, decimals: number): Big {\n const amountValue = Big(amountInt);\n if (amountValue.eq(0)) {\n return Big(0);\n }\n return Big(amountValue).div(toPowBase10(decimals));\n}\n\nexport function calculatePoolInfoImbalance(poolInfo: Pick<PoolInfo, \"tokenBalance\" | \"vUsdBalance\">): string {\n return convertIntAmountToFloat(Big(poolInfo.tokenBalance).minus(poolInfo.vUsdBalance).toFixed(), SYSTEM_PRECISION)\n .div(2)\n .toFixed();\n}\n\nexport function swapToVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"p\" | \"imbalance\">,\n): string {\n const amountValue = Big(amount);\n if (amountValue.lte(0)) {\n return \"0\";\n }\n const fee = amountValue.times(feeShare);\n const amountWithoutFee = amountValue.minus(fee);\n const inSystemPrecision = toSystemPrecision(amountWithoutFee, decimals);\n const tokenBalance = Big(poolInfo.tokenBalance).plus(inSystemPrecision);\n const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);\n return Big(poolInfo.vUsdBalance).minus(vUsdNewAmount).round(0, Big.roundDown).toFixed();\n}\n\nexport function swapFromVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Pick<PoolInfo, \"vUsdBalance\" | \"aValue\" | \"dValue\" | \"tokenBalance\">,\n): string {\n const amountValue = Big(amount);\n if (amountValue.lte(0)) {\n return Big(0).toFixed();\n }\n const vUsdBalance = amountValue.plus(poolInfo.vUsdBalance);\n const newAmount = getY(vUsdBalance, poolInfo.aValue, poolInfo.dValue);\n const result = fromSystemPrecision(Big(poolInfo.tokenBalance).minus(newAmount), decimals);\n const fee = Big(result).times(feeShare);\n return Big(result).minus(fee).round(0, Big.roundDown).toFixed();\n}\n\nexport function getSwapFromVUsdPoolInfo(\n vUsdAmount: BigSource,\n poolInfo: Omit<PoolInfo, \"imbalance\">,\n): Pick<PoolInfo, \"vUsdBalance\" | \"aValue\" | \"dValue\" | \"tokenBalance\"> {\n const amountValue = Big(vUsdAmount);\n if (amountValue.lte(0)) {\n return poolInfo;\n }\n const vUsdBalance = amountValue.plus(poolInfo.vUsdBalance);\n const newAmount = getY(vUsdBalance, poolInfo.aValue, poolInfo.dValue);\n return {\n aValue: poolInfo.aValue,\n dValue: poolInfo.dValue,\n tokenBalance: newAmount.toFixed(0),\n vUsdBalance: vUsdBalance.toFixed(0),\n };\n}\n\n/**\n * @param amount - vUsd amount should be received\n * @param feeShare\n * @param decimals\n * @param poolInfo\n */\nexport function swapToVUsdReverse(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"imbalance\">,\n): Big {\n if (Big(amount).lte(0)) {\n return Big(0);\n }\n const vUsdNewAmount = Big(poolInfo.vUsdBalance).minus(amount);\n if (vUsdNewAmount.lte(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n const tokenBalance = getY(vUsdNewAmount, poolInfo.aValue, poolInfo.dValue);\n const inSystemPrecision = Big(tokenBalance).minus(poolInfo.tokenBalance);\n const amountWithoutFee = fromSystemPrecision(inSystemPrecision, decimals);\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amountWithoutFee).times(reversedFeeShare).round(0, Big.roundUp);\n return Big(amountWithoutFee).plus(fee).round(0, Big.roundDown);\n}\n\n/**\n * @param amount - amount should be received\n * @param feeShare\n * @param decimals\n * @param poolInfo\n */\nexport function swapFromVUsdReverse(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"imbalance\">,\n): Big {\n if (Big(amount).lte(0)) {\n return Big(0);\n }\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amount).times(reversedFeeShare).round(0, Big.roundUp);\n const amountWithFee = Big(amount).plus(fee);\n const inSystemPrecision = toSystemPrecision(amountWithFee, decimals);\n const tokenBalance = Big(poolInfo.tokenBalance).minus(inSystemPrecision);\n if (tokenBalance.lte(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);\n return Big(vUsdNewAmount).minus(poolInfo.vUsdBalance).round(0, Big.roundDown);\n}\n\n// y = (sqrt(x(4ad³ + x (4a(d - x) - d )²)) + x (4a(d - x) - d ))/8ax\n// commonPart = 4a(d - x) - d\n// sqrt = sqrt(x * (4ad³ + x * commonPart²)\n// y = (sqrt + x * commonPart) / divider\nexport function getY(x: BigSource, a: BigSource, d: BigSource): Big {\n const commonPartBig = Big(4).times(a).times(Big(d).minus(x)).minus(d);\n const dCubed = Big(d).pow(3);\n const commonPartSquared = commonPartBig.pow(2);\n const sqrtBig = Big(x)\n .times(Big(x).times(commonPartSquared).plus(Big(4).times(a).times(dCubed)))\n .sqrt()\n .round(0, Big.roundDown);\n const dividerBig = Big(8).times(a).times(x);\n const result = commonPartBig.times(x).plus(sqrtBig).div(dividerBig).round(0, Big.roundDown);\n if (result.eq(0)) {\n return Big(0);\n }\n return result.plus(1); // +1 to offset rounding errors\n}\n\nexport function getEarned(userLpAmount: string, userRewardDebt: string, accRewardPerShareP: string, p: number): string {\n const userLpAmountBN = new BN(userLpAmount);\n const accRewardPerSharePBN = new BN(accRewardPerShareP);\n const userRewardDebtBN = new BN(userRewardDebt);\n const rewards = userLpAmountBN.mul(accRewardPerSharePBN).shrn(p);\n return rewards.sub(userRewardDebtBN).toString();\n}\n\nexport function aprInPercents(apr: string): string {\n return Big(apr).gt(0) ? `${Number(Big(apr).times(100).toFixed(2)).toLocaleString()}%` : \"N/A\";\n}\n\n// a = 8Axy(x+y)\n// b = xy(16A - 4) / 3\n// c = sqrt(a² + b³)\n// D = cbrt(a + c) + cbrt(a - c)\nexport function getD(aValue: string, x: string, y: string): string {\n const xy = Big(x).times(y);\n const xPlusY = Big(x).plus(y);\n const a = Big(8).times(aValue).times(xy).times(xPlusY);\n const b = xy.times(Big(16).times(aValue).minus(4)).div(3);\n const aSquared = a.times(a);\n const bCubed = b.times(b).times(b);\n const a2b3 = aSquared.plus(bCubed);\n const c = Big(a2b3).sqrt();\n const cbrtAPlusC = Big(Math.cbrt(+a.plus(c).toFixed()));\n const cbrtAMinusC = Big(Math.cbrt(+a.minus(c).toFixed()));\n return cbrtAPlusC.plus(cbrtAMinusC).toFixed();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/calculation/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Big, BigSource } from \"big.js\";\nimport BN from \"bn.js\";\nimport { InsufficientPoolLiquidityError } from \"../../exceptions\";\nimport { PoolInfo, Token } from \"../../tokens-info\";\nimport { SYSTEM_PRECISION } from \"./constants\";\n\nexport function getFeePercent(input: BigSource, output: BigSource): number {\n return Big(100).minus(Big(100).times(output).div(input)).toNumber();\n}\n\nexport function toSystemPrecision(amount: BigSource, decimals: number): Big {\n return convertAmountPrecision(amount, decimals, SYSTEM_PRECISION).round(0, Big.roundDown);\n}\n\nexport function fromSystemPrecision(amount: BigSource, decimals: number): Big {\n return convertAmountPrecision(amount, SYSTEM_PRECISION, decimals);\n}\n\nexport function convertAmountPrecision(amount: BigSource, decimalsFrom: number, decimalsTo: number): Big {\n const dif = Big(decimalsTo).minus(decimalsFrom).toNumber();\n return Big(amount).times(toPowBase10(dif));\n}\n\nexport function toPowBase10(decimals: number): Big {\n return Big(10).pow(decimals);\n}\n\nexport function convertFloatAmountToInt(amountFloat: BigSource, decimals: number): Big {\n return Big(amountFloat).times(toPowBase10(decimals));\n}\n\nexport function convertIntAmountToFloat(amountInt: BigSource, decimals: number): Big {\n const amountValue = Big(amountInt);\n if (amountValue.eq(0)) {\n return Big(0);\n }\n return Big(amountValue).div(toPowBase10(decimals));\n}\n\nexport function calculatePoolInfoImbalance(poolInfo: Pick<PoolInfo, \"tokenBalance\" | \"vUsdBalance\">): string {\n return convertIntAmountToFloat(Big(poolInfo.tokenBalance).minus(poolInfo.vUsdBalance).toFixed(), SYSTEM_PRECISION)\n .div(2)\n .toFixed();\n}\n\nexport function swapToVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"p\" | \"imbalance\">\n): string {\n const amountValue = Big(amount);\n if (amountValue.lte(0)) {\n return \"0\";\n }\n const fee = amountValue.times(feeShare);\n const amountWithoutFee = amountValue.minus(fee);\n const inSystemPrecision = toSystemPrecision(amountWithoutFee, decimals);\n const tokenBalance = Big(poolInfo.tokenBalance).plus(inSystemPrecision);\n const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);\n return Big(poolInfo.vUsdBalance).minus(vUsdNewAmount).round(0, Big.roundDown).toFixed();\n}\n\nexport function swapFromVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Pick<PoolInfo, \"vUsdBalance\" | \"aValue\" | \"dValue\" | \"tokenBalance\">\n): string {\n const amountValue = Big(amount);\n if (amountValue.lte(0)) {\n return Big(0).toFixed();\n }\n const vUsdBalance = amountValue.plus(poolInfo.vUsdBalance);\n const newAmount = getY(vUsdBalance, poolInfo.aValue, poolInfo.dValue);\n const result = fromSystemPrecision(Big(poolInfo.tokenBalance).minus(newAmount), decimals);\n const fee = Big(result).times(feeShare);\n return Big(result).minus(fee).round(0, Big.roundDown).toFixed();\n}\n\nexport function getSwapFromVUsdPoolInfo(\n vUsdAmount: BigSource,\n poolInfo: Omit<PoolInfo, \"imbalance\">\n): Pick<PoolInfo, \"vUsdBalance\" | \"aValue\" | \"dValue\" | \"tokenBalance\"> {\n const amountValue = Big(vUsdAmount);\n if (amountValue.lte(0)) {\n return poolInfo;\n }\n const vUsdBalance = amountValue.plus(poolInfo.vUsdBalance);\n const newAmount = getY(vUsdBalance, poolInfo.aValue, poolInfo.dValue);\n return {\n aValue: poolInfo.aValue,\n dValue: poolInfo.dValue,\n tokenBalance: newAmount.toFixed(0),\n vUsdBalance: vUsdBalance.toFixed(0),\n };\n}\n\n/**\n * @param amount - vUsd amount should be received\n * @param feeShare\n * @param decimals\n * @param poolInfo\n */\nexport function swapToVUsdReverse(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"imbalance\">\n): Big {\n if (Big(amount).lte(0)) {\n return Big(0);\n }\n const vUsdNewAmount = Big(poolInfo.vUsdBalance).minus(amount);\n if (vUsdNewAmount.lte(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n const tokenBalance = getY(vUsdNewAmount, poolInfo.aValue, poolInfo.dValue);\n const inSystemPrecision = Big(tokenBalance).minus(poolInfo.tokenBalance);\n const amountWithoutFee = fromSystemPrecision(inSystemPrecision, decimals);\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amountWithoutFee).times(reversedFeeShare).round(0, Big.roundUp);\n return Big(amountWithoutFee).plus(fee).round(0, Big.roundDown);\n}\n\n/**\n * @param amount - amount should be received\n * @param feeShare\n * @param decimals\n * @param poolInfo\n */\nexport function swapFromVUsdReverse(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"imbalance\">\n): Big {\n if (Big(amount).lte(0)) {\n return Big(0);\n }\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amount).times(reversedFeeShare).round(0, Big.roundUp);\n const amountWithFee = Big(amount).plus(fee);\n const inSystemPrecision = toSystemPrecision(amountWithFee, decimals);\n const tokenBalance = Big(poolInfo.tokenBalance).minus(inSystemPrecision);\n if (tokenBalance.lte(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);\n return Big(vUsdNewAmount).minus(poolInfo.vUsdBalance).round(0, Big.roundDown);\n}\n\n// y = (sqrt(x(4ad³ + x (4a(d - x) - d )²)) + x (4a(d - x) - d ))/8ax\n// commonPart = 4a(d - x) - d\n// sqrt = sqrt(x * (4ad³ + x * commonPart²)\n// y = (sqrt + x * commonPart) / divider\nexport function getY(x: BigSource, a: BigSource, d: BigSource): Big {\n const commonPartBig = Big(4).times(a).times(Big(d).minus(x)).minus(d);\n const dCubed = Big(d).pow(3);\n const commonPartSquared = commonPartBig.pow(2);\n const sqrtBig = Big(x)\n .times(Big(x).times(commonPartSquared).plus(Big(4).times(a).times(dCubed)))\n .sqrt()\n .round(0, Big.roundDown);\n const dividerBig = Big(8).times(a).times(x);\n const result = commonPartBig.times(x).plus(sqrtBig).div(dividerBig).round(0, Big.roundDown);\n if (result.eq(0)) {\n return Big(0);\n }\n return result.plus(1); // +1 to offset rounding errors\n}\n\nexport function getEarned(userLpAmount: string, userRewardDebt: string, accRewardPerShareP: string, p: number): string {\n const userLpAmountBN = new BN(userLpAmount);\n const accRewardPerSharePBN = new BN(accRewardPerShareP);\n const userRewardDebtBN = new BN(userRewardDebt);\n const rewards = userLpAmountBN.mul(accRewardPerSharePBN).shrn(p);\n return rewards.sub(userRewardDebtBN).toString();\n}\n\nexport function aprInPercents(apr: string): string {\n return Big(apr).gt(0) ? `${Number(Big(apr).times(100).toFixed(2)).toLocaleString()}%` : \"N/A\";\n}\n\n// a = 8Axy(x+y)\n// b = xy(16A - 4) / 3\n// c = sqrt(a² + b³)\n// D = cbrt(a + c) + cbrt(a - c)\nexport function getD(aValue: string, x: string, y: string): string {\n const xy = Big(x).times(y);\n const xPlusY = Big(x).plus(y);\n const a = Big(8).times(aValue).times(xy).times(xPlusY);\n const b = xy.times(Big(16).times(aValue).minus(4)).div(3);\n const aSquared = a.times(a);\n const bCubed = b.times(b).times(b);\n const a2b3 = aSquared.plus(bCubed);\n const c = Big(a2b3).sqrt();\n const cbrtAPlusC = Big(Math.cbrt(+a.plus(c).toFixed()));\n const cbrtAMinusC = Big(Math.cbrt(+a.minus(c).toFixed()));\n return cbrtAPlusC.plus(cbrtAMinusC).toFixed();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap-and-bridge-details.js","sourceRoot":"","sources":["../../../../src/utils/calculation/swap-and-bridge-details.ts"],"names":[],"mappings":";;AAcA,oDAyCC;AAvDD,mCAA6B;AAE7B,mCAAiG;AAYjG,SAAgB,oBAAoB,CAClC,sBAA8B,EAC9B,WAAkC,EAClC,UAAoB,EACpB,SAAgC,EAChC,QAAkB;IAElB,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,sBAAsB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,IAAA,2BAAmB,EAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAA,YAAG,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvF,OAAO;QACL,YAAY,EAAE;YACZ,GAAG,EAAE,IAAA,+BAAuB,EAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAC3E,WAAW,CAAC,QAAQ,CACrB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;SACb;QACD,UAAU,EAAE;YACV,GAAG,EAAE,IAAA,+BAAuB,EAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,2BAAmB,EAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EACjF,SAAS,CAAC,QAAQ,CACnB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;SACb;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { Big } from \"big.js\";\nimport { PoolInfo, TokenWithChainDetails } from \"../../tokens-info\";\nimport { convertIntAmountToFloat, fromSystemPrecision, swapFromVUsd, swapToVUsd } from \"./index\";\n\nexport interface SendAmountDetails {\n sourceLPSwap: AmountImpact;\n destLPSwap: AmountImpact;\n}\n\nexport interface AmountImpact {\n fee: string;\n swap: string;\n}\n\nexport function getSendAmountDetails(\n amountInTokenPrecision: string,\n sourceToken: TokenWithChainDetails,\n sourcePool: PoolInfo,\n destToken: TokenWithChainDetails,\n destPool: PoolInfo
|
|
1
|
+
{"version":3,"file":"swap-and-bridge-details.js","sourceRoot":"","sources":["../../../../src/utils/calculation/swap-and-bridge-details.ts"],"names":[],"mappings":";;AAcA,oDAyCC;AAvDD,mCAA6B;AAE7B,mCAAiG;AAYjG,SAAgB,oBAAoB,CAClC,sBAA8B,EAC9B,WAAkC,EAClC,UAAoB,EACpB,SAAgC,EAChC,QAAkB;IAElB,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,sBAAsB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,IAAA,2BAAmB,EAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAA,YAAG,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvF,OAAO;QACL,YAAY,EAAE;YACZ,GAAG,EAAE,IAAA,+BAAuB,EAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAC3E,WAAW,CAAC,QAAQ,CACrB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;SACb;QACD,UAAU,EAAE;YACV,GAAG,EAAE,IAAA,+BAAuB,EAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,2BAAmB,EAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EACjF,SAAS,CAAC,QAAQ,CACnB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;SACb;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { Big } from \"big.js\";\nimport { PoolInfo, TokenWithChainDetails } from \"../../tokens-info\";\nimport { convertIntAmountToFloat, fromSystemPrecision, swapFromVUsd, swapToVUsd } from \"./index\";\n\nexport interface SendAmountDetails {\n sourceLPSwap: AmountImpact;\n destLPSwap: AmountImpact;\n}\n\nexport interface AmountImpact {\n fee: string;\n swap: string;\n}\n\nexport function getSendAmountDetails(\n amountInTokenPrecision: string,\n sourceToken: TokenWithChainDetails,\n sourcePool: PoolInfo,\n destToken: TokenWithChainDetails,\n destPool: PoolInfo\n): SendAmountDetails {\n const vUsd = swapToVUsd(amountInTokenPrecision, sourceToken, sourcePool);\n const vUsdInTokenPrecision = fromSystemPrecision(vUsd, sourceToken.decimals);\n const result = swapFromVUsd(vUsd, destToken, destPool);\n\n const swapToFeeInt = Big(amountInTokenPrecision).times(sourceToken.feeShare);\n const swapFromFeeInt = Big(result).div(Big(1).minus(destToken.feeShare)).minus(result);\n return {\n sourceLPSwap: {\n fee: convertIntAmountToFloat(swapToFeeInt, sourceToken.decimals)\n .neg()\n .round(sourceToken.decimals, Big.roundUp)\n .toFixed(),\n swap: convertIntAmountToFloat(\n Big(amountInTokenPrecision).minus(vUsdInTokenPrecision).minus(swapToFeeInt),\n sourceToken.decimals\n )\n .neg()\n .round(sourceToken.decimals, Big.roundUp)\n .toFixed(),\n },\n destLPSwap: {\n fee: convertIntAmountToFloat(swapFromFeeInt, destToken.decimals)\n .neg()\n .round(destToken.decimals, Big.roundUp)\n .toFixed(),\n swap: convertIntAmountToFloat(\n fromSystemPrecision(vUsd, destToken.decimals).minus(result).minus(swapFromFeeInt),\n destToken.decimals\n )\n .neg()\n .round(destToken.decimals, Big.roundUp)\n .toFixed(),\n },\n };\n}\n"]}
|