@allbridge/bridge-core-sdk 3.20.0 → 3.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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
|
@@ -1,40 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
6
|
exports.EvmBridgeService = void 0;
|
|
30
|
-
const anchor = __importStar(require("@project-serum/anchor"));
|
|
31
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
32
7
|
const big_js_1 = require("big.js");
|
|
33
8
|
const models_1 = require("../../../models");
|
|
34
9
|
const Bridge_1 = __importDefault(require("../../models/abi/Bridge"));
|
|
35
10
|
const CctpBridge_1 = __importDefault(require("../../models/abi/CctpBridge"));
|
|
36
|
-
const
|
|
37
|
-
const anchor_provider_1 = require("../../utils/sol/anchor-provider");
|
|
11
|
+
const get_cctp_sol_token_recipient_address_1 = require("../get-cctp-sol-token-recipient-address");
|
|
38
12
|
const models_2 = require("../models");
|
|
39
13
|
const utils_1 = require("../utils");
|
|
40
14
|
class EvmBridgeService extends models_2.ChainBridgeService {
|
|
@@ -105,40 +79,13 @@ class EvmBridgeService extends models_2.ChainBridgeService {
|
|
|
105
79
|
let sendMethod;
|
|
106
80
|
let value;
|
|
107
81
|
if (params.destinationToken.chainType === models_1.ChainType.SOLANA) {
|
|
108
|
-
|
|
109
|
-
const receiverAccount = new web3_js_1.PublicKey(params.toAccountAddress);
|
|
110
|
-
const receiveMint = new web3_js_1.PublicKey(params.destinationToken.tokenAddress);
|
|
111
|
-
const receiveUserToken = await (0, accounts_1.getAssociatedAccount)(receiverAccount, receiveMint);
|
|
112
|
-
const provider = (0, anchor_provider_1.buildAnchorProvider)(this.nodeRpcUrlsConfig.getNodeRpcUrl(models_1.ChainSymbol.SOL), params.toAccountAddress);
|
|
113
|
-
anchor.setProvider(provider);
|
|
114
|
-
const accountData = await anchor.Spl.token(provider).account.token.fetchNullable(receiveUserToken);
|
|
115
|
-
if (accountData?.authority.equals(receiverAccount)) {
|
|
116
|
-
recipientWalletAddress = (0, utils_1.formatAddress)(receiveUserToken.toBase58(), models_1.ChainType.SOLANA, this.chainType);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
const tokenAccounts = await provider.connection.getTokenAccountsByOwner(receiverAccount, {
|
|
120
|
-
mint: receiveMint,
|
|
121
|
-
});
|
|
122
|
-
if (tokenAccounts.value.length === 0 && !accountData) {
|
|
123
|
-
recipientWalletAddress = (0, utils_1.formatAddress)(receiveUserToken.toBase58(), models_1.ChainType.SOLANA, this.chainType);
|
|
124
|
-
}
|
|
125
|
-
else if (tokenAccounts.value.length > 0) {
|
|
126
|
-
const firstTokenAccount = tokenAccounts.value[0];
|
|
127
|
-
if (!firstTokenAccount?.pubkey) {
|
|
128
|
-
throw new models_1.SdkError("First token account or its public key is undefined");
|
|
129
|
-
}
|
|
130
|
-
recipientWalletAddress = (0, utils_1.formatAddress)(firstTokenAccount.pubkey.toBase58(), models_1.ChainType.SOLANA, this.chainType);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
throw new models_1.SdkError("Associated account has wrong owner");
|
|
134
|
-
}
|
|
135
|
-
}
|
|
82
|
+
const recipient = await (0, get_cctp_sol_token_recipient_address_1.getCctpSolTokenRecipientAddress)(this.chainType, params.toAccountAddress, params.destinationToken.tokenAddress, this.nodeRpcUrlsConfig.getNodeRpcUrl(models_1.ChainSymbol.SOL));
|
|
136
83
|
if (gasFeePaymentMethod === models_1.FeePaymentMethod.WITH_STABLECOIN) {
|
|
137
|
-
sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(amount,
|
|
84
|
+
sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(amount, recipient, toAccountAddress, toChainId, totalFee);
|
|
138
85
|
value = "0";
|
|
139
86
|
}
|
|
140
87
|
else {
|
|
141
|
-
sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(amount,
|
|
88
|
+
sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(amount, recipient, toAccountAddress, toChainId, 0);
|
|
142
89
|
value = totalFee;
|
|
143
90
|
}
|
|
144
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/evm/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as anchor from \"@project-serum/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\nimport { Big } from \"big.js\";\nimport BN from \"bn.js\";\nimport { Contract, Transaction as Web3Transaction } from \"web3\";\nimport { PayableMethodObject } from \"web3-eth-contract\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport {\n ChainSymbol,\n ChainType,\n FeePaymentMethod,\n Messenger,\n EssentialWeb3,\n SdkError,\n SwapParams,\n TransactionResponse,\n} from \"../../../models\";\nimport { NodeRpcUrlsConfig } from \"../../index\";\nimport { RawTransaction } from \"../../models\";\nimport Bridge from \"../../models/abi/Bridge\";\nimport CctpBridge from \"../../models/abi/CctpBridge\";\nimport { getAssociatedAccount } from \"../../utils/sol/accounts\";\nimport { buildAnchorProvider } from \"../../utils/sol/anchor-provider\";\nimport { SendParams, ChainBridgeService, TxSwapParamsEvm, TxSendParamsEvm } from \"../models\";\nimport { formatAddress, getNonce, prepareTxSendParams, prepareTxSwapParams } from \"../utils\";\n\nexport class EvmBridgeService extends ChainBridgeService {\n chainType: ChainType.EVM = ChainType.EVM;\n\n constructor(\n public web3: EssentialWeb3,\n public api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n ) {\n super();\n }\n\n async send(params: SendParams): Promise<TransactionResponse> {\n const rawTransaction = await this.buildRawTransactionSend(params);\n return this.sendRawTransaction(rawTransaction);\n }\n\n async buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction> {\n const txSwapParams = prepareTxSwapParams(this.chainType, params);\n return await this.buildRawTransactionSwapFromParams(txSwapParams);\n }\n\n async buildRawTransactionSwapFromParams(params: TxSwapParamsEvm): Promise<RawTransaction> {\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toAccountAddress,\n toTokenAddress,\n minimumReceiveAmount,\n } = params;\n\n const bridgeContract = this.getBridgeContract(contractAddress);\n\n const swapMethod = bridgeContract.methods.swap(\n amount,\n fromTokenAddress,\n toTokenAddress,\n toAccountAddress,\n minimumReceiveAmount,\n );\n\n return Promise.resolve({\n from: fromAccountAddress,\n to: contractAddress,\n data: swapMethod.encodeABI(),\n });\n }\n\n async buildRawTransactionSend(params: SendParams): Promise<RawTransaction> {\n const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toChainId,\n toAccountAddress,\n toTokenAddress,\n messenger,\n fee,\n gasFeePaymentMethod,\n extraGas,\n } = txSendParams;\n\n const nonce = \"0x\" + getNonce().toString(\"hex\");\n let sendMethod: PayableMethodObject;\n let value: string;\n\n let totalFee = fee;\n if (extraGas) {\n totalFee = Big(totalFee).plus(extraGas).toFixed();\n }\n if (messenger === Messenger.CCTP) {\n const cctp = await this.buildRawTransactionCctpSend(params, txSendParams, totalFee);\n sendMethod = cctp.sendMethod;\n value = cctp.value;\n } else {\n const bridgeContract = this.getBridgeContract(contractAddress);\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = bridgeContract.methods.swapAndBridge(\n fromTokenAddress,\n amount,\n toAccountAddress,\n toChainId,\n toTokenAddress,\n nonce,\n messenger,\n totalFee,\n );\n value = \"0\";\n } else {\n sendMethod = bridgeContract.methods.swapAndBridge(\n fromTokenAddress,\n amount,\n toAccountAddress,\n toChainId,\n toTokenAddress,\n nonce,\n messenger,\n 0,\n );\n value = totalFee;\n }\n }\n\n return Promise.resolve({\n from: fromAccountAddress,\n to: contractAddress,\n value: value,\n data: sendMethod.encodeABI(),\n });\n }\n\n private async buildRawTransactionCctpSend(\n params: SendParams,\n txSendParams: TxSendParamsEvm,\n totalFee: string,\n ): Promise<{\n sendMethod: PayableMethodObject;\n value: string;\n }> {\n const { amount, contractAddress, toChainId, toAccountAddress, gasFeePaymentMethod } = txSendParams;\n\n const cctpBridgeContract = this.getCctpBridgeContract(contractAddress);\n let sendMethod: PayableMethodObject;\n let value: string;\n\n if (params.destinationToken.chainType === ChainType.SOLANA) {\n let recipientWalletAddress: string;\n const receiverAccount = new PublicKey(params.toAccountAddress);\n const receiveMint = new PublicKey(params.destinationToken.tokenAddress);\n const receiveUserToken = await getAssociatedAccount(receiverAccount, receiveMint);\n const provider = buildAnchorProvider(\n this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL),\n params.toAccountAddress,\n );\n anchor.setProvider(provider);\n const accountData = await anchor.Spl.token(provider).account.token.fetchNullable(receiveUserToken);\n if (accountData?.authority.equals(receiverAccount)) {\n recipientWalletAddress = formatAddress(receiveUserToken.toBase58(), ChainType.SOLANA, this.chainType);\n } else {\n const tokenAccounts = await provider.connection.getTokenAccountsByOwner(receiverAccount, {\n mint: receiveMint,\n });\n if (tokenAccounts.value.length === 0 && !accountData) {\n recipientWalletAddress = formatAddress(receiveUserToken.toBase58(), ChainType.SOLANA, this.chainType);\n } else if (tokenAccounts.value.length > 0) {\n const firstTokenAccount = tokenAccounts.value[0];\n\n if (!firstTokenAccount?.pubkey) {\n throw new SdkError(\"First token account or its public key is undefined\");\n }\n recipientWalletAddress = formatAddress(firstTokenAccount.pubkey.toBase58(), ChainType.SOLANA, this.chainType);\n } else {\n throw new SdkError(\"Associated account has wrong owner\");\n }\n }\n\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(\n amount,\n recipientWalletAddress,\n toAccountAddress,\n toChainId,\n totalFee,\n );\n value = \"0\";\n } else {\n sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(\n amount,\n recipientWalletAddress,\n toAccountAddress,\n toChainId,\n 0,\n );\n value = totalFee;\n }\n } else {\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = cctpBridgeContract.methods.bridge(amount, toAccountAddress, toChainId, totalFee);\n value = \"0\";\n } else {\n sendMethod = cctpBridgeContract.methods.bridge(amount, toAccountAddress, toChainId, 0);\n value = totalFee;\n }\n }\n return { sendMethod, value };\n }\n\n private async sendRawTransaction(rawTransaction: RawTransaction) {\n const estimateGas = await this.web3.eth.estimateGas(rawTransaction as Web3Transaction);\n\n // @ts-expect-error DISABLE SITE SUGGESTED GAS FEE IN METAMASK\n // prettier-ignore\n const feeOptions: { maxPriorityFeePerGas?: number | string | BN; maxFeePerGas?: number | string | BN } = { maxPriorityFeePerGas: null, maxFeePerGas: null };\n const { transactionHash } = await this.web3.eth.sendTransaction({\n ...(rawTransaction as object),\n gas: estimateGas,\n ...feeOptions,\n } as Web3Transaction);\n return { txId: transactionHash.toString() };\n }\n\n private getBridgeContract(contractAddress: string) {\n return new this.web3.eth.Contract(Bridge.abi, contractAddress) as Contract<typeof Bridge.abi>;\n }\n\n private getCctpBridgeContract(contractAddress: string) {\n return new this.web3.eth.Contract(CctpBridge.abi, contractAddress) as Contract<typeof CctpBridge.abi>;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/bridge/evm/index.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA6B;AAK7B,4CAQyB;AAGzB,qEAA6C;AAC7C,6EAAqD;AACrD,kGAA0F;AAC1F,sCAA6F;AAC7F,oCAA8E;AAE9E,MAAa,gBAAiB,SAAQ,2BAAkB;IAI7C;IACA;IACC;IALV,SAAS,GAAkB,kBAAS,CAAC,GAAG,CAAC;IAEzC,YACS,IAAmB,EACnB,GAAwB,EACvB,iBAAoC;QAE5C,KAAK,EAAE,CAAC;QAJD,SAAI,GAAJ,IAAI,CAAe;QACnB,QAAG,GAAH,GAAG,CAAqB;QACvB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAG9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAkB;QAC3B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAkB;QAC9C,MAAM,YAAY,GAAG,IAAA,2BAAmB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,MAAM,IAAI,CAAC,iCAAiC,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,MAAuB;QAC7D,MAAM,EACJ,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,GAAG,MAAM,CAAC;QAEX,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAC5C,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAkB;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAmB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjF,MAAM,EACJ,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,GAAG,EACH,mBAAmB,EACnB,QAAQ,GACT,GAAG,YAAY,CAAC;QAEjB,MAAM,KAAK,GAAG,IAAI,GAAG,IAAA,gBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,UAA+B,CAAC;QACpC,IAAI,KAAa,CAAC;QAElB,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,IAAA,YAAG,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,SAAS,KAAK,kBAAS,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACpF,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,mBAAmB,KAAK,yBAAgB,CAAC,eAAe,EAAE,CAAC;gBAC7D,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAC/C,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,KAAK,EACL,SAAS,EACT,QAAQ,CACT,CAAC;gBACF,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAC/C,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,KAAK,EACL,SAAS,EACT,CAAC,CACF,CAAC;gBACF,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,MAAkB,EAClB,YAA6B,EAC7B,QAAgB;QAKhB,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;QAEnG,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QACvE,IAAI,UAA+B,CAAC;QACpC,IAAI,KAAa,CAAC;QAElB,IAAI,MAAM,CAAC,gBAAgB,CAAC,SAAS,KAAK,kBAAS,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,IAAA,sEAA+B,EACrD,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,gBAAgB,CAAC,YAAY,EACpC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,oBAAW,CAAC,GAAG,CAAC,CACtD,CAAC;YAEF,IAAI,mBAAmB,KAAK,yBAAgB,CAAC,eAAe,EAAE,CAAC;gBAC7D,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,uBAAuB,CAC7D,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,QAAQ,CACT,CAAC;gBACF,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,uBAAuB,CAC7D,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,CAAC,CACF,CAAC;gBACF,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,mBAAmB,KAAK,yBAAgB,CAAC,eAAe,EAAE,CAAC;gBAC7D,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC9F,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvF,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,cAA8B;QAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,cAAiC,CAAC,CAAC;QAEvF,8DAA8D;QAC9D,kBAAkB;QAClB,MAAM,UAAU,GAAyF,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC5J,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9D,GAAI,cAAyB;YAC7B,GAAG,EAAE,WAAW;YAChB,GAAG,UAAU;SACK,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9C,CAAC;IAEO,iBAAiB,CAAC,eAAuB;QAC/C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAM,CAAC,GAAG,EAAE,eAAe,CAAgC,CAAC;IAChG,CAAC;IAEO,qBAAqB,CAAC,eAAuB;QACnD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAU,CAAC,GAAG,EAAE,eAAe,CAAoC,CAAC;IACxG,CAAC;CACF;AA5LD,4CA4LC","sourcesContent":["import { Big } from \"big.js\";\nimport BN from \"bn.js\";\nimport { Contract, Transaction as Web3Transaction } from \"web3\";\nimport { PayableMethodObject } from \"web3-eth-contract\";\nimport { AllbridgeCoreClient } from \"../../../client/core-api/core-client-base\";\nimport {\n ChainSymbol,\n ChainType,\n FeePaymentMethod,\n Messenger,\n EssentialWeb3,\n SwapParams,\n TransactionResponse,\n} from \"../../../models\";\nimport { NodeRpcUrlsConfig } from \"../../index\";\nimport { RawTransaction } from \"../../models\";\nimport Bridge from \"../../models/abi/Bridge\";\nimport CctpBridge from \"../../models/abi/CctpBridge\";\nimport { getCctpSolTokenRecipientAddress } from \"../get-cctp-sol-token-recipient-address\";\nimport { SendParams, ChainBridgeService, TxSwapParamsEvm, TxSendParamsEvm } from \"../models\";\nimport { getNonce, prepareTxSendParams, prepareTxSwapParams } from \"../utils\";\n\nexport class EvmBridgeService extends ChainBridgeService {\n chainType: ChainType.EVM = ChainType.EVM;\n\n constructor(\n public web3: EssentialWeb3,\n public api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig\n ) {\n super();\n }\n\n async send(params: SendParams): Promise<TransactionResponse> {\n const rawTransaction = await this.buildRawTransactionSend(params);\n return this.sendRawTransaction(rawTransaction);\n }\n\n async buildRawTransactionSwap(params: SwapParams): Promise<RawTransaction> {\n const txSwapParams = prepareTxSwapParams(this.chainType, params);\n return await this.buildRawTransactionSwapFromParams(txSwapParams);\n }\n\n async buildRawTransactionSwapFromParams(params: TxSwapParamsEvm): Promise<RawTransaction> {\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toAccountAddress,\n toTokenAddress,\n minimumReceiveAmount,\n } = params;\n\n const bridgeContract = this.getBridgeContract(contractAddress);\n\n const swapMethod = bridgeContract.methods.swap(\n amount,\n fromTokenAddress,\n toTokenAddress,\n toAccountAddress,\n minimumReceiveAmount\n );\n\n return Promise.resolve({\n from: fromAccountAddress,\n to: contractAddress,\n data: swapMethod.encodeABI(),\n });\n }\n\n async buildRawTransactionSend(params: SendParams): Promise<RawTransaction> {\n const txSendParams = await prepareTxSendParams(this.chainType, params, this.api);\n const {\n amount,\n contractAddress,\n fromAccountAddress,\n fromTokenAddress,\n toChainId,\n toAccountAddress,\n toTokenAddress,\n messenger,\n fee,\n gasFeePaymentMethod,\n extraGas,\n } = txSendParams;\n\n const nonce = \"0x\" + getNonce().toString(\"hex\");\n let sendMethod: PayableMethodObject;\n let value: string;\n\n let totalFee = fee;\n if (extraGas) {\n totalFee = Big(totalFee).plus(extraGas).toFixed();\n }\n if (messenger === Messenger.CCTP) {\n const cctp = await this.buildRawTransactionCctpSend(params, txSendParams, totalFee);\n sendMethod = cctp.sendMethod;\n value = cctp.value;\n } else {\n const bridgeContract = this.getBridgeContract(contractAddress);\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = bridgeContract.methods.swapAndBridge(\n fromTokenAddress,\n amount,\n toAccountAddress,\n toChainId,\n toTokenAddress,\n nonce,\n messenger,\n totalFee\n );\n value = \"0\";\n } else {\n sendMethod = bridgeContract.methods.swapAndBridge(\n fromTokenAddress,\n amount,\n toAccountAddress,\n toChainId,\n toTokenAddress,\n nonce,\n messenger,\n 0\n );\n value = totalFee;\n }\n }\n\n return Promise.resolve({\n from: fromAccountAddress,\n to: contractAddress,\n value: value,\n data: sendMethod.encodeABI(),\n });\n }\n\n private async buildRawTransactionCctpSend(\n params: SendParams,\n txSendParams: TxSendParamsEvm,\n totalFee: string\n ): Promise<{\n sendMethod: PayableMethodObject;\n value: string;\n }> {\n const { amount, contractAddress, toChainId, toAccountAddress, gasFeePaymentMethod } = txSendParams;\n\n const cctpBridgeContract = this.getCctpBridgeContract(contractAddress);\n let sendMethod: PayableMethodObject;\n let value: string;\n\n if (params.destinationToken.chainType === ChainType.SOLANA) {\n const recipient = await getCctpSolTokenRecipientAddress(\n this.chainType,\n params.toAccountAddress,\n params.destinationToken.tokenAddress,\n this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL)\n );\n\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(\n amount,\n recipient,\n toAccountAddress,\n toChainId,\n totalFee\n );\n value = \"0\";\n } else {\n sendMethod = cctpBridgeContract.methods.bridgeWithWalletAddress(\n amount,\n recipient,\n toAccountAddress,\n toChainId,\n 0\n );\n value = totalFee;\n }\n } else {\n if (gasFeePaymentMethod === FeePaymentMethod.WITH_STABLECOIN) {\n sendMethod = cctpBridgeContract.methods.bridge(amount, toAccountAddress, toChainId, totalFee);\n value = \"0\";\n } else {\n sendMethod = cctpBridgeContract.methods.bridge(amount, toAccountAddress, toChainId, 0);\n value = totalFee;\n }\n }\n return { sendMethod, value };\n }\n\n private async sendRawTransaction(rawTransaction: RawTransaction) {\n const estimateGas = await this.web3.eth.estimateGas(rawTransaction as Web3Transaction);\n\n // @ts-expect-error DISABLE SITE SUGGESTED GAS FEE IN METAMASK\n // prettier-ignore\n const feeOptions: { maxPriorityFeePerGas?: number | string | BN; maxFeePerGas?: number | string | BN } = { maxPriorityFeePerGas: null, maxFeePerGas: null };\n const { transactionHash } = await this.web3.eth.sendTransaction({\n ...(rawTransaction as object),\n gas: estimateGas,\n ...feeOptions,\n } as Web3Transaction);\n return { txId: transactionHash.toString() };\n }\n\n private getBridgeContract(contractAddress: string) {\n return new this.web3.eth.Contract(Bridge.abi, contractAddress) as Contract<typeof Bridge.abi>;\n }\n\n private getCctpBridgeContract(contractAddress: string) {\n return new this.web3.eth.Contract(CctpBridge.abi, contractAddress) as Contract<typeof CctpBridge.abi>;\n }\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ChainType } from "../../chains/chain.enums";
|
|
2
|
+
export declare function getCctpSolTokenRecipientAddress(chainType: ChainType.EVM | ChainType.SUI, toAccountAddress: string, destinationTokenAddress: string, solRpcUrl: string): Promise<string>;
|
|
3
|
+
export declare function getCctpSolTokenRecipientAddress(chainType: ChainType.TRX, toAccountAddress: string, destinationTokenAddress: string, solRpcUrl: string): Promise<Buffer>;
|
|
4
|
+
export declare function getCctpSolTokenRecipientAddress(chainType: ChainType.SOLANA | ChainType.SRB, toAccountAddress: string, destinationTokenAddress: string, solRpcUrl: string): Promise<number[]>;
|
|
5
|
+
export declare function getCctpSolTokenRecipientAddress(chainType: ChainType, toAccountAddress: string, destinationTokenAddress: string, solRpcUrl: string): Promise<string | number[] | Buffer>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.getCctpSolTokenRecipientAddress = getCctpSolTokenRecipientAddress;
|
|
27
|
+
const anchor = __importStar(require("@project-serum/anchor"));
|
|
28
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
29
|
+
const chain_enums_1 = require("../../chains/chain.enums");
|
|
30
|
+
const exceptions_1 = require("../../exceptions");
|
|
31
|
+
const accounts_1 = require("../utils/sol/accounts");
|
|
32
|
+
const anchor_provider_1 = require("../utils/sol/anchor-provider");
|
|
33
|
+
const utils_1 = require("./utils");
|
|
34
|
+
// 2. COMMON Realization
|
|
35
|
+
async function getCctpSolTokenRecipientAddress(chainType, toAccountAddress, destinationTokenAddress, solRpcUrl) {
|
|
36
|
+
let recipientWalletAddress;
|
|
37
|
+
const receiverAccount = new web3_js_1.PublicKey(toAccountAddress);
|
|
38
|
+
const receiveMint = new web3_js_1.PublicKey(destinationTokenAddress);
|
|
39
|
+
const receiveUserToken = await (0, accounts_1.getAssociatedAccount)(receiverAccount, receiveMint);
|
|
40
|
+
const provider = (0, anchor_provider_1.buildAnchorProvider)(solRpcUrl, toAccountAddress);
|
|
41
|
+
anchor.setProvider(provider);
|
|
42
|
+
const accountData = await anchor.Spl.token(provider).account.token.fetchNullable(receiveUserToken);
|
|
43
|
+
if (accountData?.authority.equals(receiverAccount)) {
|
|
44
|
+
recipientWalletAddress = (0, utils_1.formatAddress)(receiveUserToken.toBase58(), chain_enums_1.ChainType.SOLANA, chainType);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const tokenAccounts = await provider.connection.getTokenAccountsByOwner(receiverAccount, {
|
|
48
|
+
mint: receiveMint,
|
|
49
|
+
});
|
|
50
|
+
if (tokenAccounts.value.length === 0 && !accountData) {
|
|
51
|
+
recipientWalletAddress = (0, utils_1.formatAddress)(receiveUserToken.toBase58(), chain_enums_1.ChainType.SOLANA, chainType);
|
|
52
|
+
}
|
|
53
|
+
else if (tokenAccounts.value.length > 0) {
|
|
54
|
+
const firstTokenAccount = tokenAccounts.value[0];
|
|
55
|
+
if (!firstTokenAccount?.pubkey) {
|
|
56
|
+
throw new exceptions_1.SdkError("First token account or its public key is undefined");
|
|
57
|
+
}
|
|
58
|
+
recipientWalletAddress = (0, utils_1.formatAddress)(firstTokenAccount.pubkey.toBase58(), chain_enums_1.ChainType.SOLANA, chainType);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
throw new exceptions_1.SdkError("Associated account has wrong owner");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return recipientWalletAddress;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=get-cctp-sol-token-recipient-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-cctp-sol-token-recipient-address.js","sourceRoot":"","sources":["../../../../src/services/bridge/get-cctp-sol-token-recipient-address.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,0EAiCC;AApED,8DAAgD;AAChD,6CAA4C;AAC5C,0DAAqD;AACrD,iDAA4C;AAC5C,oDAA6D;AAC7D,kEAAmE;AACnE,mCAAwC;AA4BxC,wBAAwB;AACjB,KAAK,UAAU,+BAA+B,CACnD,SAAoB,EACpB,gBAAwB,EACxB,uBAA+B,EAC/B,SAAiB;IAEjB,IAAI,sBAAkD,CAAC;IACvD,MAAM,eAAe,GAAG,IAAI,mBAAS,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,mBAAS,CAAC,uBAAuB,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,MAAM,IAAA,+BAAoB,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAA,qCAAmB,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAClE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnG,IAAI,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,sBAAsB,GAAG,IAAA,qBAAa,EAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,uBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnG,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,eAAe,EAAE;YACvF,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,sBAAsB,GAAG,IAAA,qBAAa,EAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,uBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnG,CAAC;aAAM,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEjD,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;gBAC/B,MAAM,IAAI,qBAAQ,CAAC,oDAAoD,CAAC,CAAC;YAC3E,CAAC;YACD,sBAAsB,GAAG,IAAA,qBAAa,EAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,uBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,qBAAQ,CAAC,oCAAoC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC","sourcesContent":["import * as anchor from \"@project-serum/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\nimport { ChainType } from \"../../chains/chain.enums\";\nimport { SdkError } from \"../../exceptions\";\nimport { getAssociatedAccount } from \"../utils/sol/accounts\";\nimport { buildAnchorProvider } from \"../utils/sol/anchor-provider\";\nimport { formatAddress } from \"./utils\";\n\n// 1. OVERLOADS\nexport function getCctpSolTokenRecipientAddress(\n chainType: ChainType.EVM | ChainType.SUI,\n toAccountAddress: string,\n destinationTokenAddress: string,\n solRpcUrl: string\n): Promise<string>;\nexport function getCctpSolTokenRecipientAddress(\n chainType: ChainType.TRX,\n toAccountAddress: string,\n destinationTokenAddress: string,\n solRpcUrl: string\n): Promise<Buffer>;\nexport function getCctpSolTokenRecipientAddress(\n chainType: ChainType.SOLANA | ChainType.SRB,\n toAccountAddress: string,\n destinationTokenAddress: string,\n solRpcUrl: string\n): Promise<number[]>;\nexport function getCctpSolTokenRecipientAddress(\n chainType: ChainType,\n toAccountAddress: string,\n destinationTokenAddress: string,\n solRpcUrl: string\n): Promise<string | number[] | Buffer>;\n\n// 2. COMMON Realization\nexport async function getCctpSolTokenRecipientAddress(\n chainType: ChainType,\n toAccountAddress: string,\n destinationTokenAddress: string,\n solRpcUrl: string\n): Promise<string | number[] | Buffer> {\n let recipientWalletAddress: string | number[] | Buffer;\n const receiverAccount = new PublicKey(toAccountAddress);\n const receiveMint = new PublicKey(destinationTokenAddress);\n const receiveUserToken = await getAssociatedAccount(receiverAccount, receiveMint);\n const provider = buildAnchorProvider(solRpcUrl, toAccountAddress);\n anchor.setProvider(provider);\n const accountData = await anchor.Spl.token(provider).account.token.fetchNullable(receiveUserToken);\n if (accountData?.authority.equals(receiverAccount)) {\n recipientWalletAddress = formatAddress(receiveUserToken.toBase58(), ChainType.SOLANA, chainType);\n } else {\n const tokenAccounts = await provider.connection.getTokenAccountsByOwner(receiverAccount, {\n mint: receiveMint,\n });\n if (tokenAccounts.value.length === 0 && !accountData) {\n recipientWalletAddress = formatAddress(receiveUserToken.toBase58(), ChainType.SOLANA, chainType);\n } else if (tokenAccounts.value.length > 0) {\n const firstTokenAccount = tokenAccounts.value[0];\n\n if (!firstTokenAccount?.pubkey) {\n throw new SdkError(\"First token account or its public key is undefined\");\n }\n recipientWalletAddress = formatAddress(firstTokenAccount.pubkey.toBase58(), ChainType.SOLANA, chainType);\n } else {\n throw new SdkError(\"Associated account has wrong owner\");\n }\n }\n return recipientWalletAddress;\n}\n"]}
|
|
@@ -14,6 +14,7 @@ const evm_1 = require("./evm");
|
|
|
14
14
|
const raw_bridge_transaction_builder_1 = require("./raw-bridge-transaction-builder");
|
|
15
15
|
const sol_1 = require("./sol");
|
|
16
16
|
const srb_1 = require("./srb");
|
|
17
|
+
const sui_1 = require("./sui");
|
|
17
18
|
const trx_1 = require("./trx");
|
|
18
19
|
class DefaultBridgeService {
|
|
19
20
|
api;
|
|
@@ -114,6 +115,9 @@ function getChainBridgeService(chainSymbol, api, nodeRpcUrlsConfig, params, prov
|
|
|
114
115
|
case index_1.ChainType.SRB: {
|
|
115
116
|
return new srb_1.SrbBridgeService(nodeRpcUrlsConfig, params, api);
|
|
116
117
|
}
|
|
118
|
+
case index_1.ChainType.SUI: {
|
|
119
|
+
return new sui_1.SuiBridgeService(nodeRpcUrlsConfig, api);
|
|
120
|
+
}
|
|
117
121
|
}
|
|
118
122
|
}
|
|
119
123
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/bridge/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { TronWeb } from \"tronweb\";\nimport { Web3 } from \"web3\";\nimport { NodeRpcUrlsConfig } from \"..\";\nimport { Chains } from \"../../chains\";\nimport { Messenger } from \"../../client/core-api/core-api.model\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { CCTPDoesNotSupportedError } from \"../../exceptions\";\nimport { AllbridgeCoreSdkOptions, ChainSymbol, ChainType, EssentialWeb3 } from \"../../index\";\nimport { TokenWithChainDetails } from \"../../tokens-info\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, TransactionResponse } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { EvmBridgeService } from \"./evm\";\nimport { ApproveParams, CheckAllowanceParams, GetAllowanceParams, SendParams, ChainBridgeService } from \"./models\";\nimport { DefaultRawBridgeTransactionBuilder, RawBridgeTransactionBuilder } from \"./raw-bridge-transaction-builder\";\nimport { SolanaBridgeService } from \"./sol\";\nimport { SrbBridgeService } from \"./srb\";\nimport { TronBridgeService } from \"./trx\";\n\nexport interface BridgeService {\n rawTxBuilder: RawBridgeTransactionBuilder;\n\n /**\n * Get amount of tokens approved to be sent by the bridge\n * @param provider - will be used to access the network\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n */\n getAllowance(provider: Provider, params: GetAllowanceParams): Promise<string>;\n\n /**\n * Get amount of tokens approved to be sent by the bridge\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n */\n getAllowance(params: GetAllowanceParams): Promise<string>;\n\n /**\n * Check if the amount of approved tokens is enough to make a transfer\n * @param provider - will be used to access the network\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n */\n checkAllowance(provider: Provider, params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * Check if the amount of approved tokens is enough to make a transfer\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n */\n checkAllowance(params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.approve}<p>\n * Approve tokens usage by another address on chains\n * <p>\n * For ETH/USDT: due to specificity of the USDT contract:<br/>\n * If the current allowance is not 0, this function will perform an additional transaction to set allowance to 0 before setting the new allowance value.\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.send}<p>\n * Send tokens through the ChainBridgeService\n * @param provider - will be used to access the network\n * @param params\n */\n send(provider: Provider, params: SendParams): Promise<TransactionResponse>;\n}\n\nexport class DefaultBridgeService implements BridgeService {\n public rawTxBuilder: RawBridgeTransactionBuilder;\n\n constructor(\n private api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService,\n ) {\n this.rawTxBuilder = new DefaultRawBridgeTransactionBuilder(api, nodeRpcUrlsConfig, params, tokenService);\n }\n\n async getAllowance(a: Provider | GetAllowanceParams, b?: GetAllowanceParams): Promise<string> {\n let provider: Provider | undefined;\n let params: GetAllowanceParams;\n if (b) {\n provider = a as Provider;\n params = b;\n } else {\n params = a as GetAllowanceParams;\n }\n const spender = getSpender(params.token, params.messenger);\n return await this.tokenService.getAllowance({ ...params, spender }, provider);\n }\n\n async checkAllowance(a: Provider | CheckAllowanceParams, b?: CheckAllowanceParams): Promise<boolean> {\n let provider: Provider | undefined;\n let params: CheckAllowanceParams;\n if (b) {\n provider = a as Provider;\n params = b;\n } else {\n params = a as CheckAllowanceParams;\n }\n const spender = getSpender(params.token, params.messenger);\n return this.tokenService.checkAllowance({ ...params, spender }, provider);\n }\n\n async approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse> {\n const spender = getSpender(approveData.token, approveData.messenger);\n return this.tokenService.approve(provider, { ...approveData, spender });\n }\n\n async send(provider: Provider, params: SendParams): Promise<TransactionResponse> {\n validateAmountGtZero(params.amount);\n validateAmountDecimals(\"amount\", params.amount, params.sourceToken.decimals);\n return getChainBridgeService(\n params.sourceToken.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider,\n ).send(params);\n }\n}\n\nexport function getSpender(token: TokenWithChainDetails, messenger?: Messenger): string {\n if (messenger && messenger == Messenger.CCTP) {\n if (token.cctpAddress) {\n return token.cctpAddress;\n } else {\n throw new CCTPDoesNotSupportedError(\"Such route does not support CCTP protocol\");\n }\n } else {\n return token.bridgeAddress;\n }\n}\n\nexport function getChainBridgeService(\n chainSymbol: string,\n api: AllbridgeCoreClient,\n nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n params: AllbridgeCoreSdkOptions,\n provider?: Provider,\n): ChainBridgeService {\n switch (Chains.getChainProperty(chainSymbol).chainType) {\n case ChainType.EVM: {\n if (provider) {\n return new EvmBridgeService(provider as EssentialWeb3, api, nodeRpcUrlsConfig);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new EvmBridgeService(new Web3(nodeRpcUrl), api, nodeRpcUrlsConfig);\n }\n }\n case ChainType.TRX: {\n if (provider) {\n return new TronBridgeService(provider as TronWeb, api);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new TronBridgeService(\n new TronWeb({\n fullHost: nodeRpcUrl,\n solidityNode: nodeRpcUrl,\n eventServer: nodeRpcUrl,\n }),\n api,\n );\n }\n }\n case ChainType.SOLANA: {\n return new SolanaBridgeService(\n nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL),\n {\n wormholeMessengerProgramId: params.wormholeMessengerProgramId,\n solanaLookUpTable: params.solanaLookUpTable,\n cctpParams: params.cctpParams,\n jupiterUrl: params.jupiterUrl,\n jupiterMaxAccounts: params.jupiterMaxAccounts,\n },\n api,\n );\n }\n case ChainType.SRB: {\n return new SrbBridgeService(nodeRpcUrlsConfig, params, api);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/bridge/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { TronWeb } from \"tronweb\";\nimport { Web3 } from \"web3\";\nimport { NodeRpcUrlsConfig } from \"..\";\nimport { Chains } from \"../../chains\";\nimport { Messenger } from \"../../client/core-api/core-api.model\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { CCTPDoesNotSupportedError } from \"../../exceptions\";\nimport { AllbridgeCoreSdkOptions, ChainSymbol, ChainType, EssentialWeb3 } from \"../../index\";\nimport { TokenWithChainDetails } from \"../../tokens-info\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, TransactionResponse } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { EvmBridgeService } from \"./evm\";\nimport { ApproveParams, CheckAllowanceParams, GetAllowanceParams, SendParams, ChainBridgeService } from \"./models\";\nimport { DefaultRawBridgeTransactionBuilder, RawBridgeTransactionBuilder } from \"./raw-bridge-transaction-builder\";\nimport { SolanaBridgeService } from \"./sol\";\nimport { SrbBridgeService } from \"./srb\";\nimport { SuiBridgeService } from \"./sui\";\nimport { TronBridgeService } from \"./trx\";\n\nexport interface BridgeService {\n rawTxBuilder: RawBridgeTransactionBuilder;\n\n /**\n * Get amount of tokens approved to be sent by the bridge\n * @param provider - will be used to access the network\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n */\n getAllowance(provider: Provider, params: GetAllowanceParams): Promise<string>;\n\n /**\n * Get amount of tokens approved to be sent by the bridge\n * @param params See {@link GetAllowanceParams}\n * @returns the amount of approved tokens\n */\n getAllowance(params: GetAllowanceParams): Promise<string>;\n\n /**\n * Check if the amount of approved tokens is enough to make a transfer\n * @param provider - will be used to access the network\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n */\n checkAllowance(provider: Provider, params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * Check if the amount of approved tokens is enough to make a transfer\n * @param params See {@link CheckAllowanceParams}\n * @returns true if the amount of approved tokens is enough to make a transfer\n */\n checkAllowance(params: CheckAllowanceParams): Promise<boolean>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.approve}<p>\n * Approve tokens usage by another address on chains\n * <p>\n * For ETH/USDT: due to specificity of the USDT contract:<br/>\n * If the current allowance is not 0, this function will perform an additional transaction to set allowance to 0 before setting the new allowance value.\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse>;\n\n /**\n * @deprecated Use {@link rawTxBuilder}.{@link RawBridgeTransactionBuilder.send}<p>\n * Send tokens through the ChainBridgeService\n * @param provider - will be used to access the network\n * @param params\n */\n send(provider: Provider, params: SendParams): Promise<TransactionResponse>;\n}\n\nexport class DefaultBridgeService implements BridgeService {\n public rawTxBuilder: RawBridgeTransactionBuilder;\n\n constructor(\n private api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService\n ) {\n this.rawTxBuilder = new DefaultRawBridgeTransactionBuilder(api, nodeRpcUrlsConfig, params, tokenService);\n }\n\n async getAllowance(a: Provider | GetAllowanceParams, b?: GetAllowanceParams): Promise<string> {\n let provider: Provider | undefined;\n let params: GetAllowanceParams;\n if (b) {\n provider = a as Provider;\n params = b;\n } else {\n params = a as GetAllowanceParams;\n }\n const spender = getSpender(params.token, params.messenger);\n return await this.tokenService.getAllowance({ ...params, spender }, provider);\n }\n\n async checkAllowance(a: Provider | CheckAllowanceParams, b?: CheckAllowanceParams): Promise<boolean> {\n let provider: Provider | undefined;\n let params: CheckAllowanceParams;\n if (b) {\n provider = a as Provider;\n params = b;\n } else {\n params = a as CheckAllowanceParams;\n }\n const spender = getSpender(params.token, params.messenger);\n return this.tokenService.checkAllowance({ ...params, spender }, provider);\n }\n\n async approve(provider: Provider, approveData: ApproveParams): Promise<TransactionResponse> {\n const spender = getSpender(approveData.token, approveData.messenger);\n return this.tokenService.approve(provider, { ...approveData, spender });\n }\n\n async send(provider: Provider, params: SendParams): Promise<TransactionResponse> {\n validateAmountGtZero(params.amount);\n validateAmountDecimals(\"amount\", params.amount, params.sourceToken.decimals);\n return getChainBridgeService(\n params.sourceToken.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider\n ).send(params);\n }\n}\n\nexport function getSpender(token: TokenWithChainDetails, messenger?: Messenger): string {\n if (messenger && messenger == Messenger.CCTP) {\n if (token.cctpAddress) {\n return token.cctpAddress;\n } else {\n throw new CCTPDoesNotSupportedError(\"Such route does not support CCTP protocol\");\n }\n } else {\n return token.bridgeAddress;\n }\n}\n\nexport function getChainBridgeService(\n chainSymbol: string,\n api: AllbridgeCoreClient,\n nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n params: AllbridgeCoreSdkOptions,\n provider?: Provider\n): ChainBridgeService {\n switch (Chains.getChainProperty(chainSymbol).chainType) {\n case ChainType.EVM: {\n if (provider) {\n return new EvmBridgeService(provider as EssentialWeb3, api, nodeRpcUrlsConfig);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new EvmBridgeService(new Web3(nodeRpcUrl), api, nodeRpcUrlsConfig);\n }\n }\n case ChainType.TRX: {\n if (provider) {\n return new TronBridgeService(provider as TronWeb, api);\n } else {\n const nodeRpcUrl = nodeRpcUrlsConfig.getNodeRpcUrl(chainSymbol);\n return new TronBridgeService(\n new TronWeb({\n fullHost: nodeRpcUrl,\n solidityNode: nodeRpcUrl,\n eventServer: nodeRpcUrl,\n }),\n api\n );\n }\n }\n case ChainType.SOLANA: {\n return new SolanaBridgeService(\n nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL),\n {\n wormholeMessengerProgramId: params.wormholeMessengerProgramId,\n solanaLookUpTable: params.solanaLookUpTable,\n cctpParams: params.cctpParams,\n jupiterUrl: params.jupiterUrl,\n jupiterMaxAccounts: params.jupiterMaxAccounts,\n },\n api\n );\n }\n case ChainType.SRB: {\n return new SrbBridgeService(nodeRpcUrlsConfig, params, api);\n }\n case ChainType.SUI: {\n return new SuiBridgeService(nodeRpcUrlsConfig, api);\n }\n }\n}\n"]}
|
|
@@ -156,6 +156,7 @@ export interface CheckAllowanceParams extends GetAllowanceParams {
|
|
|
156
156
|
* @internal
|
|
157
157
|
*/
|
|
158
158
|
export type TxSwapParamsEvm = TxSwapParamsTyped<string>;
|
|
159
|
+
export type TxSwapParamsSui = TxSwapParamsTyped<string>;
|
|
159
160
|
export type TxSwapParamsTrx = TxSwapParamsTyped<Buffer>;
|
|
160
161
|
export type TxSwapParamsSol = TxSwapParamsTyped<number[]>;
|
|
161
162
|
export type TxSwapParamsSrb = TxSwapParamsTyped<number[]>;
|
|
@@ -168,11 +169,12 @@ export interface TxSwapParamsTyped<T> {
|
|
|
168
169
|
toTokenAddress: T;
|
|
169
170
|
minimumReceiveAmount: string;
|
|
170
171
|
}
|
|
171
|
-
export type TxSwapParams = TxSwapParamsEvm | TxSwapParamsTrx | TxSwapParamsSol | TxSwapParamsSrb;
|
|
172
|
+
export type TxSwapParams = TxSwapParamsEvm | TxSwapParamsTrx | TxSwapParamsSol | TxSwapParamsSrb | TxSwapParamsSui;
|
|
172
173
|
/**
|
|
173
174
|
* @internal
|
|
174
175
|
*/
|
|
175
176
|
export type TxSendParamsEvm = TxSendParamsTyped<string>;
|
|
177
|
+
export type TxSendParamsSui = TxSendParamsTyped<string>;
|
|
176
178
|
export type TxSendParamsTrx = TxSendParamsTyped<Buffer>;
|
|
177
179
|
export type TxSendParamsSol = TxSendParamsTyped<number[]>;
|
|
178
180
|
export type TxSendParamsSrb = TxSendParamsTyped<number[]>;
|
|
@@ -197,4 +199,4 @@ export interface TxSendParamsTyped<T> {
|
|
|
197
199
|
extraGas?: string;
|
|
198
200
|
gasFeePaymentMethod: FeePaymentMethod;
|
|
199
201
|
}
|
|
200
|
-
export type TxSendParams = TxSendParamsEvm | TxSendParamsTrx | TxSendParamsSol | TxSendParamsSrb;
|
|
202
|
+
export type TxSendParams = TxSendParamsEvm | TxSendParamsTrx | TxSendParamsSol | TxSendParamsSrb | TxSendParamsSui;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.model.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/bridge.model.ts"],"names":[],"mappings":"","sourcesContent":["import { Big } from \"big.js\";\nimport { Messenger } from \"../../../client/core-api/core-api.model\";\nimport { AmountFormat, FeePaymentMethod, TxFeeParams } from \"../../../models\";\nimport { TokenWithChainDetails } from \"../../../tokens-info\";\n\nexport interface ApproveParams {\n /**\n * The token info\n */\n token: TokenWithChainDetails;\n\n /**\n * The address of the token owner who is granting permission to use tokens\n */\n owner: string;\n\n /**\n * The integer amount of tokens to approve.\n * Optional.\n * The maximum amount by default.\n */\n amount?: string | number | Big;\n\n /**\n * The Messengers for different routes to approve.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger;\n}\n\nexport interface GetTokenBalanceParams {\n /**\n * The address for which we will find out the token balance\n */\n account: string;\n token: TokenWithChainDetails;\n}\n\nexport interface GetNativeTokenBalanceParams {\n /**\n * The address for which we will find out the token balance\n */\n account: string;\n /**\n * The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n */\n chainSymbol: string;\n}\n\nexport interface BaseSendParams {\n /**\n * The float amount of Total tokens to transfer.\n *\n * In Send case\n * If {@link SendParams#gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_STABLECOIN}:<br/>\n * Includes gas fee<br/>\n * Includes extra gas\n */\n amount: string;\n /**\n * The account address to transfer tokens from.\n */\n fromAccountAddress: string;\n /**\n * The account address to transfer tokens to.\n */\n toAccountAddress: string;\n /**\n * {@link TokenWithChainDetails |The token info object} on the source chain.\n */\n sourceToken: TokenWithChainDetails;\n /**\n * {@link TokenWithChainDetails |The token info object} on the destination chain.\n */\n destinationToken: TokenWithChainDetails;\n\n txFeeParams?: TxFeeParams;\n}\n\n/**\n * Required params to handle swap transfer (different tokens on the same chain)\n */\nexport interface SwapParams extends BaseSendParams {\n /**\n * minimum amount to receive including possible slippage, see {@link AllbridgeCoreSdk#getAmountToBeReceived}\n */\n minimumReceiveAmount?: string;\n}\n\n/**\n * Required params to handle bridge transfer (transfer between chains)\n */\nexport interface SendParams extends BaseSendParams {\n /**\n * The Messenger to use.\n */\n messenger: Messenger;\n /**\n * The amount of gas fee to pay for the transfer.\n *\n * If {@link gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_NATIVE_CURRENCY} then\n * it is amount of the source chain currency.<p/>\n * If {@link gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_STABLECOIN} then\n * it is amount of the source token.\n *\n * Optional.\n * If not defined, the default fee amount will be applied according to gasFeePaymentMethod.\n * See method {@link AllbridgeCoreSdk#getGasFeeOptions} to get required gas fee amount.\n */\n fee?: string;\n /**\n * Format of fee value.<p/>\n * Optional.\n * {@link AmountFormat.INT} by default.\n */\n feeFormat?: AmountFormat;\n /**\n * The amount of extra gas to transfer to gas on destination chain with the transfer.<br/>\n * To get maximum supported value, look {@link AllbridgeCoreSdk#getExtraGasMaxLimits}\n *\n * If gasFeePaymentMethod is {@link FeePaymentMethod#WITH_NATIVE_CURRENCY} then\n * it is amount of the source chain currency.<p/>\n * if gasFeePaymentMethod is {@link FeePaymentMethod#WITH_STABLECOIN} then\n * it is amount of the source token.\n *\n * Optional.\n */\n extraGas?: string;\n /**\n * Format of extra gas value.<p/>\n * Optional.\n * {@link AmountFormat.INT} by default.\n */\n extraGasFormat?: AmountFormat;\n /**\n * Payment method for the gas fee and extra gas payment.\n *\n * WITH_NATIVE_CURRENCY - gas fee and extra gas will be added to transaction as native tokens value\n * WITH_STABLECOIN - gas fee and extra gas will be deducted from the transaction amount\n *\n * Optional.\n * WITH_NATIVE_CURRENCY by default.\n */\n gasFeePaymentMethod?: FeePaymentMethod;\n}\n\nexport interface GetAllowanceParams {\n token: TokenWithChainDetails;\n owner: string;\n gasFeePaymentMethod?: FeePaymentMethod;\n /**\n * The Messengers for different routes.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger;\n}\n\nexport type GetAllowanceParamsDto = GetAllowanceParams;\n\nexport interface CheckAllowanceParams extends GetAllowanceParams {\n /**\n * The float amount of tokens to check the allowance.\n */\n amount: string | number | Big;\n}\n\n/**\n * @internal\n */\nexport type TxSwapParamsEvm = TxSwapParamsTyped<string>;\nexport type TxSwapParamsTrx = TxSwapParamsTyped<Buffer>;\nexport type TxSwapParamsSol = TxSwapParamsTyped<number[]>;\nexport type TxSwapParamsSrb = TxSwapParamsTyped<number[]>;\n\nexport interface TxSwapParamsTyped<T> {\n amount: string;\n contractAddress: string;\n fromAccountAddress: string;\n fromTokenAddress: T;\n toAccountAddress: string;\n toTokenAddress: T;\n minimumReceiveAmount: string;\n}\n\nexport type TxSwapParams = TxSwapParamsEvm | TxSwapParamsTrx | TxSwapParamsSol | TxSwapParamsSrb;\n\n/**\n * @internal\n */\nexport type TxSendParamsEvm = TxSendParamsTyped<string>;\nexport type TxSendParamsTrx = TxSendParamsTyped<Buffer>;\nexport type TxSendParamsSol = TxSendParamsTyped<number[]>;\nexport type TxSendParamsSrb = TxSendParamsTyped<number[]>;\n\nexport interface TxSendParamsTyped<T> {\n amount: string;\n contractAddress: string;\n fromChainId: number;\n fromChainSymbol: string;\n fromAccountAddress: string;\n fromTokenAddress: T;\n toChainId: number;\n toAccountAddress: T;\n toTokenAddress: T;\n messenger: Messenger;\n /**\n * int format\n */\n fee: string;\n /**\n * int format\n */\n extraGas?: string;\n gasFeePaymentMethod: FeePaymentMethod;\n}\n\nexport type TxSendParams = TxSendParamsEvm | TxSendParamsTrx | TxSendParamsSol | TxSendParamsSrb;\n"]}
|
|
1
|
+
{"version":3,"file":"bridge.model.js","sourceRoot":"","sources":["../../../../../src/services/bridge/models/bridge.model.ts"],"names":[],"mappings":"","sourcesContent":["import { Big } from \"big.js\";\nimport { Messenger } from \"../../../client/core-api/core-api.model\";\nimport { AmountFormat, FeePaymentMethod, TxFeeParams } from \"../../../models\";\nimport { TokenWithChainDetails } from \"../../../tokens-info\";\n\nexport interface ApproveParams {\n /**\n * The token info\n */\n token: TokenWithChainDetails;\n\n /**\n * The address of the token owner who is granting permission to use tokens\n */\n owner: string;\n\n /**\n * The integer amount of tokens to approve.\n * Optional.\n * The maximum amount by default.\n */\n amount?: string | number | Big;\n\n /**\n * The Messengers for different routes to approve.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger;\n}\n\nexport interface GetTokenBalanceParams {\n /**\n * The address for which we will find out the token balance\n */\n account: string;\n token: TokenWithChainDetails;\n}\n\nexport interface GetNativeTokenBalanceParams {\n /**\n * The address for which we will find out the token balance\n */\n account: string;\n /**\n * The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n */\n chainSymbol: string;\n}\n\nexport interface BaseSendParams {\n /**\n * The float amount of Total tokens to transfer.\n *\n * In Send case\n * If {@link SendParams#gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_STABLECOIN}:<br/>\n * Includes gas fee<br/>\n * Includes extra gas\n */\n amount: string;\n /**\n * The account address to transfer tokens from.\n */\n fromAccountAddress: string;\n /**\n * The account address to transfer tokens to.\n */\n toAccountAddress: string;\n /**\n * {@link TokenWithChainDetails |The token info object} on the source chain.\n */\n sourceToken: TokenWithChainDetails;\n /**\n * {@link TokenWithChainDetails |The token info object} on the destination chain.\n */\n destinationToken: TokenWithChainDetails;\n\n txFeeParams?: TxFeeParams;\n}\n\n/**\n * Required params to handle swap transfer (different tokens on the same chain)\n */\nexport interface SwapParams extends BaseSendParams {\n /**\n * minimum amount to receive including possible slippage, see {@link AllbridgeCoreSdk#getAmountToBeReceived}\n */\n minimumReceiveAmount?: string;\n}\n\n/**\n * Required params to handle bridge transfer (transfer between chains)\n */\nexport interface SendParams extends BaseSendParams {\n /**\n * The Messenger to use.\n */\n messenger: Messenger;\n /**\n * The amount of gas fee to pay for the transfer.\n *\n * If {@link gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_NATIVE_CURRENCY} then\n * it is amount of the source chain currency.<p/>\n * If {@link gasFeePaymentMethod} is {@link FeePaymentMethod#WITH_STABLECOIN} then\n * it is amount of the source token.\n *\n * Optional.\n * If not defined, the default fee amount will be applied according to gasFeePaymentMethod.\n * See method {@link AllbridgeCoreSdk#getGasFeeOptions} to get required gas fee amount.\n */\n fee?: string;\n /**\n * Format of fee value.<p/>\n * Optional.\n * {@link AmountFormat.INT} by default.\n */\n feeFormat?: AmountFormat;\n /**\n * The amount of extra gas to transfer to gas on destination chain with the transfer.<br/>\n * To get maximum supported value, look {@link AllbridgeCoreSdk#getExtraGasMaxLimits}\n *\n * If gasFeePaymentMethod is {@link FeePaymentMethod#WITH_NATIVE_CURRENCY} then\n * it is amount of the source chain currency.<p/>\n * if gasFeePaymentMethod is {@link FeePaymentMethod#WITH_STABLECOIN} then\n * it is amount of the source token.\n *\n * Optional.\n */\n extraGas?: string;\n /**\n * Format of extra gas value.<p/>\n * Optional.\n * {@link AmountFormat.INT} by default.\n */\n extraGasFormat?: AmountFormat;\n /**\n * Payment method for the gas fee and extra gas payment.\n *\n * WITH_NATIVE_CURRENCY - gas fee and extra gas will be added to transaction as native tokens value\n * WITH_STABLECOIN - gas fee and extra gas will be deducted from the transaction amount\n *\n * Optional.\n * WITH_NATIVE_CURRENCY by default.\n */\n gasFeePaymentMethod?: FeePaymentMethod;\n}\n\nexport interface GetAllowanceParams {\n token: TokenWithChainDetails;\n owner: string;\n gasFeePaymentMethod?: FeePaymentMethod;\n /**\n * The Messengers for different routes.\n * Optional.\n * The {@link Messenger.ALLBRIDGE}, {@link Messenger.WORMHOLE} by default.\n */\n messenger?: Messenger;\n}\n\nexport type GetAllowanceParamsDto = GetAllowanceParams;\n\nexport interface CheckAllowanceParams extends GetAllowanceParams {\n /**\n * The float amount of tokens to check the allowance.\n */\n amount: string | number | Big;\n}\n\n/**\n * @internal\n */\nexport type TxSwapParamsEvm = TxSwapParamsTyped<string>;\nexport type TxSwapParamsSui = TxSwapParamsTyped<string>;\nexport type TxSwapParamsTrx = TxSwapParamsTyped<Buffer>;\nexport type TxSwapParamsSol = TxSwapParamsTyped<number[]>;\nexport type TxSwapParamsSrb = TxSwapParamsTyped<number[]>;\n\nexport interface TxSwapParamsTyped<T> {\n amount: string;\n contractAddress: string;\n fromAccountAddress: string;\n fromTokenAddress: T;\n toAccountAddress: string;\n toTokenAddress: T;\n minimumReceiveAmount: string;\n}\n\nexport type TxSwapParams = TxSwapParamsEvm | TxSwapParamsTrx | TxSwapParamsSol | TxSwapParamsSrb | TxSwapParamsSui;\n\n/**\n * @internal\n */\nexport type TxSendParamsEvm = TxSendParamsTyped<string>;\nexport type TxSendParamsSui = TxSendParamsTyped<string>;\nexport type TxSendParamsTrx = TxSendParamsTyped<Buffer>;\nexport type TxSendParamsSol = TxSendParamsTyped<number[]>;\nexport type TxSendParamsSrb = TxSendParamsTyped<number[]>;\n\nexport interface TxSendParamsTyped<T> {\n amount: string;\n contractAddress: string;\n fromChainId: number;\n fromChainSymbol: string;\n fromAccountAddress: string;\n fromTokenAddress: T;\n toChainId: number;\n toAccountAddress: T;\n toTokenAddress: T;\n messenger: Messenger;\n /**\n * int format\n */\n fee: string;\n /**\n * int format\n */\n extraGas?: string;\n gasFeePaymentMethod: FeePaymentMethod;\n}\n\nexport type TxSendParams = TxSendParamsEvm | TxSendParamsTrx | TxSendParamsSol | TxSendParamsSrb | TxSendParamsSui;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-bridge-transaction-builder.js","sourceRoot":"","sources":["../../../../src/services/bridge/raw-bridge-transaction-builder.ts"],"names":[],"mappings":";;;AAGA,6CAAiF;AAIjF,mCAAuC;AACvC,mCAA4D;AAsB5D,MAAa,kCAAkC;IAEnC;IACA;IACA;IACA;IAJV,YACU,GAAwB,EACxB,iBAAoC,EACpC,MAA+B,EAC/B,YAA0B;QAH1B,QAAG,GAAH,GAAG,CAAqB;QACxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAyB;QAC/B,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,CAA2B,EAAE,CAAiB;QAC1D,IAAI,QAA8B,CAAC;QACnC,IAAI,WAA0B,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC;YACN,QAAQ,GAAG,CAAa,CAAC;YACzB,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,CAAkB,CAAC;QACnC,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACjD;YACE,GAAG,WAAW;YACd,OAAO;SACR,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA+B,EAAE,QAAmB;QAC7D,IAAA,4BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAA,8BAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,IAAA,oBAAY,EAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AA/CD,gFA+CC","sourcesContent":["import { NodeRpcUrlsConfig } from \"..\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { AllbridgeCoreSdkOptions } from \"../../index\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, RawTransaction } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { ApproveParams, SendParams, SwapParams } from \"./models\";\nimport { isSendParams } from \"./utils\";\nimport { getChainBridgeService, getSpender } from \"./index\";\n\nexport interface RawBridgeTransactionBuilder {\n /**\n * Creates a Raw Transaction for approving tokens usage by the bridge\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<RawTransaction>;\n /**\n * Creates a Raw Transaction for approving tokens usage by the bridge\n * @param approveData\n */\n approve(approveData: ApproveParams): Promise<RawTransaction>;\n /**\n * Creates a Raw Transaction for initiating the transfer of tokens\n * @param params\n * @param provider - will be used to access the network\n */\n send(params: SwapParams | SendParams, provider?: Provider): Promise<RawTransaction>;\n}\n\nexport class DefaultRawBridgeTransactionBuilder implements RawBridgeTransactionBuilder {\n constructor(\n private api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService
|
|
1
|
+
{"version":3,"file":"raw-bridge-transaction-builder.js","sourceRoot":"","sources":["../../../../src/services/bridge/raw-bridge-transaction-builder.ts"],"names":[],"mappings":";;;AAGA,6CAAiF;AAIjF,mCAAuC;AACvC,mCAA4D;AAsB5D,MAAa,kCAAkC;IAEnC;IACA;IACA;IACA;IAJV,YACU,GAAwB,EACxB,iBAAoC,EACpC,MAA+B,EAC/B,YAA0B;QAH1B,QAAG,GAAH,GAAG,CAAqB;QACxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAyB;QAC/B,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,CAA2B,EAAE,CAAiB;QAC1D,IAAI,QAA8B,CAAC;QACnC,IAAI,WAA0B,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC;YACN,QAAQ,GAAG,CAAa,CAAC;YACzB,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,CAAkB,CAAC;QACnC,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACjD;YACE,GAAG,WAAW;YACd,OAAO;SACR,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA+B,EAAE,QAAmB;QAC7D,IAAA,4BAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAA,8BAAsB,EAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,IAAA,oBAAY,EAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAA,6BAAqB,EAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,EACX,QAAQ,CACT,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AA/CD,gFA+CC","sourcesContent":["import { NodeRpcUrlsConfig } from \"..\";\nimport { AllbridgeCoreClient } from \"../../client/core-api/core-client-base\";\nimport { AllbridgeCoreSdkOptions } from \"../../index\";\nimport { validateAmountDecimals, validateAmountGtZero } from \"../../utils/utils\";\nimport { Provider, RawTransaction } from \"../models\";\nimport { TokenService } from \"../token\";\nimport { ApproveParams, SendParams, SwapParams } from \"./models\";\nimport { isSendParams } from \"./utils\";\nimport { getChainBridgeService, getSpender } from \"./index\";\n\nexport interface RawBridgeTransactionBuilder {\n /**\n * Creates a Raw Transaction for approving tokens usage by the bridge\n * @param provider - will be used to access the network\n * @param approveData\n */\n approve(provider: Provider, approveData: ApproveParams): Promise<RawTransaction>;\n /**\n * Creates a Raw Transaction for approving tokens usage by the bridge\n * @param approveData\n */\n approve(approveData: ApproveParams): Promise<RawTransaction>;\n /**\n * Creates a Raw Transaction for initiating the transfer of tokens\n * @param params\n * @param provider - will be used to access the network\n */\n send(params: SwapParams | SendParams, provider?: Provider): Promise<RawTransaction>;\n}\n\nexport class DefaultRawBridgeTransactionBuilder implements RawBridgeTransactionBuilder {\n constructor(\n private api: AllbridgeCoreClient,\n private nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n private params: AllbridgeCoreSdkOptions,\n private tokenService: TokenService\n ) {}\n\n async approve(a: Provider | ApproveParams, b?: ApproveParams): Promise<RawTransaction> {\n let provider: Provider | undefined;\n let approveData: ApproveParams;\n if (b) {\n provider = a as Provider;\n approveData = b;\n } else {\n approveData = a as ApproveParams;\n }\n const spender = getSpender(approveData.token, approveData.messenger);\n return this.tokenService.buildRawTransactionApprove(\n {\n ...approveData,\n spender,\n },\n provider\n );\n }\n\n async send(params: SwapParams | SendParams, provider?: Provider): Promise<RawTransaction> {\n validateAmountGtZero(params.amount);\n validateAmountDecimals(\"amount\", params.amount, params.sourceToken.decimals);\n if (isSendParams(params)) {\n return getChainBridgeService(\n params.sourceToken.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider\n ).buildRawTransactionSend(params);\n }\n return getChainBridgeService(\n params.sourceToken.chainSymbol,\n this.api,\n this.nodeRpcUrlsConfig,\n this.params,\n provider\n ).buildRawTransactionSwap(params);\n }\n}\n"]}
|