@wormhole-foundation/sdk-connect 0.5.0-beta.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/cjs/circle-api.d.ts +16 -0
- package/dist/cjs/circle-api.d.ts.map +1 -0
- package/dist/cjs/circle-api.js +47 -0
- package/dist/cjs/circle-api.js.map +1 -0
- package/dist/cjs/common.d.ts +4 -0
- package/dist/cjs/common.d.ts.map +1 -0
- package/dist/cjs/common.js +40 -0
- package/dist/cjs/common.js.map +1 -0
- package/dist/cjs/config.d.ts +34 -0
- package/dist/cjs/config.d.ts.map +1 -0
- package/dist/cjs/config.js +52 -0
- package/dist/cjs/config.js.map +1 -0
- package/dist/cjs/index.d.ts +15 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +45 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/protocols/cctp/cctpTransfer.d.ts +41 -0
- package/dist/cjs/protocols/cctp/cctpTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/cctp/cctpTransfer.js +459 -0
- package/dist/cjs/protocols/cctp/cctpTransfer.js.map +1 -0
- package/dist/cjs/protocols/cctp/index.d.ts +2 -0
- package/dist/cjs/protocols/cctp/index.d.ts.map +1 -0
- package/dist/cjs/protocols/cctp/index.js +18 -0
- package/dist/cjs/protocols/cctp/index.js.map +1 -0
- package/dist/cjs/protocols/cctpTransfer.d.ts +41 -0
- package/dist/cjs/protocols/cctpTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/cctpTransfer.js +459 -0
- package/dist/cjs/protocols/cctpTransfer.js.map +1 -0
- package/dist/cjs/protocols/gateway/gatewayTransfer.d.ts +38 -0
- package/dist/cjs/protocols/gateway/gatewayTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/gateway/gatewayTransfer.js +360 -0
- package/dist/cjs/protocols/gateway/gatewayTransfer.js.map +1 -0
- package/dist/cjs/protocols/gateway/index.d.ts +2 -0
- package/dist/cjs/protocols/gateway/index.d.ts.map +1 -0
- package/dist/cjs/protocols/gateway/index.js +18 -0
- package/dist/cjs/protocols/gateway/index.js.map +1 -0
- package/dist/cjs/protocols/gatewayTransfer.d.ts +40 -0
- package/dist/cjs/protocols/gatewayTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/gatewayTransfer.js +406 -0
- package/dist/cjs/protocols/gatewayTransfer.js.map +1 -0
- package/dist/cjs/protocols/index.d.ts +5 -0
- package/dist/cjs/protocols/index.d.ts.map +1 -0
- package/dist/cjs/protocols/index.js +21 -0
- package/dist/cjs/protocols/index.js.map +1 -0
- package/dist/cjs/protocols/tokenBridge/automatic.d.ts +16 -0
- package/dist/cjs/protocols/tokenBridge/automatic.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenBridge/automatic.js +77 -0
- package/dist/cjs/protocols/tokenBridge/automatic.js.map +1 -0
- package/dist/cjs/protocols/tokenBridge/index.d.ts +5 -0
- package/dist/cjs/protocols/tokenBridge/index.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenBridge/index.js +21 -0
- package/dist/cjs/protocols/tokenBridge/index.js.map +1 -0
- package/dist/cjs/protocols/tokenBridge/manual.d.ts +16 -0
- package/dist/cjs/protocols/tokenBridge/manual.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenBridge/manual.js +77 -0
- package/dist/cjs/protocols/tokenBridge/manual.js.map +1 -0
- package/dist/cjs/protocols/tokenBridge/tokenTransfer.d.ts +20 -0
- package/dist/cjs/protocols/tokenBridge/tokenTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenBridge/tokenTransfer.js +24 -0
- package/dist/cjs/protocols/tokenBridge/tokenTransfer.js.map +1 -0
- package/dist/cjs/protocols/tokenBridge/utils.d.ts +25 -0
- package/dist/cjs/protocols/tokenBridge/utils.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenBridge/utils.js +331 -0
- package/dist/cjs/protocols/tokenBridge/utils.js.map +1 -0
- package/dist/cjs/protocols/tokenTransfer.d.ts +40 -0
- package/dist/cjs/protocols/tokenTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenTransfer.js +472 -0
- package/dist/cjs/protocols/tokenTransfer.js.map +1 -0
- package/dist/cjs/protocols/tokenbridge/automatic.d.ts +16 -0
- package/dist/cjs/protocols/tokenbridge/automatic.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenbridge/automatic.js +76 -0
- package/dist/cjs/protocols/tokenbridge/automatic.js.map +1 -0
- package/dist/cjs/protocols/tokenbridge/index.d.ts +2 -0
- package/dist/cjs/protocols/tokenbridge/index.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenbridge/index.js +18 -0
- package/dist/cjs/protocols/tokenbridge/index.js.map +1 -0
- package/dist/cjs/protocols/tokenbridge/manual.d.ts +16 -0
- package/dist/cjs/protocols/tokenbridge/manual.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenbridge/manual.js +76 -0
- package/dist/cjs/protocols/tokenbridge/manual.js.map +1 -0
- package/dist/cjs/protocols/tokenbridge/tokenTransfer.d.ts +37 -0
- package/dist/cjs/protocols/tokenbridge/tokenTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenbridge/tokenTransfer.js +345 -0
- package/dist/cjs/protocols/tokenbridge/tokenTransfer.js.map +1 -0
- package/dist/cjs/protocols/wormholeTransfer.d.ts +20 -0
- package/dist/cjs/protocols/wormholeTransfer.d.ts.map +1 -0
- package/dist/cjs/protocols/wormholeTransfer.js +3 -0
- package/dist/cjs/protocols/wormholeTransfer.js.map +1 -0
- package/dist/cjs/quote.d.ts +17 -0
- package/dist/cjs/quote.d.ts.map +1 -0
- package/dist/cjs/quote.js +3 -0
- package/dist/cjs/quote.js.map +1 -0
- package/dist/cjs/receipt.d.ts +51 -0
- package/dist/cjs/receipt.d.ts.map +1 -0
- package/dist/cjs/receipt.js +31 -0
- package/dist/cjs/receipt.js.map +1 -0
- package/dist/cjs/routes/automaticTokenBridgeRoute.d.ts +28 -0
- package/dist/cjs/routes/automaticTokenBridgeRoute.d.ts.map +1 -0
- package/dist/cjs/routes/automaticTokenBridgeRoute.js +82 -0
- package/dist/cjs/routes/automaticTokenBridgeRoute.js.map +1 -0
- package/dist/cjs/routes/cctp/automatic.d.ts +46 -0
- package/dist/cjs/routes/cctp/automatic.d.ts.map +1 -0
- package/dist/cjs/routes/cctp/automatic.js +135 -0
- package/dist/cjs/routes/cctp/automatic.js.map +1 -0
- package/dist/cjs/routes/cctp/index.d.ts +3 -0
- package/dist/cjs/routes/cctp/index.d.ts.map +1 -0
- package/dist/cjs/routes/cctp/index.js +19 -0
- package/dist/cjs/routes/cctp/index.js.map +1 -0
- package/dist/cjs/routes/cctp/manual.d.ts +43 -0
- package/dist/cjs/routes/cctp/manual.d.ts.map +1 -0
- package/dist/cjs/routes/cctp/manual.js +113 -0
- package/dist/cjs/routes/cctp/manual.js.map +1 -0
- package/dist/cjs/routes/common.d.ts +13 -0
- package/dist/cjs/routes/common.d.ts.map +1 -0
- package/dist/cjs/routes/common.js +45 -0
- package/dist/cjs/routes/common.js.map +1 -0
- package/dist/cjs/routes/index.d.ts +9 -0
- package/dist/cjs/routes/index.d.ts.map +1 -0
- package/dist/cjs/routes/index.js +25 -0
- package/dist/cjs/routes/index.js.map +1 -0
- package/dist/cjs/routes/mock/automatic.d.ts +25 -0
- package/dist/cjs/routes/mock/automatic.d.ts.map +1 -0
- package/dist/cjs/routes/mock/automatic.js +88 -0
- package/dist/cjs/routes/mock/automatic.js.map +1 -0
- package/dist/cjs/routes/mock/index.d.ts +3 -0
- package/dist/cjs/routes/mock/index.d.ts.map +1 -0
- package/dist/cjs/routes/mock/index.js +19 -0
- package/dist/cjs/routes/mock/index.js.map +1 -0
- package/dist/cjs/routes/mock/manual.d.ts +24 -0
- package/dist/cjs/routes/mock/manual.d.ts.map +1 -0
- package/dist/cjs/routes/mock/manual.js +87 -0
- package/dist/cjs/routes/mock/manual.js.map +1 -0
- package/dist/cjs/routes/portico/automatic.d.ts +68 -0
- package/dist/cjs/routes/portico/automatic.d.ts.map +1 -0
- package/dist/cjs/routes/portico/automatic.js +208 -0
- package/dist/cjs/routes/portico/automatic.js.map +1 -0
- package/dist/cjs/routes/portico/index.d.ts +2 -0
- package/dist/cjs/routes/portico/index.d.ts.map +1 -0
- package/dist/cjs/routes/portico/index.js +18 -0
- package/dist/cjs/routes/portico/index.js.map +1 -0
- package/dist/cjs/routes/portico/manual.d.ts +61 -0
- package/dist/cjs/routes/portico/manual.d.ts.map +1 -0
- package/dist/cjs/routes/portico/manual.js +141 -0
- package/dist/cjs/routes/portico/manual.js.map +1 -0
- package/dist/cjs/routes/portico/porticoRoute.d.ts +56 -0
- package/dist/cjs/routes/portico/porticoRoute.d.ts.map +1 -0
- package/dist/cjs/routes/portico/porticoRoute.js +160 -0
- package/dist/cjs/routes/portico/porticoRoute.js.map +1 -0
- package/dist/cjs/routes/portico/protocol/abis.d.ts +4 -0
- package/dist/cjs/routes/portico/protocol/abis.d.ts.map +1 -0
- package/dist/cjs/routes/portico/protocol/abis.js +12 -0
- package/dist/cjs/routes/portico/protocol/abis.js.map +1 -0
- package/dist/cjs/routes/portico/protocol/consts.d.ts +18 -0
- package/dist/cjs/routes/portico/protocol/consts.d.ts.map +1 -0
- package/dist/cjs/routes/portico/protocol/consts.js +48 -0
- package/dist/cjs/routes/portico/protocol/consts.js.map +1 -0
- package/dist/cjs/routes/portico/protocol/porticoBridge.d.ts +17 -0
- package/dist/cjs/routes/portico/protocol/porticoBridge.d.ts.map +1 -0
- package/dist/cjs/routes/portico/protocol/porticoBridge.js +119 -0
- package/dist/cjs/routes/portico/protocol/porticoBridge.js.map +1 -0
- package/dist/cjs/routes/portico/protocol/types.d.ts +88 -0
- package/dist/cjs/routes/portico/protocol/types.d.ts.map +1 -0
- package/dist/cjs/routes/portico/protocol/types.js +3 -0
- package/dist/cjs/routes/portico/protocol/types.js.map +1 -0
- package/dist/cjs/routes/portico/protocol/utils.d.ts +18 -0
- package/dist/cjs/routes/portico/protocol/utils.d.ts.map +1 -0
- package/dist/cjs/routes/portico/protocol/utils.js +167 -0
- package/dist/cjs/routes/portico/protocol/utils.js.map +1 -0
- package/dist/cjs/routes/portico/utils.d.ts +1 -0
- package/dist/cjs/routes/portico/utils.d.ts.map +1 -0
- package/dist/cjs/routes/portico/utils.js +2 -0
- package/dist/cjs/routes/portico/utils.js.map +1 -0
- package/dist/cjs/routes/request.d.ts +25 -0
- package/dist/cjs/routes/request.d.ts.map +1 -0
- package/dist/cjs/routes/request.js +65 -0
- package/dist/cjs/routes/request.js.map +1 -0
- package/dist/cjs/routes/resolver.d.ts +15 -0
- package/dist/cjs/routes/resolver.d.ts.map +1 -0
- package/dist/cjs/routes/resolver.js +87 -0
- package/dist/cjs/routes/resolver.js.map +1 -0
- package/dist/cjs/routes/route.d.ts +46 -0
- package/dist/cjs/routes/route.d.ts.map +1 -0
- package/dist/cjs/routes/route.js +34 -0
- package/dist/cjs/routes/route.js.map +1 -0
- package/dist/cjs/routes/token.d.ts +12 -0
- package/dist/cjs/routes/token.d.ts.map +1 -0
- package/dist/cjs/routes/token.js +37 -0
- package/dist/cjs/routes/token.js.map +1 -0
- package/dist/cjs/routes/tokenBridge/automatic.d.ts +46 -0
- package/dist/cjs/routes/tokenBridge/automatic.d.ts.map +1 -0
- package/dist/cjs/routes/tokenBridge/automatic.js +145 -0
- package/dist/cjs/routes/tokenBridge/automatic.js.map +1 -0
- package/dist/cjs/routes/tokenBridge/index.d.ts +3 -0
- package/dist/cjs/routes/tokenBridge/index.d.ts.map +1 -0
- package/dist/cjs/routes/tokenBridge/index.js +19 -0
- package/dist/cjs/routes/tokenBridge/index.js.map +1 -0
- package/dist/cjs/routes/tokenBridge/manual.d.ts +42 -0
- package/dist/cjs/routes/tokenBridge/manual.d.ts.map +1 -0
- package/dist/cjs/routes/tokenBridge/manual.js +87 -0
- package/dist/cjs/routes/tokenBridge/manual.js.map +1 -0
- package/dist/cjs/routes/tokenBridgeRoute.d.ts +25 -0
- package/dist/cjs/routes/tokenBridgeRoute.d.ts.map +1 -0
- package/dist/cjs/routes/tokenBridgeRoute.js +78 -0
- package/dist/cjs/routes/tokenBridgeRoute.js.map +1 -0
- package/dist/cjs/routes/types.d.ts +44 -0
- package/dist/cjs/routes/types.d.ts.map +1 -0
- package/dist/cjs/routes/types.js +3 -0
- package/dist/cjs/routes/types.js.map +1 -0
- package/dist/cjs/tasks.d.ts +7 -0
- package/dist/cjs/tasks.d.ts.map +1 -0
- package/dist/cjs/tasks.js +65 -0
- package/dist/cjs/tasks.js.map +1 -0
- package/dist/cjs/types.d.ts +73 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +35 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/whscan-api.d.ts +172 -0
- package/dist/cjs/whscan-api.d.ts.map +1 -0
- package/dist/cjs/whscan-api.js +243 -0
- package/dist/cjs/whscan-api.js.map +1 -0
- package/dist/cjs/wormhole.d.ts +198 -0
- package/dist/cjs/wormhole.d.ts.map +1 -0
- package/dist/cjs/wormhole.js +324 -0
- package/dist/cjs/wormhole.js.map +1 -0
- package/dist/cjs/wormholeTransfer.d.ts +78 -0
- package/dist/cjs/wormholeTransfer.d.ts.map +1 -0
- package/dist/cjs/wormholeTransfer.js +27 -0
- package/dist/cjs/wormholeTransfer.js.map +1 -0
- package/dist/esm/circle-api.d.ts +16 -0
- package/dist/esm/circle-api.d.ts.map +1 -0
- package/dist/esm/circle-api.js +39 -0
- package/dist/esm/circle-api.js.map +1 -0
- package/dist/esm/common.d.ts +4 -0
- package/dist/esm/common.d.ts.map +1 -0
- package/dist/esm/common.js +36 -0
- package/dist/esm/common.js.map +1 -0
- package/dist/esm/config.d.ts +34 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +47 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/index.d.ts +15 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/protocols/cctp/cctpTransfer.d.ts +41 -0
- package/dist/esm/protocols/cctp/cctpTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/cctp/cctpTransfer.js +455 -0
- package/dist/esm/protocols/cctp/cctpTransfer.js.map +1 -0
- package/dist/esm/protocols/cctp/index.d.ts +2 -0
- package/dist/esm/protocols/cctp/index.d.ts.map +1 -0
- package/dist/esm/protocols/cctp/index.js +2 -0
- package/dist/esm/protocols/cctp/index.js.map +1 -0
- package/dist/esm/protocols/cctpTransfer.d.ts +41 -0
- package/dist/esm/protocols/cctpTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/cctpTransfer.js +455 -0
- package/dist/esm/protocols/cctpTransfer.js.map +1 -0
- package/dist/esm/protocols/gateway/gatewayTransfer.d.ts +38 -0
- package/dist/esm/protocols/gateway/gatewayTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/gateway/gatewayTransfer.js +356 -0
- package/dist/esm/protocols/gateway/gatewayTransfer.js.map +1 -0
- package/dist/esm/protocols/gateway/index.d.ts +2 -0
- package/dist/esm/protocols/gateway/index.d.ts.map +1 -0
- package/dist/esm/protocols/gateway/index.js +2 -0
- package/dist/esm/protocols/gateway/index.js.map +1 -0
- package/dist/esm/protocols/gatewayTransfer.d.ts +40 -0
- package/dist/esm/protocols/gatewayTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/gatewayTransfer.js +402 -0
- package/dist/esm/protocols/gatewayTransfer.js.map +1 -0
- package/dist/esm/protocols/index.d.ts +5 -0
- package/dist/esm/protocols/index.d.ts.map +1 -0
- package/dist/esm/protocols/index.js +5 -0
- package/dist/esm/protocols/index.js.map +1 -0
- package/dist/esm/protocols/tokenBridge/automatic.d.ts +16 -0
- package/dist/esm/protocols/tokenBridge/automatic.d.ts.map +1 -0
- package/dist/esm/protocols/tokenBridge/automatic.js +73 -0
- package/dist/esm/protocols/tokenBridge/automatic.js.map +1 -0
- package/dist/esm/protocols/tokenBridge/index.d.ts +5 -0
- package/dist/esm/protocols/tokenBridge/index.d.ts.map +1 -0
- package/dist/esm/protocols/tokenBridge/index.js +5 -0
- package/dist/esm/protocols/tokenBridge/index.js.map +1 -0
- package/dist/esm/protocols/tokenBridge/manual.d.ts +16 -0
- package/dist/esm/protocols/tokenBridge/manual.d.ts.map +1 -0
- package/dist/esm/protocols/tokenBridge/manual.js +73 -0
- package/dist/esm/protocols/tokenBridge/manual.js.map +1 -0
- package/dist/esm/protocols/tokenBridge/tokenTransfer.d.ts +20 -0
- package/dist/esm/protocols/tokenBridge/tokenTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/tokenBridge/tokenTransfer.js +20 -0
- package/dist/esm/protocols/tokenBridge/tokenTransfer.js.map +1 -0
- package/dist/esm/protocols/tokenBridge/utils.d.ts +25 -0
- package/dist/esm/protocols/tokenBridge/utils.d.ts.map +1 -0
- package/dist/esm/protocols/tokenBridge/utils.js +323 -0
- package/dist/esm/protocols/tokenBridge/utils.js.map +1 -0
- package/dist/esm/protocols/tokenTransfer.d.ts +40 -0
- package/dist/esm/protocols/tokenTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/tokenTransfer.js +468 -0
- package/dist/esm/protocols/tokenTransfer.js.map +1 -0
- package/dist/esm/protocols/tokenbridge/automatic.d.ts +16 -0
- package/dist/esm/protocols/tokenbridge/automatic.d.ts.map +1 -0
- package/dist/esm/protocols/tokenbridge/automatic.js +72 -0
- package/dist/esm/protocols/tokenbridge/automatic.js.map +1 -0
- package/dist/esm/protocols/tokenbridge/index.d.ts +2 -0
- package/dist/esm/protocols/tokenbridge/index.d.ts.map +1 -0
- package/dist/esm/protocols/tokenbridge/index.js +2 -0
- package/dist/esm/protocols/tokenbridge/index.js.map +1 -0
- package/dist/esm/protocols/tokenbridge/manual.d.ts +16 -0
- package/dist/esm/protocols/tokenbridge/manual.d.ts.map +1 -0
- package/dist/esm/protocols/tokenbridge/manual.js +72 -0
- package/dist/esm/protocols/tokenbridge/manual.js.map +1 -0
- package/dist/esm/protocols/tokenbridge/tokenTransfer.d.ts +37 -0
- package/dist/esm/protocols/tokenbridge/tokenTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/tokenbridge/tokenTransfer.js +337 -0
- package/dist/esm/protocols/tokenbridge/tokenTransfer.js.map +1 -0
- package/dist/esm/protocols/wormholeTransfer.d.ts +20 -0
- package/dist/esm/protocols/wormholeTransfer.d.ts.map +1 -0
- package/dist/esm/protocols/wormholeTransfer.js +2 -0
- package/dist/esm/protocols/wormholeTransfer.js.map +1 -0
- package/dist/esm/routes/automaticTokenBridgeRoute.d.ts +28 -0
- package/dist/esm/routes/automaticTokenBridgeRoute.d.ts.map +1 -0
- package/dist/esm/routes/automaticTokenBridgeRoute.js +78 -0
- package/dist/esm/routes/automaticTokenBridgeRoute.js.map +1 -0
- package/dist/esm/routes/cctp/automatic.d.ts +46 -0
- package/dist/esm/routes/cctp/automatic.d.ts.map +1 -0
- package/dist/esm/routes/cctp/automatic.js +131 -0
- package/dist/esm/routes/cctp/automatic.js.map +1 -0
- package/dist/esm/routes/cctp/index.d.ts +3 -0
- package/dist/esm/routes/cctp/index.d.ts.map +1 -0
- package/dist/esm/routes/cctp/index.js +3 -0
- package/dist/esm/routes/cctp/index.js.map +1 -0
- package/dist/esm/routes/cctp/manual.d.ts +43 -0
- package/dist/esm/routes/cctp/manual.d.ts.map +1 -0
- package/dist/esm/routes/cctp/manual.js +109 -0
- package/dist/esm/routes/cctp/manual.js.map +1 -0
- package/dist/esm/routes/common.d.ts +13 -0
- package/dist/esm/routes/common.d.ts.map +1 -0
- package/dist/esm/routes/common.js +41 -0
- package/dist/esm/routes/common.js.map +1 -0
- package/dist/esm/routes/index.d.ts +9 -0
- package/dist/esm/routes/index.d.ts.map +1 -0
- package/dist/esm/routes/index.js +9 -0
- package/dist/esm/routes/index.js.map +1 -0
- package/dist/esm/routes/mock/automatic.d.ts +25 -0
- package/dist/esm/routes/mock/automatic.d.ts.map +1 -0
- package/dist/esm/routes/mock/automatic.js +84 -0
- package/dist/esm/routes/mock/automatic.js.map +1 -0
- package/dist/esm/routes/mock/index.d.ts +3 -0
- package/dist/esm/routes/mock/index.d.ts.map +1 -0
- package/dist/esm/routes/mock/index.js +3 -0
- package/dist/esm/routes/mock/index.js.map +1 -0
- package/dist/esm/routes/mock/manual.d.ts +24 -0
- package/dist/esm/routes/mock/manual.d.ts.map +1 -0
- package/dist/esm/routes/mock/manual.js +83 -0
- package/dist/esm/routes/mock/manual.js.map +1 -0
- package/dist/esm/routes/portico/automatic.d.ts +68 -0
- package/dist/esm/routes/portico/automatic.d.ts.map +1 -0
- package/dist/esm/routes/portico/automatic.js +204 -0
- package/dist/esm/routes/portico/automatic.js.map +1 -0
- package/dist/esm/routes/portico/index.d.ts +2 -0
- package/dist/esm/routes/portico/index.d.ts.map +1 -0
- package/dist/esm/routes/portico/index.js +2 -0
- package/dist/esm/routes/portico/index.js.map +1 -0
- package/dist/esm/routes/portico/manual.d.ts +61 -0
- package/dist/esm/routes/portico/manual.d.ts.map +1 -0
- package/dist/esm/routes/portico/manual.js +137 -0
- package/dist/esm/routes/portico/manual.js.map +1 -0
- package/dist/esm/routes/portico/utils.d.ts +1 -0
- package/dist/esm/routes/portico/utils.d.ts.map +1 -0
- package/dist/esm/routes/portico/utils.js +2 -0
- package/dist/esm/routes/portico/utils.js.map +1 -0
- package/dist/esm/routes/request.d.ts +25 -0
- package/dist/esm/routes/request.d.ts.map +1 -0
- package/dist/esm/routes/request.js +61 -0
- package/dist/esm/routes/request.js.map +1 -0
- package/dist/esm/routes/resolver.d.ts +15 -0
- package/dist/esm/routes/resolver.d.ts.map +1 -0
- package/dist/esm/routes/resolver.js +83 -0
- package/dist/esm/routes/resolver.js.map +1 -0
- package/dist/esm/routes/route.d.ts +46 -0
- package/dist/esm/routes/route.d.ts.map +1 -0
- package/dist/esm/routes/route.js +26 -0
- package/dist/esm/routes/route.js.map +1 -0
- package/dist/esm/routes/token.d.ts +12 -0
- package/dist/esm/routes/token.d.ts.map +1 -0
- package/dist/esm/routes/token.js +31 -0
- package/dist/esm/routes/token.js.map +1 -0
- package/dist/esm/routes/tokenBridge/automatic.d.ts +46 -0
- package/dist/esm/routes/tokenBridge/automatic.d.ts.map +1 -0
- package/dist/esm/routes/tokenBridge/automatic.js +141 -0
- package/dist/esm/routes/tokenBridge/automatic.js.map +1 -0
- package/dist/esm/routes/tokenBridge/index.d.ts +3 -0
- package/dist/esm/routes/tokenBridge/index.d.ts.map +1 -0
- package/dist/esm/routes/tokenBridge/index.js +3 -0
- package/dist/esm/routes/tokenBridge/index.js.map +1 -0
- package/dist/esm/routes/tokenBridge/manual.d.ts +42 -0
- package/dist/esm/routes/tokenBridge/manual.d.ts.map +1 -0
- package/dist/esm/routes/tokenBridge/manual.js +83 -0
- package/dist/esm/routes/tokenBridge/manual.js.map +1 -0
- package/dist/esm/routes/tokenBridgeRoute.d.ts +25 -0
- package/dist/esm/routes/tokenBridgeRoute.d.ts.map +1 -0
- package/dist/esm/routes/tokenBridgeRoute.js +74 -0
- package/dist/esm/routes/tokenBridgeRoute.js.map +1 -0
- package/dist/esm/routes/types.d.ts +44 -0
- package/dist/esm/routes/types.d.ts.map +1 -0
- package/dist/esm/routes/types.js +2 -0
- package/dist/esm/routes/types.js.map +1 -0
- package/dist/esm/tasks.d.ts +7 -0
- package/dist/esm/tasks.d.ts.map +1 -0
- package/dist/esm/tasks.js +59 -0
- package/dist/esm/tasks.js.map +1 -0
- package/dist/esm/types.d.ts +73 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +27 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/whscan-api.d.ts +172 -0
- package/dist/esm/whscan-api.d.ts.map +1 -0
- package/dist/esm/whscan-api.js +222 -0
- package/dist/esm/whscan-api.js.map +1 -0
- package/dist/esm/wormhole.d.ts +198 -0
- package/dist/esm/wormhole.d.ts.map +1 -0
- package/dist/esm/wormhole.js +320 -0
- package/dist/esm/wormhole.js.map +1 -0
- package/dist/esm/wormholeTransfer.d.ts +78 -0
- package/dist/esm/wormholeTransfer.d.ts.map +1 -0
- package/dist/esm/wormholeTransfer.js +21 -0
- package/dist/esm/wormholeTransfer.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GatewayTransfer = void 0;
|
|
4
|
+
const sdk_base_1 = require("@wormhole-foundation/sdk-base");
|
|
5
|
+
const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
|
|
6
|
+
const common_1 = require("../../common");
|
|
7
|
+
const tasks_1 = require("../../tasks");
|
|
8
|
+
const types_1 = require("../../types");
|
|
9
|
+
const wormhole_1 = require("../../wormhole");
|
|
10
|
+
class GatewayTransfer {
|
|
11
|
+
static chain = "Wormchain";
|
|
12
|
+
wh;
|
|
13
|
+
// Wormchain context
|
|
14
|
+
gateway;
|
|
15
|
+
// Wormchain IBC Bridge
|
|
16
|
+
gatewayIbcBridge;
|
|
17
|
+
// Contract address
|
|
18
|
+
gatewayAddress;
|
|
19
|
+
// state machine tracker
|
|
20
|
+
_state;
|
|
21
|
+
// cached message derived from transfer details
|
|
22
|
+
// note: we dont want to create multiple different ones since
|
|
23
|
+
// the nonce may change and we want to keep it consistent
|
|
24
|
+
msg;
|
|
25
|
+
// Initial Transfer Settings
|
|
26
|
+
transfer;
|
|
27
|
+
// Transaction Ids from source chain
|
|
28
|
+
transactions = [];
|
|
29
|
+
// The corresponding vaa representing the GatewayTransfer
|
|
30
|
+
// on the source chain (if it came from outside cosmos and if its been completed and finalized)
|
|
31
|
+
vaas;
|
|
32
|
+
// Any transfers we do over ibc
|
|
33
|
+
ibcTransfers = [];
|
|
34
|
+
constructor(wh, transfer, gateway, gatewayIbc) {
|
|
35
|
+
this._state = types_1.TransferState.Created;
|
|
36
|
+
this.wh = wh;
|
|
37
|
+
this.transfer = transfer;
|
|
38
|
+
// reference from conf instead of asking the module
|
|
39
|
+
// so we can prevent weird imports
|
|
40
|
+
this.gatewayAddress = {
|
|
41
|
+
chain: GatewayTransfer.chain,
|
|
42
|
+
address: (0, sdk_definitions_1.toNative)(GatewayTransfer.chain, this.wh.config.chains[GatewayTransfer.chain].contracts.gateway),
|
|
43
|
+
};
|
|
44
|
+
// cache the wormchain chain context since we need it for checks
|
|
45
|
+
this.gateway = gateway;
|
|
46
|
+
this.gatewayIbcBridge = gatewayIbc;
|
|
47
|
+
// cache the message since we don't want to regenerate it any time we need it
|
|
48
|
+
this.msg = (0, sdk_definitions_1.gatewayTransferMsg)(this.transfer);
|
|
49
|
+
}
|
|
50
|
+
getTransferState() {
|
|
51
|
+
return this._state;
|
|
52
|
+
}
|
|
53
|
+
static async from(wh, from, timeout) {
|
|
54
|
+
// we need this regardless of the type of `from`
|
|
55
|
+
const wc = wh.getChain(GatewayTransfer.chain);
|
|
56
|
+
const wcibc = await wc.getIbcBridge();
|
|
57
|
+
// Fresh new transfer
|
|
58
|
+
if ((0, sdk_definitions_1.isGatewayTransferDetails)(from)) {
|
|
59
|
+
return new GatewayTransfer(wh, from, wc, wcibc);
|
|
60
|
+
}
|
|
61
|
+
// Picking up where we left off
|
|
62
|
+
let gtd;
|
|
63
|
+
let txns = [];
|
|
64
|
+
if ((0, sdk_definitions_1.isTransactionIdentifier)(from)) {
|
|
65
|
+
txns.push(from);
|
|
66
|
+
gtd = await GatewayTransfer._fromTransaction(wh, from);
|
|
67
|
+
}
|
|
68
|
+
else if ((0, sdk_definitions_1.isWormholeMessageId)(from)) {
|
|
69
|
+
// TODO: we're missing the transaction that created this
|
|
70
|
+
// get it from transaction status search on wormholescan?
|
|
71
|
+
gtd = await GatewayTransfer._fromMsgId(wh, from);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
throw new Error("Invalid `from` parameter for GatewayTransfer");
|
|
75
|
+
}
|
|
76
|
+
const gt = new GatewayTransfer(wh, gtd, wc, wcibc);
|
|
77
|
+
gt.transactions = txns;
|
|
78
|
+
// Since we're picking up from somewhere we can move the
|
|
79
|
+
// state maching to initiated
|
|
80
|
+
gt._state = types_1.TransferState.SourceInitiated;
|
|
81
|
+
// Wait for what _can_ complete to complete
|
|
82
|
+
await gt.fetchAttestation(timeout);
|
|
83
|
+
return gt;
|
|
84
|
+
}
|
|
85
|
+
// Recover Transfer info from VAA details
|
|
86
|
+
static async _fromMsgId(wh, from, timeout) {
|
|
87
|
+
// Starting with the VAA
|
|
88
|
+
const vaa = await GatewayTransfer.getTransferVaa(wh, from, timeout);
|
|
89
|
+
// The VAA may have a payload which may have a nested GatewayTransferMessage
|
|
90
|
+
let payload = vaa.payloadName === "TransferWithPayload" ? vaa.payload.payload : undefined;
|
|
91
|
+
// Nonce for GatewayTransferMessage may be in the payload
|
|
92
|
+
// and since we use the payload to find the Wormchain transacton
|
|
93
|
+
// we need to preserve it
|
|
94
|
+
let nonce;
|
|
95
|
+
let to = { ...vaa.payload.to };
|
|
96
|
+
// The payload here may be the message for Gateway
|
|
97
|
+
// Lets be sure to pull the real payload if its set
|
|
98
|
+
// Otherwise revert to undefined
|
|
99
|
+
if (payload) {
|
|
100
|
+
try {
|
|
101
|
+
const maybeWithPayload = (0, sdk_definitions_1.toGatewayMsg)(sdk_base_1.encoding.bytes.decode(payload));
|
|
102
|
+
nonce = maybeWithPayload.nonce;
|
|
103
|
+
payload = maybeWithPayload.payload
|
|
104
|
+
? sdk_base_1.encoding.bytes.encode(maybeWithPayload.payload)
|
|
105
|
+
: undefined;
|
|
106
|
+
const destChain = (0, sdk_base_1.toChain)(maybeWithPayload.chain);
|
|
107
|
+
// b64 decode the address to its string representation
|
|
108
|
+
const recipientAddress = sdk_base_1.encoding.bytes.decode(sdk_base_1.encoding.b64.decode(maybeWithPayload.recipient));
|
|
109
|
+
to = wormhole_1.Wormhole.chainAddress(destChain, recipientAddress);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
/*Ignoring, throws if not the payload isnt JSON*/
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const { chain, address, amount } = vaa.payload.token;
|
|
116
|
+
// Reconstruct the details
|
|
117
|
+
const details = {
|
|
118
|
+
token: { chain, address },
|
|
119
|
+
amount: amount,
|
|
120
|
+
// TODO: the `from.address` here is a lie, but we don't
|
|
121
|
+
// immediately have enough info to get the _correct_ one
|
|
122
|
+
from: { chain: from.chain, address: from.emitter },
|
|
123
|
+
to,
|
|
124
|
+
nonce,
|
|
125
|
+
payload: payload,
|
|
126
|
+
};
|
|
127
|
+
return details;
|
|
128
|
+
}
|
|
129
|
+
// Init from source tx hash, depending on the source chain
|
|
130
|
+
// we pull Transfer info from either IBC or a wh message
|
|
131
|
+
static async _fromTransaction(wh, from, timeout) {
|
|
132
|
+
const { chain, txid } = from;
|
|
133
|
+
const originChain = wh.getChain(chain);
|
|
134
|
+
// If its origin chain is Cosmos, it should be an IBC message
|
|
135
|
+
// but its not all the time so do this differently?
|
|
136
|
+
// TODO: check if the chain supports Gateway protocol?
|
|
137
|
+
if ((0, sdk_base_1.chainToPlatform)(chain) === "Cosmwasm") {
|
|
138
|
+
// Get the ibc tx info from the origin
|
|
139
|
+
const ibcBridge = await originChain.getIbcBridge();
|
|
140
|
+
const xfer = await ibcBridge.lookupTransferFromTx(from.txid);
|
|
141
|
+
return GatewayTransfer.ibcTransfertoGatewayTransfer(xfer);
|
|
142
|
+
}
|
|
143
|
+
// Otherwise grab the vaa details from the origin tx
|
|
144
|
+
const [whMsgId] = await originChain.parseTransaction(txid);
|
|
145
|
+
return await GatewayTransfer._fromMsgId(wh, whMsgId, timeout);
|
|
146
|
+
}
|
|
147
|
+
// Recover transfer info the first step in the transfer
|
|
148
|
+
static ibcTransfertoGatewayTransfer(xfer) {
|
|
149
|
+
const token = {
|
|
150
|
+
chain: xfer.id.chain,
|
|
151
|
+
address: (0, sdk_definitions_1.toNative)(xfer.id.chain, xfer.data.denom),
|
|
152
|
+
};
|
|
153
|
+
const msg = (0, sdk_definitions_1.toGatewayMsg)(xfer.data.memo);
|
|
154
|
+
const destChain = (0, sdk_base_1.toChain)(msg.chain);
|
|
155
|
+
const _recip = sdk_base_1.encoding.b64.valid(msg.recipient)
|
|
156
|
+
? sdk_base_1.encoding.bytes.decode(sdk_base_1.encoding.b64.decode(msg.recipient))
|
|
157
|
+
: msg.recipient;
|
|
158
|
+
const recipient = (0, sdk_base_1.chainToPlatform)(destChain) === "Cosmwasm"
|
|
159
|
+
? {
|
|
160
|
+
chain: destChain,
|
|
161
|
+
address: (0, sdk_definitions_1.toNative)(destChain, _recip.toString()),
|
|
162
|
+
}
|
|
163
|
+
: {
|
|
164
|
+
chain: destChain,
|
|
165
|
+
address: (0, sdk_definitions_1.toNative)(destChain, new sdk_definitions_1.UniversalAddress(_recip)),
|
|
166
|
+
};
|
|
167
|
+
const payload = msg.payload ? sdk_base_1.encoding.bytes.encode(msg.payload) : undefined;
|
|
168
|
+
const details = {
|
|
169
|
+
token,
|
|
170
|
+
amount: BigInt(xfer.data.amount),
|
|
171
|
+
from: {
|
|
172
|
+
chain: xfer.id.chain,
|
|
173
|
+
address: (0, sdk_definitions_1.toNative)(xfer.id.chain, xfer.data.sender),
|
|
174
|
+
},
|
|
175
|
+
to: recipient,
|
|
176
|
+
fee: BigInt(msg.fee),
|
|
177
|
+
payload,
|
|
178
|
+
};
|
|
179
|
+
return details;
|
|
180
|
+
}
|
|
181
|
+
// start the WormholeTransfer by submitting transactions to the source chain
|
|
182
|
+
// returns a transaction hash
|
|
183
|
+
async initiateTransfer(signer) {
|
|
184
|
+
/*
|
|
185
|
+
0) Check current `state` is valid to call this (eg: state == Created)
|
|
186
|
+
1) Figure out where to call and issue transactions
|
|
187
|
+
2) Update state
|
|
188
|
+
3) return transaction ids
|
|
189
|
+
*/
|
|
190
|
+
if (this._state !== types_1.TransferState.Created)
|
|
191
|
+
throw new Error("Invalid state transition in `start`");
|
|
192
|
+
this.transactions = await (this.fromGateway()
|
|
193
|
+
? this._transferIbc(signer)
|
|
194
|
+
: this._transfer(signer));
|
|
195
|
+
// Update State Machine
|
|
196
|
+
this._state = types_1.TransferState.SourceInitiated;
|
|
197
|
+
return this.transactions.map((tx) => tx.txid);
|
|
198
|
+
}
|
|
199
|
+
async _transfer(signer) {
|
|
200
|
+
const tokenAddress = this.transfer.token.address;
|
|
201
|
+
const fromChain = this.wh.getChain(this.transfer.from.chain);
|
|
202
|
+
// Build the message needed to send a transfer through the gateway
|
|
203
|
+
const tb = await fromChain.getTokenBridge();
|
|
204
|
+
const xfer = tb.transfer(this.transfer.from.address, this.gatewayAddress, tokenAddress, this.transfer.amount, sdk_base_1.encoding.bytes.encode(JSON.stringify(this.msg)));
|
|
205
|
+
return (0, common_1.signSendWait)(fromChain, xfer, signer);
|
|
206
|
+
}
|
|
207
|
+
async _transferIbc(signer) {
|
|
208
|
+
if ((0, sdk_definitions_1.isNative)(this.transfer.token.address))
|
|
209
|
+
throw new Error("Native not supported for IBC transfers");
|
|
210
|
+
const fromChain = this.wh.getChain(this.transfer.from.chain);
|
|
211
|
+
const ibcBridge = await fromChain.getIbcBridge();
|
|
212
|
+
const xfer = ibcBridge.transfer(this.transfer.from.address, this.transfer.to, this.transfer.token.address, this.transfer.amount);
|
|
213
|
+
return (0, common_1.signSendWait)(fromChain, xfer, signer);
|
|
214
|
+
}
|
|
215
|
+
// TODO: track the time elapsed and subtract it from the timeout passed with
|
|
216
|
+
// successive updates
|
|
217
|
+
// wait for the Attestations to be ready
|
|
218
|
+
async fetchAttestation(timeout) {
|
|
219
|
+
// Note: this method probably does too much
|
|
220
|
+
if (this._state < types_1.TransferState.SourceInitiated || this._state > types_1.TransferState.Attested)
|
|
221
|
+
throw new Error("Invalid state transition in `fetchAttestation`");
|
|
222
|
+
const attestations = [];
|
|
223
|
+
const chain = this.wh.getChain(this.transfer.from.chain);
|
|
224
|
+
// collect ibc transfers and additional transaction ids
|
|
225
|
+
if (this.fromGateway()) {
|
|
226
|
+
// assume all the txs are from the same chain
|
|
227
|
+
// and get the ibc bridge once
|
|
228
|
+
const originIbcbridge = await chain.getIbcBridge();
|
|
229
|
+
// Ultimately we need to find the corresponding Wormchain transaction
|
|
230
|
+
// from the intitiating cosmos chain, this will contain the details of the
|
|
231
|
+
// outbound transaction to the destination chain
|
|
232
|
+
// start by getting the IBC transfers into wormchain
|
|
233
|
+
// from the cosmos chain
|
|
234
|
+
this.ibcTransfers = (await Promise.all(this.transactions.map((tx) => originIbcbridge.lookupTransferFromTx(tx.txid)))).flat();
|
|
235
|
+
// I don't know why this would happen so lmk if you see this
|
|
236
|
+
if (this.ibcTransfers.length != 1)
|
|
237
|
+
throw new Error("why?");
|
|
238
|
+
const [xfer] = this.ibcTransfers;
|
|
239
|
+
if (!this.toGateway()) {
|
|
240
|
+
// If we're leaving cosmos, grab the VAA from the gateway
|
|
241
|
+
// now find the corresponding wormchain transaction given the ibcTransfer info
|
|
242
|
+
const retryInterval = 5000;
|
|
243
|
+
const task = () => this.gatewayIbcBridge.lookupMessageFromIbcMsgId(xfer.id);
|
|
244
|
+
const whm = await (0, tasks_1.retry)(task, retryInterval, timeout, "Gateway:IbcBridge:LookupWormholeMessageFromIncomingIbcMessage");
|
|
245
|
+
if (!whm)
|
|
246
|
+
throw new Error("Matching wormhole message not found after retries exhausted");
|
|
247
|
+
const vaa = await GatewayTransfer.getTransferVaa(this.wh, whm);
|
|
248
|
+
this.vaas = [{ id: whm, vaa }];
|
|
249
|
+
attestations.push(whm);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
// Otherwise we need to get the transfer on the destination chain
|
|
253
|
+
const dstChain = this.wh.getChain(this.transfer.to.chain);
|
|
254
|
+
const dstIbcBridge = await dstChain.getIbcBridge();
|
|
255
|
+
const ibcXfer = await dstIbcBridge.lookupTransferFromIbcMsgId(xfer.id);
|
|
256
|
+
this.ibcTransfers.push(ibcXfer);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
// Otherwise, we're coming from outside cosmos and
|
|
261
|
+
// we need to find the wormchain ibc transaction information
|
|
262
|
+
// by searching for the transaction containing the
|
|
263
|
+
// GatewayTransferMsg
|
|
264
|
+
const transferTransaction = this.transactions[this.transactions.length - 1];
|
|
265
|
+
const [whm] = await wormhole_1.Wormhole.parseMessageFromTx(chain, transferTransaction.txid);
|
|
266
|
+
const vaa = await GatewayTransfer.getTransferVaa(this.wh, whm);
|
|
267
|
+
this.vaas = [{ id: whm, vaa }];
|
|
268
|
+
attestations.push(whm);
|
|
269
|
+
// TODO: conf for these settings? how do we choose them?
|
|
270
|
+
const vaaRedeemedRetryInterval = 2000;
|
|
271
|
+
const transferCompleteInterval = 5000;
|
|
272
|
+
// Wait until the vaa is redeemed before trying to look up the
|
|
273
|
+
// transfer message
|
|
274
|
+
const wcTb = await this.gateway.getTokenBridge();
|
|
275
|
+
// Since we want to retry until its redeemed, return null
|
|
276
|
+
// in the case that its not redeemed
|
|
277
|
+
const isRedeemedTask = () => (0, tasks_1.isTokenBridgeVaaRedeemed)(wcTb, vaa);
|
|
278
|
+
const redeemed = await (0, tasks_1.retry)(isRedeemedTask, vaaRedeemedRetryInterval, timeout, "Gateway:TokenBridge:IsVaaRedeemed");
|
|
279
|
+
if (!redeemed)
|
|
280
|
+
throw new Error("VAA not redeemed after retries exhausted");
|
|
281
|
+
// Next, get the IBC transactions from wormchain
|
|
282
|
+
// Note: Because we search by GatewayTransferMsg payload
|
|
283
|
+
// there is a possibility of dupe messages being returned
|
|
284
|
+
// using a nonce should help
|
|
285
|
+
const wcTransferTask = () => (0, tasks_1.fetchIbcXfer)(this.gatewayIbcBridge, this.msg);
|
|
286
|
+
const wcTransfer = await (0, tasks_1.retry)(wcTransferTask, vaaRedeemedRetryInterval, timeout, "Gateway:IbcBridge:WormchainTransferInitiated");
|
|
287
|
+
if (!wcTransfer)
|
|
288
|
+
throw new Error("Wormchain transfer not found after retries exhausted");
|
|
289
|
+
if (wcTransfer.pending) {
|
|
290
|
+
// TODO: check if pending and bail(?) if so
|
|
291
|
+
}
|
|
292
|
+
this.ibcTransfers.push(wcTransfer);
|
|
293
|
+
// Finally, get the IBC transfer to the destination chain
|
|
294
|
+
const destChain = this.wh.getChain(this.transfer.to.chain);
|
|
295
|
+
const destIbcBridge = await destChain.getIbcBridge();
|
|
296
|
+
//@ts-ignore
|
|
297
|
+
const destTransferTask = () => (0, tasks_1.fetchIbcXfer)(destIbcBridge, wcTransfer.id);
|
|
298
|
+
const destTransfer = await (0, tasks_1.retry)(destTransferTask, transferCompleteInterval, timeout, "Destination:IbcBridge:WormchainTransferCompleted");
|
|
299
|
+
if (!destTransfer)
|
|
300
|
+
throw new Error("IBC Transfer into destination not found after retries exhausted" +
|
|
301
|
+
JSON.stringify(wcTransfer.id));
|
|
302
|
+
this.ibcTransfers.push(destTransfer);
|
|
303
|
+
}
|
|
304
|
+
// Add transfers to attestations we return
|
|
305
|
+
// Note: there is no ordering guarantee here
|
|
306
|
+
attestations.push(...this.ibcTransfers.map((xfer) => xfer.id));
|
|
307
|
+
this._state = types_1.TransferState.Attested;
|
|
308
|
+
return attestations;
|
|
309
|
+
}
|
|
310
|
+
// finish the WormholeTransfer by submitting transactions to the destination chain
|
|
311
|
+
// returns a transaction hash
|
|
312
|
+
async completeTransfer(signer) {
|
|
313
|
+
/*
|
|
314
|
+
0) check that the current `state` is valid to call this (eg: state == Ready)
|
|
315
|
+
1) prepare the transactions and sign them given the signer
|
|
316
|
+
2) submit the VAA and transactions on chain
|
|
317
|
+
3) return txid of submission
|
|
318
|
+
*/
|
|
319
|
+
if (this._state < types_1.TransferState.Attested)
|
|
320
|
+
throw new Error("Invalid state transition in `finish`. Be sure to call `fetchAttestation`.");
|
|
321
|
+
if (this.toGateway())
|
|
322
|
+
// TODO: assuming the last transaction captured is the one from gateway to the destination
|
|
323
|
+
return [this.transactions[this.transactions.length - 1].txid];
|
|
324
|
+
if (!this.vaas)
|
|
325
|
+
throw new Error("No VAA details available to redeem");
|
|
326
|
+
if (this.vaas.length > 1)
|
|
327
|
+
throw new Error("Expected 1 vaa");
|
|
328
|
+
const { chain, address } = this.transfer.to;
|
|
329
|
+
const toChain = this.wh.getChain(chain);
|
|
330
|
+
// TODO: these could be different, but when?
|
|
331
|
+
//const signerAddress = toNative(signer.chain(), signer.address());
|
|
332
|
+
const toAddress = address.toUniversalAddress();
|
|
333
|
+
const tb = await toChain.getTokenBridge();
|
|
334
|
+
const { vaa } = this.vaas[0];
|
|
335
|
+
if (!vaa)
|
|
336
|
+
throw new Error(`No VAA found for ${this.vaas[0].id.sequence}`);
|
|
337
|
+
const xfer = tb.redeem(toAddress, vaa);
|
|
338
|
+
const redeemTxs = await (0, common_1.signSendWait)(toChain, xfer, signer);
|
|
339
|
+
this.transactions.push(...redeemTxs);
|
|
340
|
+
this._state = types_1.TransferState.DestinationInitiated;
|
|
341
|
+
return redeemTxs.map(({ txid }) => txid);
|
|
342
|
+
}
|
|
343
|
+
static async getTransferVaa(wh, whm, timeout) {
|
|
344
|
+
const vaa = await wh.getVaa(whm, sdk_definitions_1.TokenBridge.getTransferDiscriminator(), timeout);
|
|
345
|
+
if (!vaa)
|
|
346
|
+
throw new Error(`No VAA Available: ${whm.chain}/${whm.emitter}/${whm.sequence}`);
|
|
347
|
+
return vaa;
|
|
348
|
+
}
|
|
349
|
+
// Implicitly determine if the chain is Gateway enabled by
|
|
350
|
+
// checking to see if the Gateway IBC bridge has a transfer channel setup
|
|
351
|
+
// If this is a new chain, add the channels to the constants file
|
|
352
|
+
fromGateway() {
|
|
353
|
+
return this.gatewayIbcBridge.getTransferChannel(this.transfer.from.chain) !== null;
|
|
354
|
+
}
|
|
355
|
+
toGateway() {
|
|
356
|
+
return this.gatewayIbcBridge.getTransferChannel(this.transfer.to.chain) !== null;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
exports.GatewayTransfer = GatewayTransfer;
|
|
360
|
+
//# sourceMappingURL=gatewayTransfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatewayTransfer.js","sourceRoot":"","sources":["../../../../src/protocols/gateway/gatewayTransfer.ts"],"names":[],"mappings":";;;AAAA,4DAOuC;AACvC,0EAuB8C;AAC9C,yCAA4C;AAC5C,uCAA4E;AAC5E,uCAA4C;AAC5C,6CAA0C;AAS1C,MAAa,eAAe;IAC1B,MAAM,CAAC,KAAK,GAAgB,WAAW,CAAC;IAEvB,EAAE,CAAc;IAEjC,oBAAoB;IACH,OAAO,CAAoB;IAC5C,uBAAuB;IACN,gBAAgB,CAAyD;IAC1F,mBAAmB;IACF,cAAc,CAAe;IAE9C,wBAAwB;IAChB,MAAM,CAAgB;IAE9B,+CAA+C;IAC/C,6DAA6D;IAC7D,yDAAyD;IACjD,GAAG,CAAqD;IAEhE,4BAA4B;IAC5B,QAAQ,CAAyB;IAEjC,oCAAoC;IACpC,YAAY,GAAoB,EAAE,CAAC;IAEnC,yDAAyD;IACzD,+FAA+F;IAC/F,IAAI,CAGA;IAEJ,+BAA+B;IAC/B,YAAY,GAAsB,EAAE,CAAC;IAErC,YACE,EAAe,EACf,QAAgC,EAChC,OAA0B,EAC1B,UAAkE;QAElE,IAAI,CAAC,MAAM,GAAG,qBAAa,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,mDAAmD;QACnD,kCAAkC;QAClC,IAAI,CAAC,cAAc,GAAG;YACpB,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,OAAO,EAAE,IAAA,0BAAQ,EACf,eAAe,CAAC,KAAK,EACrB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC,SAAS,CAAC,OAAQ,CACjE;SACF,CAAC;QAEF,gEAAgE;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAEnC,6EAA6E;QAC7E,IAAI,CAAC,GAAG,GAAG,IAAA,oCAAkB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAiBD,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,EAAe,EACf,IAAgE,EAChE,OAAgB;QAEhB,gDAAgD;QAChD,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;QAEtC,qBAAqB;QACrB,IAAI,IAAA,0CAAwB,EAAC,IAAI,CAAC,EAAE;YAClC,OAAO,IAAI,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;SACjD;QAED,+BAA+B;QAC/B,IAAI,GAA2B,CAAC;QAChC,IAAI,IAAI,GAAoB,EAAE,CAAC;QAC/B,IAAI,IAAA,yCAAuB,EAAC,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACxD;aAAM,IAAI,IAAA,qCAAmB,EAAC,IAAI,CAAC,EAAE;YACpC,wDAAwD;YACxD,yDAAyD;YACzD,GAAG,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAClD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACnD,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;QAEvB,wDAAwD;QACxD,6BAA6B;QAC7B,EAAE,CAAC,MAAM,GAAG,qBAAa,CAAC,eAAe,CAAC;QAE1C,2CAA2C;QAC3C,MAAM,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,yCAAyC;IACjC,MAAM,CAAC,KAAK,CAAC,UAAU,CAC7B,EAAe,EACf,IAAuB,EACvB,OAAgB;QAEhB,wBAAwB;QACxB,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpE,4EAA4E;QAC5E,IAAI,OAAO,GACT,GAAG,CAAC,WAAW,KAAK,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,yDAAyD;QACzD,gEAAgE;QAChE,yBAAyB;QACzB,IAAI,KAAyB,CAAC;QAE9B,IAAI,EAAE,GAAiB,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC7C,kDAAkD;QAClD,mDAAmD;QACnD,gCAAgC;QAChC,IAAI,OAAO,EAAE;YACX,IAAI;gBACF,MAAM,gBAAgB,GAAG,IAAA,8BAAY,EAAC,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBAC/B,OAAO,GAAG,gBAAgB,CAAC,OAAO;oBAChC,CAAC,CAAC,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACjD,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,SAAS,GAAG,IAAA,kBAAO,EAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAClD,sDAAsD;gBACtD,MAAM,gBAAgB,GAAG,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAC5C,mBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAChD,CAAC;gBACF,EAAE,GAAG,mBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;aACzD;YAAC,MAAM;gBACN,iDAAiD;aAClD;SACF;QAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAErD,0BAA0B;QAC1B,MAAM,OAAO,GAA2B;YACtC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACzB,MAAM,EAAE,MAAM;YACd,uDAAuD;YACvD,wDAAwD;YACxD,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YAClD,EAAE;YACF,KAAK;YACL,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,0DAA0D;IAC1D,wDAAwD;IAChD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CACnC,EAAe,EACf,IAAmB,EACnB,OAAgB;QAEhB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAE7B,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEvC,6DAA6D;QAC7D,mDAAmD;QACnD,sDAAsD;QACtD,IAAI,IAAA,0BAAe,EAAC,KAAK,CAAC,KAAK,UAAU,EAAE;YACzC,sCAAsC;YACtC,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;SAC3D;QAED,oDAAoD;QACpD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,MAAM,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,OAAQ,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,uDAAuD;IAC/C,MAAM,CAAC,4BAA4B,CAAC,IAAqB;QAC/D,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;YACpB,OAAO,EAAE,IAAA,0BAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;SACvC,CAAC;QAEb,MAAM,GAAG,GAAG,IAAA,8BAAY,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAA,kBAAO,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,mBAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3D,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QAClB,MAAM,SAAS,GACb,IAAA,0BAAe,EAAC,SAAS,CAAC,KAAK,UAAU;YACvC,CAAC,CAAC;gBACE,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,IAAA,0BAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;aAChD;YACH,CAAC,CAAC;gBACE,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,IAAA,0BAAQ,EAAC,SAAS,EAAE,IAAI,kCAAgB,CAAC,MAAM,CAAC,CAAC;aAC3D,CAAC;QAER,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7E,MAAM,OAAO,GAA2B;YACtC,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;gBACpB,OAAO,EAAE,IAAA,0BAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;aACnD;YACD,EAAE,EAAE,SAAS;YACb,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACpB,OAAO;SACR,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,6BAA6B;IAC7B,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC;;;;;UAKE;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,qBAAa,CAAC,OAAO;YACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAEzD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YAC3C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5B,uBAAuB;QACvB,IAAI,CAAC,MAAM,GAAG,qBAAa,CAAC,eAAe,CAAC;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAAc;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7D,kEAAkE;QAClE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAC1B,IAAI,CAAC,cAAc,EACnB,YAAY,EACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAChD,CAAC;QAEF,OAAO,IAAA,qBAAY,EAA4B,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAc;QACvC,IAAI,IAAA,0BAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7D,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAC;QAEF,OAAO,IAAA,qBAAY,EAA4B,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,4EAA4E;IAC5E,qBAAqB;IACrB,wCAAwC;IACxC,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QACrC,2CAA2C;QAE3C,IAAI,IAAI,CAAC,MAAM,GAAG,qBAAa,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,GAAG,qBAAa,CAAC,QAAQ;YACrF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEpE,MAAM,YAAY,GAAoB,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,uDAAuD;QACvD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,6CAA6C;YAC7C,8BAA8B;YAC9B,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;YAEnD,qEAAqE;YACrE,0EAA0E;YAC1E,gDAAgD;YAEhD,oDAAoD;YACpD,wBAAwB;YACxB,IAAI,CAAC,YAAY,GAAG,CAClB,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAC7E,CACF,CAAC,IAAI,EAAE,CAAC;YAET,4DAA4D;YAC5D,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAE3D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;gBACrB,yDAAyD;gBACzD,8EAA8E;gBAC9E,MAAM,aAAa,GAAG,IAAI,CAAC;gBAC3B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC;gBAC7E,MAAM,GAAG,GAAG,MAAM,IAAA,aAAK,EACrB,IAAI,EACJ,aAAa,EACb,OAAO,EACP,+DAA+D,CAChE,CAAC;gBACF,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBAEzF,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAE/B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACxB;iBAAM;gBACL,iEAAiE;gBACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,0BAA0B,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACjC;SACF;aAAM;YACL,kDAAkD;YAClD,4DAA4D;YAC5D,kDAAkD;YAClD,qBAAqB;YACrB,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YAC7E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,mBAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAI,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhC,YAAY,CAAC,IAAI,CAAC,GAAI,CAAC,CAAC;YAExB,wDAAwD;YACxD,MAAM,wBAAwB,GAAG,IAAI,CAAC;YACtC,MAAM,wBAAwB,GAAG,IAAI,CAAC;YAEtC,8DAA8D;YAC9D,mBAAmB;YACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACjD,yDAAyD;YACzD,oCAAoC;YACpC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAA,gCAAwB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAK,EAC1B,cAAc,EACd,wBAAwB,EACxB,OAAO,EACP,mCAAmC,CACpC,CAAC;YACF,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAE3E,gDAAgD;YAChD,wDAAwD;YACxD,yDAAyD;YACzD,4BAA4B;YAC5B,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,MAAM,IAAA,aAAK,EAC5B,cAAc,EACd,wBAAwB,EACxB,OAAO,EACP,8CAA8C,CAC/C,CAAC;YACF,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAEzF,IAAI,UAAU,CAAC,OAAO,EAAE;gBACtB,2CAA2C;aAC5C;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEnC,yDAAyD;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;YACrD,YAAY;YACZ,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,MAAM,IAAA,aAAK,EAC9B,gBAAgB,EAChB,wBAAwB,EACxB,OAAO,EACP,kDAAkD,CACnD,CAAC;YACF,IAAI,CAAC,YAAY;gBACf,MAAM,IAAI,KAAK,CACb,iEAAiE;oBAC/D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAChC,CAAC;YAEJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACtC;QAED,0CAA0C;QAC1C,4CAA4C;QAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,GAAG,qBAAa,CAAC,QAAQ,CAAC;QAErC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,kFAAkF;IAClF,6BAA6B;IAC7B,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC;;;;;UAKE;QACF,IAAI,IAAI,CAAC,MAAM,GAAG,qBAAa,CAAC,QAAQ;YACtC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAE/F,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,0FAA0F;YAC1F,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE5D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,4CAA4C;QAC5C,mEAAmE;QACnE,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE/C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAE1C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QAC9B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3E,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAY,EAA0B,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,qBAAa,CAAC,oBAAoB,CAAC;QACjD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,EAAe,EACf,GAAsB,EACtB,OAAgB;QAEhB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,6BAAW,CAAC,wBAAwB,EAAE,EAAE,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3F,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0DAA0D;IAC1D,yEAAyE;IACzE,iEAAiE;IACzD,WAAW;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACrF,CAAC;IACO,SAAS;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACnF,CAAC;;AAhfH,0CAifC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/protocols/gateway/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./gatewayTransfer"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/protocols/gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Chain, Network } from "@wormhole-foundation/sdk-base";
|
|
2
|
+
import { AttestationId, ChainContext, GatewayTransferDetails, IbcTransferInfo, Signer, TokenBridge, TokenId, TransactionId, TxHash, WormholeMessageId } from "@wormhole-foundation/sdk-definitions";
|
|
3
|
+
import { TransferState } from "../types";
|
|
4
|
+
import { Wormhole } from "../wormhole";
|
|
5
|
+
import { WormholeTransfer } from "./wormholeTransfer";
|
|
6
|
+
export declare class GatewayTransfer<N extends Network = Network> implements WormholeTransfer<"IbcBridge"> {
|
|
7
|
+
static chain: "Wormchain";
|
|
8
|
+
private readonly wh;
|
|
9
|
+
private readonly gateway;
|
|
10
|
+
private readonly gatewayIbcBridge;
|
|
11
|
+
private readonly gatewayAddress;
|
|
12
|
+
private _state;
|
|
13
|
+
private msg;
|
|
14
|
+
transfer: GatewayTransferDetails;
|
|
15
|
+
transactions: TransactionId[];
|
|
16
|
+
vaas?: {
|
|
17
|
+
id: WormholeMessageId;
|
|
18
|
+
vaa?: TokenBridge.TransferVAA;
|
|
19
|
+
}[];
|
|
20
|
+
ibcTransfers: IbcTransferInfo[];
|
|
21
|
+
private constructor();
|
|
22
|
+
getTransferState(): TransferState;
|
|
23
|
+
static from<N extends Network>(wh: Wormhole<N>, from: GatewayTransferDetails): Promise<GatewayTransfer<N>>;
|
|
24
|
+
static from<N extends Network>(wh: Wormhole<N>, from: WormholeMessageId, timeout?: number): Promise<GatewayTransfer<N>>;
|
|
25
|
+
static from<N extends Network>(wh: Wormhole<N>, from: TransactionId, timeout?: number): Promise<GatewayTransfer<N>>;
|
|
26
|
+
private static _fromMsgId;
|
|
27
|
+
private static _fromTransaction;
|
|
28
|
+
private static ibcTransfertoGatewayTransfer;
|
|
29
|
+
initiateTransfer(signer: Signer): Promise<TxHash[]>;
|
|
30
|
+
private _transfer;
|
|
31
|
+
private _transferIbc;
|
|
32
|
+
fetchAttestation(timeout?: number): Promise<AttestationId[]>;
|
|
33
|
+
completeTransfer(signer: Signer): Promise<TxHash[]>;
|
|
34
|
+
static getTransferVaa<N extends Network>(wh: Wormhole<N>, whm: WormholeMessageId, timeout?: number): Promise<TokenBridge.TransferVAA>;
|
|
35
|
+
static destinationOverrides<N extends Network>(srcChain: ChainContext<N>, dstChain: ChainContext<N>, gatewayChain: ChainContext<N, "Wormchain">, transfer: GatewayTransferDetails): Promise<GatewayTransferDetails>;
|
|
36
|
+
static lookupDestinationToken<N extends Network, SC extends Chain, DC extends Chain>(srcChain: ChainContext<N, SC>, dstChain: ChainContext<N, DC>, gatewayChain: ChainContext<N, "Wormchain">, token: TokenId<SC>): Promise<TokenId<DC>>;
|
|
37
|
+
private fromGateway;
|
|
38
|
+
private toGateway;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=gatewayTransfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatewayTransfer.d.ts","sourceRoot":"","sources":["../../../src/protocols/gatewayTransfer.ts"],"names":[],"mappings":"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"}
|