@allbridge/bridge-core-sdk 3.27.0-beta.6 → 3.27.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.
Files changed (115) hide show
  1. package/dist/browser/index.js +1 -6
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/cjs/index.js +1 -6
  4. package/dist/cjs/index.js.map +4 -4
  5. package/dist/esm/index.js +1 -6
  6. package/dist/esm/index.js.map +4 -4
  7. package/dist/src/chains/chain.enums.d.ts +2 -12
  8. package/dist/src/chains/chain.enums.js +0 -10
  9. package/dist/src/chains/chain.enums.js.map +1 -1
  10. package/dist/src/chains/index.js +0 -12
  11. package/dist/src/chains/index.js.map +1 -1
  12. package/dist/src/client/core-api/api-client.js +0 -1
  13. package/dist/src/client/core-api/api-client.js.map +1 -1
  14. package/dist/src/client/core-api/core-api-mapper.js +0 -33
  15. package/dist/src/client/core-api/core-api-mapper.js.map +1 -1
  16. package/dist/src/client/core-api/core-api.model.d.ts +2 -14
  17. package/dist/src/client/core-api/core-api.model.js.map +1 -1
  18. package/dist/src/configs/mainnet.js +0 -1
  19. package/dist/src/configs/mainnet.js.map +1 -1
  20. package/dist/src/index.d.ts +4 -12
  21. package/dist/src/index.js +11 -11
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/models/index.d.ts +4 -12
  24. package/dist/src/models/index.js +0 -4
  25. package/dist/src/models/index.js.map +1 -1
  26. package/dist/src/services/bridge/evm/index.d.ts +0 -1
  27. package/dist/src/services/bridge/evm/index.js +33 -103
  28. package/dist/src/services/bridge/evm/index.js.map +1 -1
  29. package/dist/src/services/bridge/index.d.ts +2 -2
  30. package/dist/src/services/bridge/index.js +4 -31
  31. package/dist/src/services/bridge/index.js.map +1 -1
  32. package/dist/src/services/bridge/models/bridge.model.d.ts +4 -13
  33. package/dist/src/services/bridge/models/bridge.model.js.map +1 -1
  34. package/dist/src/services/bridge/raw-bridge-transaction-builder.js +1 -1
  35. package/dist/src/services/bridge/raw-bridge-transaction-builder.js.map +1 -1
  36. package/dist/src/services/bridge/srb/index.js +28 -36
  37. package/dist/src/services/bridge/srb/index.js.map +1 -1
  38. package/dist/src/services/bridge/sui/index.js +138 -166
  39. package/dist/src/services/bridge/sui/index.js.map +1 -1
  40. package/dist/src/services/bridge/trx/index.js +70 -98
  41. package/dist/src/services/bridge/trx/index.js.map +1 -1
  42. package/dist/src/services/bridge/utils.d.ts +1 -5
  43. package/dist/src/services/bridge/utils.js +23 -164
  44. package/dist/src/services/bridge/utils.js.map +1 -1
  45. package/dist/src/services/liquidity-pool/index.js +0 -21
  46. package/dist/src/services/liquidity-pool/index.js.map +1 -1
  47. package/dist/src/services/liquidity-pool/sui/index.js.map +1 -1
  48. package/dist/src/services/liquidity-pool/trx/index.js.map +1 -1
  49. package/dist/src/services/models/index.d.ts +5 -7
  50. package/dist/src/services/models/index.js.map +1 -1
  51. package/dist/src/services/token/index.js +2 -23
  52. package/dist/src/services/token/index.js.map +1 -1
  53. package/dist/src/services/token/models/token.model.d.ts +4 -4
  54. package/dist/src/services/token/models/token.model.js.map +1 -1
  55. package/dist/src/services/token/sui/index.js.map +1 -1
  56. package/dist/src/services/utils/trx/index.js.map +1 -1
  57. package/dist/src/services/yield/index.js +0 -8
  58. package/dist/src/services/yield/index.js.map +1 -1
  59. package/dist/src/tokens-info/tokens-info.model.d.ts +0 -25
  60. package/dist/src/tokens-info/tokens-info.model.js.map +1 -1
  61. package/dist/src/utils/index.d.ts +0 -3
  62. package/dist/src/utils/index.js +0 -3
  63. package/dist/src/utils/index.js.map +1 -1
  64. package/dist/src/utils/utils.d.ts +0 -2
  65. package/dist/src/utils/utils.js +0 -11
  66. package/dist/src/utils/utils.js.map +1 -1
  67. package/dist/src/version.d.ts +1 -1
  68. package/dist/src/version.js +1 -1
  69. package/dist/src/version.js.map +1 -1
  70. package/package.json +2 -9
  71. package/dist/src/services/bridge/alg/index.d.ts +0 -16
  72. package/dist/src/services/bridge/alg/index.js +0 -191
  73. package/dist/src/services/bridge/alg/index.js.map +0 -1
  74. package/dist/src/services/bridge/stx/index.d.ts +0 -16
  75. package/dist/src/services/bridge/stx/index.js +0 -136
  76. package/dist/src/services/bridge/stx/index.js.map +0 -1
  77. package/dist/src/services/liquidity-pool/alg/index.d.ts +0 -19
  78. package/dist/src/services/liquidity-pool/alg/index.js +0 -135
  79. package/dist/src/services/liquidity-pool/alg/index.js.map +0 -1
  80. package/dist/src/services/liquidity-pool/stx/index.d.ts +0 -21
  81. package/dist/src/services/liquidity-pool/stx/index.js +0 -141
  82. package/dist/src/services/liquidity-pool/stx/index.js.map +0 -1
  83. package/dist/src/services/models/abi/PayerWithAbr.d.ts +0 -203
  84. package/dist/src/services/models/abi/PayerWithAbr.js +0 -266
  85. package/dist/src/services/models/abi/PayerWithAbr.js.map +0 -1
  86. package/dist/src/services/models/alg/BridgeClient.d.ts +0 -2751
  87. package/dist/src/services/models/alg/BridgeClient.js +0 -2685
  88. package/dist/src/services/models/alg/BridgeClient.js.map +0 -1
  89. package/dist/src/services/models/alg/PaddingUtilClient.d.ts +0 -654
  90. package/dist/src/services/models/alg/PaddingUtilClient.js +0 -425
  91. package/dist/src/services/models/alg/PaddingUtilClient.js.map +0 -1
  92. package/dist/src/services/models/alg/PoolClient.d.ts +0 -2276
  93. package/dist/src/services/models/alg/PoolClient.js +0 -2195
  94. package/dist/src/services/models/alg/PoolClient.js.map +0 -1
  95. package/dist/src/services/models/stx/clarigen-types.d.ts +0 -657
  96. package/dist/src/services/models/stx/clarigen-types.js +0 -2296
  97. package/dist/src/services/models/stx/clarigen-types.js.map +0 -1
  98. package/dist/src/services/token/alg/index.d.ts +0 -17
  99. package/dist/src/services/token/alg/index.js +0 -47
  100. package/dist/src/services/token/alg/index.js.map +0 -1
  101. package/dist/src/services/token/stx/index.d.ts +0 -20
  102. package/dist/src/services/token/stx/index.js +0 -59
  103. package/dist/src/services/token/stx/index.js.map +0 -1
  104. package/dist/src/services/utils/alg/index.d.ts +0 -9
  105. package/dist/src/services/utils/alg/index.js +0 -74
  106. package/dist/src/services/utils/alg/index.js.map +0 -1
  107. package/dist/src/services/utils/stx/get-token-name.d.ts +0 -2
  108. package/dist/src/services/utils/stx/get-token-name.js +0 -15
  109. package/dist/src/services/utils/stx/get-token-name.js.map +0 -1
  110. package/dist/src/services/utils/stx/post-conditions.d.ts +0 -3
  111. package/dist/src/services/utils/stx/post-conditions.js +0 -27
  112. package/dist/src/services/utils/stx/post-conditions.js.map +0 -1
  113. package/dist/src/utils/alg/index.d.ts +0 -21
  114. package/dist/src/utils/alg/index.js +0 -71
  115. package/dist/src/utils/alg/index.js.map +0 -1
@@ -1,74 +0,0 @@
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.feeForInner = feeForInner;
27
- exports.populateAndEncodeTxs = populateAndEncodeTxs;
28
- exports.encodeTxs = encodeTxs;
29
- exports.checkAssetOptIn = checkAssetOptIn;
30
- exports.checkAppOptIn = checkAppOptIn;
31
- const algokit_utils_1 = require("@algorandfoundation/algokit-utils");
32
- const algosdk_1 = __importStar(require("algosdk"));
33
- function feeForInner(innerCount) {
34
- return (innerCount * 1000).microAlgos(); // 1000 μAlgos per tx
35
- }
36
- async function populateAndEncodeTxs(txs, sender, algod) {
37
- const atc = new algosdk_1.AtomicTransactionComposer();
38
- const txnSigner = (0, algosdk_1.makeBasicAccountTransactionSigner)({ addr: sender, sk: new Uint8Array(64) });
39
- txs.forEach((txn) => {
40
- atc.addTransaction({ txn, signer: txnSigner });
41
- });
42
- const populatedAtc = await (0, algokit_utils_1.populateAppCallResources)(atc, algod);
43
- const populatedTxs = populatedAtc.buildGroup().map((tx) => tx.txn);
44
- return encodeTxs(...populatedTxs);
45
- }
46
- function encodeTxs(...txs) {
47
- const blobs = txs.map((tx) => algosdk_1.default.encodeUnsignedTransaction(tx));
48
- return blobs.map((b) => Buffer.from(b).toString("hex"));
49
- }
50
- async function checkAssetOptIn(assetId, sender, algorand) {
51
- if (typeof assetId === "string") {
52
- assetId = BigInt(assetId);
53
- }
54
- const info = await algorand.account.getInformation(sender);
55
- const assets = info.assets;
56
- if (assets) {
57
- const isOptedIn = assets.find(({ assetId: id }) => id === assetId);
58
- return isOptedIn !== undefined;
59
- }
60
- return false;
61
- }
62
- async function checkAppOptIn(appId, sender, algorand) {
63
- if (typeof appId === "string") {
64
- appId = BigInt(appId);
65
- }
66
- const info = await algorand.account.getInformation(sender);
67
- const localStates = info.appsLocalState;
68
- if (localStates) {
69
- const isOptedIn = localStates.find(({ id }) => id === appId);
70
- return isOptedIn !== undefined;
71
- }
72
- return false;
73
- }
74
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/utils/alg/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWA,kCAEC;AAED,oDAaC;AAED,8BAGC;AAED,0CAeC;AAED,sCAeC;AAnED,qEAA6F;AAE7F,mDAMiB;AAGjB,SAAgB,WAAW,CAAC,UAAkB;IAC5C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,qBAAqB;AAChE,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,GAAkB,EAClB,MAAe,EACf,KAAc;IAEd,MAAM,GAAG,GAAG,IAAI,mCAAyB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAA,2CAAiC,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9F,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,IAAA,wCAAwB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,SAAS,CAAC,GAAG,GAAkB;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,OAAwB,EACxB,MAAc,EACd,QAAwB;IAExB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACnE,OAAO,SAAS,KAAK,SAAS,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,KAAsB,EACtB,MAAc,EACd,QAAwB;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;IACxC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;QAC7D,OAAO,SAAS,KAAK,SAAS,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { AlgorandClient, populateAppCallResources } from \"@algorandfoundation/algokit-utils\";\nimport { AlgoAmount } from \"@algorandfoundation/algokit-utils/types/amount\";\nimport algosdk, {\n Address,\n Algodv2,\n AtomicTransactionComposer,\n makeBasicAccountTransactionSigner,\n Transaction,\n} from \"algosdk\";\nimport { RawAlgTransaction } from \"../../models\";\n\nexport function feeForInner(innerCount: number): AlgoAmount {\n return (innerCount * 1000).microAlgos(); // 1000 μAlgos per tx\n}\n\nexport async function populateAndEncodeTxs(\n txs: Transaction[],\n sender: Address,\n algod: Algodv2\n): Promise<RawAlgTransaction> {\n const atc = new AtomicTransactionComposer();\n const txnSigner = makeBasicAccountTransactionSigner({ addr: sender, sk: new Uint8Array(64) });\n txs.forEach((txn) => {\n atc.addTransaction({ txn, signer: txnSigner });\n });\n const populatedAtc = await populateAppCallResources(atc, algod);\n const populatedTxs = populatedAtc.buildGroup().map((tx) => tx.txn);\n return encodeTxs(...populatedTxs);\n}\n\nexport function encodeTxs(...txs: Transaction[]): RawAlgTransaction {\n const blobs = txs.map((tx) => algosdk.encodeUnsignedTransaction(tx));\n return blobs.map((b) => Buffer.from(b).toString(\"hex\"));\n}\n\nexport async function checkAssetOptIn(\n assetId: string | bigint,\n sender: string,\n algorand: AlgorandClient\n): Promise<boolean> {\n if (typeof assetId === \"string\") {\n assetId = BigInt(assetId);\n }\n const info = await algorand.account.getInformation(sender);\n const assets = info.assets;\n if (assets) {\n const isOptedIn = assets.find(({ assetId: id }) => id === assetId);\n return isOptedIn !== undefined;\n }\n return false;\n}\n\nexport async function checkAppOptIn(\n appId: string | bigint,\n sender: string,\n algorand: AlgorandClient\n): Promise<boolean> {\n if (typeof appId === \"string\") {\n appId = BigInt(appId);\n }\n const info = await algorand.account.getInformation(sender);\n const localStates = info.appsLocalState;\n if (localStates) {\n const isOptedIn = localStates.find(({ id }) => id === appId);\n return isOptedIn !== undefined;\n }\n return false;\n}\n"]}
@@ -1,2 +0,0 @@
1
- import { TokenWithChainDetails } from "../../../tokens-info";
2
- export declare function getTokenName(token: TokenWithChainDetails): string;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTokenName = getTokenName;
4
- const exceptions_1 = require("../../../exceptions");
5
- function getTokenName(token) {
6
- if (!token.originTokenAddress) {
7
- throw new exceptions_1.SdkError("STX token must contain 'originTokenAddress'");
8
- }
9
- const [_address, name] = token.originTokenAddress.split("::");
10
- if (!name) {
11
- throw new exceptions_1.SdkError("STX token must contain 'originTokenAddress' ends with '::<tokenName>'");
12
- }
13
- return name;
14
- }
15
- //# sourceMappingURL=get-token-name.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-token-name.js","sourceRoot":"","sources":["../../../../../src/services/utils/stx/get-token-name.ts"],"names":[],"mappings":";;AAGA,oCASC;AAZD,oDAA+C;AAG/C,SAAgB,YAAY,CAAC,KAA4B;IACvD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC9B,MAAM,IAAI,qBAAQ,CAAC,6CAA6C,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,qBAAQ,CAAC,uEAAuE,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { SdkError } from \"../../../exceptions\";\nimport { TokenWithChainDetails } from \"../../../tokens-info\";\n\nexport function getTokenName(token: TokenWithChainDetails): string {\n if (!token.originTokenAddress) {\n throw new SdkError(\"STX token must contain 'originTokenAddress'\");\n }\n const [_address, name] = token.originTokenAddress.split(\"::\");\n if (!name) {\n throw new SdkError(\"STX token must contain 'originTokenAddress' ends with '::<tokenName>'\");\n }\n return name;\n}\n"]}
@@ -1,3 +0,0 @@
1
- import { FungibleComparator, FungiblePostCondition, StxPostCondition } from "@stacks/transactions";
2
- export declare function getFungiblePostCondition(amount: string | bigint | number, condition: `${FungibleComparator}`, accountAddress: string, tokenAddress: string, tokenName: string): FungiblePostCondition;
3
- export declare function getStxPostCondition(amount: string | bigint | number, condition: `${FungibleComparator}`, accountAddress: string): StxPostCondition;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFungiblePostCondition = getFungiblePostCondition;
4
- exports.getStxPostCondition = getStxPostCondition;
5
- const transactions_1 = require("@stacks/transactions");
6
- function getFungiblePostCondition(amount, condition, accountAddress, tokenAddress, tokenName) {
7
- const [assetAddress, assetContractName] = (0, transactions_1.parseContractId)(tokenAddress);
8
- if (!assetAddress || !assetContractName) {
9
- throw new Error(`Unable to parse stx token ${tokenAddress}`);
10
- }
11
- return {
12
- type: "ft-postcondition",
13
- address: accountAddress,
14
- condition,
15
- asset: `${assetAddress}.${assetContractName}::${tokenName}`,
16
- amount,
17
- };
18
- }
19
- function getStxPostCondition(amount, condition, accountAddress) {
20
- return {
21
- type: "stx-postcondition",
22
- address: accountAddress,
23
- condition,
24
- amount,
25
- };
26
- }
27
- //# sourceMappingURL=post-conditions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"post-conditions.js","sourceRoot":"","sources":["../../../../../src/services/utils/stx/post-conditions.ts"],"names":[],"mappings":";;AAQA,4DAkBC;AAED,kDAWC;AAvCD,uDAM8B;AAE9B,SAAgB,wBAAwB,CACtC,MAAgC,EAChC,SAAkC,EAClC,cAAsB,EACtB,YAAoB,EACpB,SAAiB;IAEjB,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,IAAA,8BAAe,EAAC,YAAgC,CAAC,CAAC;IAC5F,IAAI,CAAC,YAAY,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,cAAc;QACvB,SAAS;QACT,KAAK,EAAE,GAAG,YAAY,IAAI,iBAAiB,KAAK,SAAS,EAAE;QAC3D,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CACjC,MAAgC,EAChC,SAAkC,EAClC,cAAsB;IAEtB,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,cAAc;QACvB,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC","sourcesContent":["import {\n ContractIdString,\n FungibleComparator,\n FungiblePostCondition,\n parseContractId,\n StxPostCondition,\n} from \"@stacks/transactions\";\n\nexport function getFungiblePostCondition(\n amount: string | bigint | number,\n condition: `${FungibleComparator}`,\n accountAddress: string,\n tokenAddress: string,\n tokenName: string\n): FungiblePostCondition {\n const [assetAddress, assetContractName] = parseContractId(tokenAddress as ContractIdString);\n if (!assetAddress || !assetContractName) {\n throw new Error(`Unable to parse stx token ${tokenAddress}`);\n }\n return {\n type: \"ft-postcondition\",\n address: accountAddress,\n condition,\n asset: `${assetAddress}.${assetContractName}::${tokenName}`,\n amount,\n };\n}\n\nexport function getStxPostCondition(\n amount: string | bigint | number,\n condition: `${FungibleComparator}`,\n accountAddress: string\n): StxPostCondition {\n return {\n type: \"stx-postcondition\",\n address: accountAddress,\n condition,\n amount,\n };\n}\n"]}
@@ -1,21 +0,0 @@
1
- import { Algodv2 } from "algosdk";
2
- import { RawAlgTransaction } from "../../index";
3
- import { NodeRpcUrlsConfig } from "../../services";
4
- /**
5
- * Contains usefully Alg methods
6
- */
7
- export interface AlgUtils {
8
- checkAssetOptIn(assetId: string | bigint, sender: string, client?: Algodv2): Promise<boolean>;
9
- checkAppOptIn(appId: string | bigint, sender: string, client?: Algodv2): Promise<boolean>;
10
- buildRawTransactionAssetOptIn(assetId: string | bigint, sender: string, client?: Algodv2): Promise<RawAlgTransaction>;
11
- buildRawTransactionAppOptIn(appId: string | bigint, sender: string, client?: Algodv2): Promise<RawAlgTransaction>;
12
- }
13
- export declare class DefaultAlgUtils implements AlgUtils {
14
- readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig;
15
- constructor(nodeRpcUrlsConfig: NodeRpcUrlsConfig);
16
- checkAssetOptIn(assetId: string | bigint, sender: string, client?: Algodv2): Promise<boolean>;
17
- buildRawTransactionAssetOptIn(assetId: string | bigint, sender: string, client?: Algodv2): Promise<RawAlgTransaction>;
18
- checkAppOptIn(appId: string | bigint, sender: string, client?: Algodv2): Promise<boolean>;
19
- buildRawTransactionAppOptIn(appId: string | bigint, sender: string, client?: Algodv2): Promise<RawAlgTransaction>;
20
- private getAlgorand;
21
- }
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultAlgUtils = void 0;
4
- const algokit_utils_1 = require("@algorandfoundation/algokit-utils");
5
- const algosdk_1 = require("algosdk");
6
- const index_1 = require("../../index");
7
- const alg_1 = require("../../services/utils/alg");
8
- class DefaultAlgUtils {
9
- nodeRpcUrlsConfig;
10
- constructor(nodeRpcUrlsConfig) {
11
- this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
12
- }
13
- async checkAssetOptIn(assetId, sender, client) {
14
- const algorand = this.getAlgorand(client);
15
- return (0, alg_1.checkAssetOptIn)(assetId, sender, algorand);
16
- }
17
- async buildRawTransactionAssetOptIn(assetId, sender, client) {
18
- const algorand = this.getAlgorand(client);
19
- if (typeof assetId === "string") {
20
- assetId = BigInt(assetId);
21
- }
22
- const tx = await algorand.createTransaction.assetOptIn({ assetId: assetId, sender: sender });
23
- return (0, alg_1.encodeTxs)(tx);
24
- }
25
- async checkAppOptIn(appId, sender, client) {
26
- const algorand = this.getAlgorand(client);
27
- return (0, alg_1.checkAppOptIn)(appId, sender, algorand);
28
- }
29
- async buildRawTransactionAppOptIn(appId, sender, client) {
30
- const algorand = this.getAlgorand(client);
31
- if (typeof appId === "string") {
32
- appId = BigInt(appId);
33
- }
34
- const composer = algorand.newGroup();
35
- const signer = algorand.account.random();
36
- composer.addAppCallMethodCall({
37
- appId,
38
- method: new algosdk_1.ABIMethod({
39
- name: "optInToApplication",
40
- desc: undefined,
41
- args: [],
42
- returns: { type: "void", desc: undefined },
43
- events: [],
44
- readonly: false,
45
- }),
46
- args: [],
47
- sender,
48
- signer: signer,
49
- onComplete: algosdk_1.OnApplicationComplete.OptInOC,
50
- });
51
- const { transactions } = await composer.buildTransactions();
52
- return (0, alg_1.encodeTxs)(...transactions);
53
- }
54
- getAlgorand(client) {
55
- if (client) {
56
- const algorandClient = algokit_utils_1.AlgorandClient.fromClients({ algod: client });
57
- algorandClient.setDefaultValidityWindow(100);
58
- return algorandClient;
59
- }
60
- else {
61
- const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(index_1.ChainSymbol.ALG);
62
- const algorandClient = algokit_utils_1.AlgorandClient.fromConfig({
63
- algodConfig: { server: nodeRpcUrl },
64
- });
65
- algorandClient.setDefaultValidityWindow(100);
66
- return algorandClient;
67
- }
68
- }
69
- }
70
- exports.DefaultAlgUtils = DefaultAlgUtils;
71
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/alg/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { AlgorandClient } from \"@algorandfoundation/algokit-utils\";\nimport { ABIMethod, Algodv2, OnApplicationComplete } from \"algosdk\";\nimport { ChainSymbol, RawAlgTransaction } from \"../../index\";\nimport { NodeRpcUrlsConfig } from \"../../services\";\nimport { checkAppOptIn, checkAssetOptIn, encodeTxs } from \"../../services/utils/alg\";\n\n/**\n * Contains usefully Alg methods\n */\nexport interface AlgUtils {\n checkAssetOptIn(assetId: string | bigint, sender: string, client?: Algodv2): Promise<boolean>;\n checkAppOptIn(appId: string | bigint, sender: string, client?: Algodv2): Promise<boolean>;\n buildRawTransactionAssetOptIn(assetId: string | bigint, sender: string, client?: Algodv2): Promise<RawAlgTransaction>;\n buildRawTransactionAppOptIn(appId: string | bigint, sender: string, client?: Algodv2): Promise<RawAlgTransaction>;\n}\n\nexport class DefaultAlgUtils implements AlgUtils {\n constructor(readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig) {}\n\n async checkAssetOptIn(assetId: string | bigint, sender: string, client?: Algodv2): Promise<boolean> {\n const algorand = this.getAlgorand(client);\n return checkAssetOptIn(assetId, sender, algorand);\n }\n\n async buildRawTransactionAssetOptIn(\n assetId: string | bigint,\n sender: string,\n client?: Algodv2\n ): Promise<RawAlgTransaction> {\n const algorand = this.getAlgorand(client);\n if (typeof assetId === \"string\") {\n assetId = BigInt(assetId);\n }\n const tx = await algorand.createTransaction.assetOptIn({ assetId: assetId, sender: sender });\n return encodeTxs(tx);\n }\n\n async checkAppOptIn(appId: string | bigint, sender: string, client?: Algodv2): Promise<boolean> {\n const algorand = this.getAlgorand(client);\n return checkAppOptIn(appId, sender, algorand);\n }\n\n async buildRawTransactionAppOptIn(\n appId: string | bigint,\n sender: string,\n client?: Algodv2\n ): Promise<RawAlgTransaction> {\n const algorand = this.getAlgorand(client);\n if (typeof appId === \"string\") {\n appId = BigInt(appId);\n }\n\n const composer = algorand.newGroup();\n const signer = algorand.account.random();\n composer.addAppCallMethodCall({\n appId,\n method: new ABIMethod({\n name: \"optInToApplication\",\n desc: undefined,\n args: [],\n returns: { type: \"void\", desc: undefined },\n events: [],\n readonly: false,\n }),\n args: [],\n sender,\n signer: signer,\n onComplete: OnApplicationComplete.OptInOC,\n });\n const { transactions } = await composer.buildTransactions();\n return encodeTxs(...transactions);\n }\n\n private getAlgorand(client?: Algodv2): AlgorandClient {\n if (client) {\n const algorandClient = AlgorandClient.fromClients({ algod: client });\n algorandClient.setDefaultValidityWindow(100);\n return algorandClient;\n } else {\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.ALG);\n const algorandClient = AlgorandClient.fromConfig({\n algodConfig: { server: nodeRpcUrl },\n });\n algorandClient.setDefaultValidityWindow(100);\n return algorandClient;\n }\n }\n}\n"]}