@avalabs/fusion-sdk 0.28.0 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/transfer-service/avalanche-cct/_utils/polling.cjs +1 -1
- package/dist/transfer-service/avalanche-cct/_utils/polling.cjs.map +1 -1
- package/dist/transfer-service/avalanche-cct/_utils/polling.js +1 -1
- package/dist/transfer-service/avalanche-cct/_utils/polling.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../../../errors.cjs`),t=require(`../../_utils.cjs`),n=require(`../_utils.cjs`);function r(t,r){switch(r){case`C`:return e=>n.getAvalancheProvider(t,r).
|
|
1
|
+
const e=require(`../../../errors.cjs`),t=require(`../../_utils.cjs`),n=require(`../_utils.cjs`);function r(t,r){switch(r){case`C`:return async e=>{try{let{blockHeight:i}=await n.getAvalancheProvider(t,r).getAtomicTx({txID:e});return{status:i===void 0?`Unknown`:`Accepted`}}catch(e){if(e instanceof Error&&e.message.includes(`tx: not found`))return{status:`Unknown`};throw e}};case`P`:return e=>n.getAvalancheProvider(t,r).getTxStatus({txID:e});case`X`:return e=>n.getAvalancheProvider(t,r).getTxStatus({txID:e});default:throw new e.InvalidParamsError(`Unsupported chain alias: ${r}`,`Can not get transaction status function for unsupported chain alias.`)}}async function i({chainAlias:n,count:a=13,environment:o,signal:s,txId:c}){if(a<0)return!1;try{let{status:e}=await r(o,n)(c);switch(e){case`Accepted`:case`Committed`:return!0;case`Dropped`:case`Rejected`:return!1;default:break}return await t.wait(1500*1.2**(13-a),s),await i({chainAlias:n,count:a-1,environment:o,signal:s,txId:c})}catch(t){throw new e.SdkError(`Failed to poll transaction status from Avalanche.`,e.ErrorCode.UNKNOWN,{cause:t})}}exports.pollPrimaryNetworkTxStatus=i;
|
|
2
2
|
//# sourceMappingURL=polling.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling.cjs","names":["getAvalancheProvider","InvalidParamsError","wait","SdkError","ErrorCode"],"sources":["../../../../src/transfer-service/avalanche-cct/_utils/polling.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"polling.cjs","names":["getAvalancheProvider","InvalidParamsError","wait","SdkError","ErrorCode"],"sources":["../../../../src/transfer-service/avalanche-cct/_utils/polling.ts"],"sourcesContent":["import type { pvm } from '@avalabs/avalanchejs';\nimport type { AvalancheBlockchainAlias, Environment } from '../../../constants';\nimport { ErrorCode, InvalidParamsError, SdkError } from '../../../errors';\nimport { wait } from '../../_utils';\nimport { getAvalancheProvider } from '../_utils';\n\nconst POLL_START_COUNT = 13;\nconst BASE_WAIT_PERIOD_MS = 1500;\nconst MULTIPLIER = 1.2;\n\ntype AtomicTxStatusResponse = { status: 'Accepted' | 'Unknown' };\n\nexport type GetTxStatusFunction<T extends AtomicTxStatusResponse | pvm.GetTxStatusResponse> = (\n txId: string,\n) => Promise<T>;\n\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: 'C',\n): GetTxStatusFunction<AtomicTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: 'P',\n): GetTxStatusFunction<pvm.GetTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: 'X',\n): GetTxStatusFunction<pvm.GetTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: AvalancheBlockchainAlias,\n): GetTxStatusFunction<AtomicTxStatusResponse | pvm.GetTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: AvalancheBlockchainAlias,\n): GetTxStatusFunction<AtomicTxStatusResponse | pvm.GetTxStatusResponse> {\n switch (chainAlias) {\n case 'C': {\n // The node only sets blockHeight once the tx is accepted; Processing and Dropped txs are returned without it,\n // and unknown txs reject with \"fetching tx: reading tx: not found\".\n return async (txId: string) => {\n try {\n const { blockHeight } = await getAvalancheProvider(environment, chainAlias).getAtomicTx({ txID: txId });\n return { status: blockHeight === undefined ? 'Unknown' : 'Accepted' };\n } catch (error) {\n if (error instanceof Error && error.message.includes('tx: not found')) {\n return { status: 'Unknown' };\n }\n throw error;\n }\n };\n }\n case 'P': {\n return (txId: string) => getAvalancheProvider(environment, chainAlias).getTxStatus({ txID: txId });\n }\n case 'X': {\n return (txId: string) => getAvalancheProvider(environment, chainAlias).getTxStatus({ txID: txId });\n }\n default: {\n throw new InvalidParamsError(\n `Unsupported chain alias: ${chainAlias}`,\n 'Can not get transaction status function for unsupported chain alias.',\n );\n }\n }\n}\n\nexport async function pollPrimaryNetworkTxStatus({\n chainAlias,\n count = POLL_START_COUNT,\n environment,\n signal,\n txId,\n}: {\n chainAlias: AvalancheBlockchainAlias;\n count?: number;\n environment: Environment;\n signal?: AbortSignal;\n txId: string;\n}): Promise<boolean> {\n if (count < 0) {\n return false;\n }\n\n try {\n const pollFunction = getChainAliasTxStatusFunction(environment, chainAlias);\n\n const { status } = await pollFunction(txId);\n\n switch (status) {\n case 'Accepted':\n case 'Committed': {\n return true;\n }\n\n case 'Dropped':\n case 'Rejected': {\n return false;\n }\n\n default: {\n // Fall through to retry logic.\n break;\n }\n }\n\n const failures = POLL_START_COUNT - count;\n\n const waitPeriod = BASE_WAIT_PERIOD_MS * MULTIPLIER ** failures;\n\n await wait(waitPeriod, signal);\n\n return await pollPrimaryNetworkTxStatus({ chainAlias, count: count - 1, environment, signal, txId });\n } catch (error) {\n throw new SdkError('Failed to poll transaction status from Avalanche.', ErrorCode.UNKNOWN, { cause: error });\n }\n}\n"],"mappings":"gGAgCA,SAAgB,EACd,EACA,EACuE,CACvE,OAAQ,EAAR,CACE,IAAK,IAGH,OAAO,KAAO,IAAiB,CAC7B,GAAI,CACF,GAAM,CAAE,eAAgB,MAAMA,EAAAA,qBAAqB,EAAa,EAAW,CAAC,YAAY,CAAE,KAAM,EAAM,CAAC,CACvG,MAAO,CAAE,OAAQ,IAAgB,IAAA,GAAY,UAAY,WAAY,OAC9D,EAAO,CACd,GAAI,aAAiB,OAAS,EAAM,QAAQ,SAAS,gBAAgB,CACnE,MAAO,CAAE,OAAQ,UAAW,CAE9B,MAAM,IAIZ,IAAK,IACH,MAAQ,IAAiBA,EAAAA,qBAAqB,EAAa,EAAW,CAAC,YAAY,CAAE,KAAM,EAAM,CAAC,CAEpG,IAAK,IACH,MAAQ,IAAiBA,EAAAA,qBAAqB,EAAa,EAAW,CAAC,YAAY,CAAE,KAAM,EAAM,CAAC,CAEpG,QACE,MAAM,IAAIC,EAAAA,mBACR,4BAA4B,IAC5B,uEACD,EAKP,eAAsB,EAA2B,CAC/C,aACA,QAAQ,GACR,cACA,SACA,QAOmB,CACnB,GAAI,EAAQ,EACV,MAAO,GAGT,GAAI,CAGF,GAAM,CAAE,UAAW,MAFE,EAA8B,EAAa,EAAW,CAErC,EAAK,CAE3C,OAAQ,EAAR,CACE,IAAK,WACL,IAAK,YACH,MAAO,GAGT,IAAK,UACL,IAAK,WACH,MAAO,GAGT,QAEE,MAUJ,OAFA,MAAMC,EAAAA,KAFa,KAAsB,MAFxB,GAAmB,GAIb,EAAO,CAEvB,MAAM,EAA2B,CAAE,aAAY,MAAO,EAAQ,EAAG,cAAa,SAAQ,OAAM,CAAC,OAC7F,EAAO,CACd,MAAM,IAAIC,EAAAA,SAAS,oDAAqDC,EAAAA,UAAU,QAAS,CAAE,MAAO,EAAO,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ErrorCode as e,InvalidParamsError as t,SdkError as n}from"../../../errors.js";import{wait as r}from"../../_utils.js";import{getAvalancheProvider as i}from"../_utils.js";function a(e,n){switch(n){case`C`:return t=>i(e,n).
|
|
1
|
+
import{ErrorCode as e,InvalidParamsError as t,SdkError as n}from"../../../errors.js";import{wait as r}from"../../_utils.js";import{getAvalancheProvider as i}from"../_utils.js";function a(e,n){switch(n){case`C`:return async t=>{try{let{blockHeight:r}=await i(e,n).getAtomicTx({txID:t});return{status:r===void 0?`Unknown`:`Accepted`}}catch(e){if(e instanceof Error&&e.message.includes(`tx: not found`))return{status:`Unknown`};throw e}};case`P`:return t=>i(e,n).getTxStatus({txID:t});case`X`:return t=>i(e,n).getTxStatus({txID:t});default:throw new t(`Unsupported chain alias: ${n}`,`Can not get transaction status function for unsupported chain alias.`)}}async function o({chainAlias:t,count:i=13,environment:s,signal:c,txId:l}){if(i<0)return!1;try{let{status:e}=await a(s,t)(l);switch(e){case`Accepted`:case`Committed`:return!0;case`Dropped`:case`Rejected`:return!1;default:break}return await r(1500*1.2**(13-i),c),await o({chainAlias:t,count:i-1,environment:s,signal:c,txId:l})}catch(t){throw new n(`Failed to poll transaction status from Avalanche.`,e.UNKNOWN,{cause:t})}}export{o as pollPrimaryNetworkTxStatus};
|
|
2
2
|
//# sourceMappingURL=polling.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling.js","names":[],"sources":["../../../../src/transfer-service/avalanche-cct/_utils/polling.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"polling.js","names":[],"sources":["../../../../src/transfer-service/avalanche-cct/_utils/polling.ts"],"sourcesContent":["import type { pvm } from '@avalabs/avalanchejs';\nimport type { AvalancheBlockchainAlias, Environment } from '../../../constants';\nimport { ErrorCode, InvalidParamsError, SdkError } from '../../../errors';\nimport { wait } from '../../_utils';\nimport { getAvalancheProvider } from '../_utils';\n\nconst POLL_START_COUNT = 13;\nconst BASE_WAIT_PERIOD_MS = 1500;\nconst MULTIPLIER = 1.2;\n\ntype AtomicTxStatusResponse = { status: 'Accepted' | 'Unknown' };\n\nexport type GetTxStatusFunction<T extends AtomicTxStatusResponse | pvm.GetTxStatusResponse> = (\n txId: string,\n) => Promise<T>;\n\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: 'C',\n): GetTxStatusFunction<AtomicTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: 'P',\n): GetTxStatusFunction<pvm.GetTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: 'X',\n): GetTxStatusFunction<pvm.GetTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: AvalancheBlockchainAlias,\n): GetTxStatusFunction<AtomicTxStatusResponse | pvm.GetTxStatusResponse>;\nexport function getChainAliasTxStatusFunction(\n environment: Environment,\n chainAlias: AvalancheBlockchainAlias,\n): GetTxStatusFunction<AtomicTxStatusResponse | pvm.GetTxStatusResponse> {\n switch (chainAlias) {\n case 'C': {\n // The node only sets blockHeight once the tx is accepted; Processing and Dropped txs are returned without it,\n // and unknown txs reject with \"fetching tx: reading tx: not found\".\n return async (txId: string) => {\n try {\n const { blockHeight } = await getAvalancheProvider(environment, chainAlias).getAtomicTx({ txID: txId });\n return { status: blockHeight === undefined ? 'Unknown' : 'Accepted' };\n } catch (error) {\n if (error instanceof Error && error.message.includes('tx: not found')) {\n return { status: 'Unknown' };\n }\n throw error;\n }\n };\n }\n case 'P': {\n return (txId: string) => getAvalancheProvider(environment, chainAlias).getTxStatus({ txID: txId });\n }\n case 'X': {\n return (txId: string) => getAvalancheProvider(environment, chainAlias).getTxStatus({ txID: txId });\n }\n default: {\n throw new InvalidParamsError(\n `Unsupported chain alias: ${chainAlias}`,\n 'Can not get transaction status function for unsupported chain alias.',\n );\n }\n }\n}\n\nexport async function pollPrimaryNetworkTxStatus({\n chainAlias,\n count = POLL_START_COUNT,\n environment,\n signal,\n txId,\n}: {\n chainAlias: AvalancheBlockchainAlias;\n count?: number;\n environment: Environment;\n signal?: AbortSignal;\n txId: string;\n}): Promise<boolean> {\n if (count < 0) {\n return false;\n }\n\n try {\n const pollFunction = getChainAliasTxStatusFunction(environment, chainAlias);\n\n const { status } = await pollFunction(txId);\n\n switch (status) {\n case 'Accepted':\n case 'Committed': {\n return true;\n }\n\n case 'Dropped':\n case 'Rejected': {\n return false;\n }\n\n default: {\n // Fall through to retry logic.\n break;\n }\n }\n\n const failures = POLL_START_COUNT - count;\n\n const waitPeriod = BASE_WAIT_PERIOD_MS * MULTIPLIER ** failures;\n\n await wait(waitPeriod, signal);\n\n return await pollPrimaryNetworkTxStatus({ chainAlias, count: count - 1, environment, signal, txId });\n } catch (error) {\n throw new SdkError('Failed to poll transaction status from Avalanche.', ErrorCode.UNKNOWN, { cause: error });\n }\n}\n"],"mappings":"gLAgCA,SAAgB,EACd,EACA,EACuE,CACvE,OAAQ,EAAR,CACE,IAAK,IAGH,OAAO,KAAO,IAAiB,CAC7B,GAAI,CACF,GAAM,CAAE,eAAgB,MAAM,EAAqB,EAAa,EAAW,CAAC,YAAY,CAAE,KAAM,EAAM,CAAC,CACvG,MAAO,CAAE,OAAQ,IAAgB,IAAA,GAAY,UAAY,WAAY,OAC9D,EAAO,CACd,GAAI,aAAiB,OAAS,EAAM,QAAQ,SAAS,gBAAgB,CACnE,MAAO,CAAE,OAAQ,UAAW,CAE9B,MAAM,IAIZ,IAAK,IACH,MAAQ,IAAiB,EAAqB,EAAa,EAAW,CAAC,YAAY,CAAE,KAAM,EAAM,CAAC,CAEpG,IAAK,IACH,MAAQ,IAAiB,EAAqB,EAAa,EAAW,CAAC,YAAY,CAAE,KAAM,EAAM,CAAC,CAEpG,QACE,MAAM,IAAI,EACR,4BAA4B,IAC5B,uEACD,EAKP,eAAsB,EAA2B,CAC/C,aACA,QAAQ,GACR,cACA,SACA,QAOmB,CACnB,GAAI,EAAQ,EACV,MAAO,GAGT,GAAI,CAGF,GAAM,CAAE,UAAW,MAFE,EAA8B,EAAa,EAAW,CAErC,EAAK,CAE3C,OAAQ,EAAR,CACE,IAAK,WACL,IAAK,YACH,MAAO,GAGT,IAAK,UACL,IAAK,WACH,MAAO,GAGT,QAEE,MAUJ,OAFA,MAAM,EAFa,KAAsB,MAFxB,GAAmB,GAIb,EAAO,CAEvB,MAAM,EAA2B,CAAE,aAAY,MAAO,EAAQ,EAAG,cAAa,SAAQ,OAAM,CAAC,OAC7F,EAAO,CACd,MAAM,IAAI,EAAS,oDAAqD,EAAU,QAAS,CAAE,MAAO,EAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@avalabs/fusion-sdk",
|
|
3
3
|
"license": "Limited Ecosystem License",
|
|
4
|
-
"version": "0.28.
|
|
4
|
+
"version": "0.28.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/mod.cjs",
|
|
7
7
|
"module": "./dist/mod.js",
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
"es-toolkit": "^1.42.0"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@avalabs/avalanchejs": "^5.
|
|
39
|
+
"@avalabs/avalanchejs": "^5.2.0",
|
|
40
40
|
"@solana/kit": "^5.0.0 || ^6.0.0",
|
|
41
41
|
"viem": "^2.38.0",
|
|
42
42
|
"zod": "^4.1.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@avalabs/avalanchejs": "5.
|
|
45
|
+
"@avalabs/avalanchejs": "5.2.0",
|
|
46
46
|
"@solana/kit": "6.5.0",
|
|
47
47
|
"@vitest/coverage-v8": "4.0.6",
|
|
48
48
|
"publint": "0.3.17",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"vitest": "4.0.6",
|
|
51
51
|
"tsdown": "0.21.4",
|
|
52
52
|
"zod": "4.1.12",
|
|
53
|
-
"
|
|
54
|
-
"
|
|
53
|
+
"eslint-config-custom": "0.1.0",
|
|
54
|
+
"@internal/tsdown-config": "0.0.1"
|
|
55
55
|
},
|
|
56
56
|
"sideEffects": false,
|
|
57
57
|
"scripts": {
|