@pushchain/core 2.0.1 → 2.0.3
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/package.json +4 -3
- package/src/lib/constants/abi/erc20.evm.d.ts +36 -0
- package/src/lib/constants/abi/erc20.evm.js +26 -0
- package/src/lib/constants/abi/erc20.evm.js.map +1 -0
- package/src/lib/constants/abi/index.d.ts +3 -0
- package/src/lib/constants/abi/index.js +7 -1
- package/src/lib/constants/abi/index.js.map +1 -1
- package/src/lib/constants/abi/pushsolanagateway.json +1004 -0
- package/src/lib/constants/abi/universalGatewayV0.evm.d.ts +31 -0
- package/src/lib/constants/abi/universalGatewayV0.evm.js +141 -0
- package/src/lib/constants/abi/universalGatewayV0.evm.js.map +1 -0
- package/src/lib/constants/index.d.ts +1 -0
- package/src/lib/constants/index.js.map +1 -1
- package/src/lib/constants/tokens.d.ts +50 -0
- package/src/lib/constants/tokens.js +167 -0
- package/src/lib/constants/tokens.js.map +1 -0
- package/src/lib/generated/uexecutor/v1/query.d.ts +23 -0
- package/src/lib/generated/uexecutor/v1/query.js +79 -0
- package/src/lib/generated/uexecutor/v1/query.js.map +1 -0
- package/src/lib/generated/uexecutor/v1/types.d.ts +91 -0
- package/src/lib/generated/uexecutor/v1/types.js +856 -0
- package/src/lib/generated/uexecutor/v1/types.js.map +1 -0
- package/src/lib/generated/v1/tx.d.ts +4 -4
- package/src/lib/generated/v1/tx.js +1 -1
- package/src/lib/index.d.ts +1 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/orchestrator/orchestrator.d.ts +18 -0
- package/src/lib/orchestrator/orchestrator.js +720 -4
- package/src/lib/orchestrator/orchestrator.js.map +1 -1
- package/src/lib/orchestrator/orchestrator.types.d.ts +13 -0
- package/src/lib/progress-hook/progress-hook.js +66 -0
- package/src/lib/progress-hook/progress-hook.js.map +1 -1
- package/src/lib/progress-hook/progress-hook.types.d.ts +9 -0
- package/src/lib/progress-hook/progress-hook.types.js +12 -0
- package/src/lib/progress-hook/progress-hook.types.js.map +1 -1
- package/src/lib/push-chain/push-chain.d.ts +17 -0
- package/src/lib/push-chain/push-chain.js +190 -0
- package/src/lib/push-chain/push-chain.js.map +1 -1
- package/src/lib/push-client/push-client.d.ts +5 -0
- package/src/lib/push-client/push-client.js +15 -0
- package/src/lib/push-client/push-client.js.map +1 -1
- package/src/lib/utils.d.ts +98 -2
- package/src/lib/utils.js +264 -8
- package/src/lib/utils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-chain.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-chain/push-chain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"push-chain.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-chain/push-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { MsgDeployUEA, MsgExecutePayload, MsgMintPC } from '../generated/v1/tx';
|
|
|
2
2
|
import { Any } from 'cosmjs-types/google/protobuf/any';
|
|
3
3
|
import { TxBody, TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
|
|
4
4
|
import { DeliverTxResponse } from '@cosmjs/stargate';
|
|
5
|
+
import { QueryGetUniversalTxResponse } from '../generated/uexecutor/v1/query';
|
|
5
6
|
import { EvmClient } from '../vm-client/evm-client';
|
|
6
7
|
import { PushClientOptions } from './push-client.types';
|
|
7
8
|
export declare class PushClient extends EvmClient {
|
|
@@ -46,6 +47,10 @@ export declare class PushClient extends EvmClient {
|
|
|
46
47
|
*/
|
|
47
48
|
signCosmosTx(txBody: TxBody): Promise<TxRaw>;
|
|
48
49
|
broadcastCosmosTx(txRaw: TxRaw): Promise<DeliverTxResponse>;
|
|
50
|
+
/**
|
|
51
|
+
* Queries Push Chain's uexecutor gRPC service for a UniversalTx by its ID.
|
|
52
|
+
*/
|
|
53
|
+
getUniversalTxById(id: string): Promise<QueryGetUniversalTxResponse>;
|
|
49
54
|
/**
|
|
50
55
|
* Fetches a Cosmos transaction by its hash.
|
|
51
56
|
* @param txHash The hex‐encoded transaction hash (without “0x” or with—both work).
|
|
@@ -8,6 +8,7 @@ const tx_2 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
|
|
|
8
8
|
const protobufjs_1 = require("protobufjs");
|
|
9
9
|
const proto_signing_1 = require("@cosmjs/proto-signing");
|
|
10
10
|
const stargate_1 = require("@cosmjs/stargate");
|
|
11
|
+
const query_1 = require("../generated/uexecutor/v1/query");
|
|
11
12
|
const crypto_1 = require("@cosmjs/crypto");
|
|
12
13
|
const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
|
|
13
14
|
const auth_1 = require("cosmjs-types/cosmos/auth/v1beta1/auth");
|
|
@@ -137,6 +138,20 @@ class PushClient extends evm_client_1.EvmClient {
|
|
|
137
138
|
return result;
|
|
138
139
|
});
|
|
139
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Queries Push Chain's uexecutor gRPC service for a UniversalTx by its ID.
|
|
143
|
+
*/
|
|
144
|
+
getUniversalTxById(id) {
|
|
145
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
const tmClient = yield tendermint_rpc_1.Tendermint34Client.connect(this.pushChainInfo.tendermintRpc);
|
|
147
|
+
const queryClient = new stargate_1.QueryClient(tmClient);
|
|
148
|
+
const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
|
|
149
|
+
const request = query_1.QueryGetUniversalTxRequest.fromPartial({ id });
|
|
150
|
+
const responseBytes = yield rpc.request('uexecutor.v1.Query', 'GetUniversalTx', query_1.QueryGetUniversalTxRequest.encode(request).finish());
|
|
151
|
+
const response = query_1.QueryGetUniversalTxResponse.decode(responseBytes);
|
|
152
|
+
return response;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
140
155
|
/**
|
|
141
156
|
* Fetches a Cosmos transaction by its hash.
|
|
142
157
|
* @param txHash The hex‐encoded transaction hash (without “0x” or with—both work).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-client.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-client/push-client.ts"],"names":[],"mappings":";;;;AAAA,+BAA6C;AAC7C,2CAAgF;AAEhF,0DAA2E;AAC3E,2CAAoC;AACpC,yDAAuE;AACvE,+
|
|
1
|
+
{"version":3,"file":"push-client.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/push-client/push-client.ts"],"names":[],"mappings":";;;;AAAA,+BAA6C;AAC7C,2CAAgF;AAEhF,0DAA2E;AAC3E,2CAAoC;AACpC,yDAAuE;AACvE,+CAM0B;AAC1B,2DAGyC;AACzC,2CAA2C;AAC3C,2DAA4D;AAC5D,gEAAoE;AACpE,4CAAwE;AACxE,+CAA4C;AAC5C,wDAAoD;AAEpD,8CAAqD;AACrD,8CAAyD;AAEzD,MAAa,UAAW,SAAQ,sBAAS;IAGvC,YAAY,aAAgC;QAC1C,KAAK,CAAC,aAAa,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa;YAChB,aAAa,CAAC,OAAO,KAAK,oBAAY,CAAC,OAAO;gBAC5C,CAAC,CAAC,uBAAe,CAAC,aAAK,CAAC,YAAY,CAAC;gBACrC,CAAC,CAAC,aAAa,CAAC,OAAO,KAAK,oBAAY,CAAC,aAAa;oBACtD,CAAC,CAAC,uBAAe,CAAC,aAAK,CAAC,kBAAkB,CAAC;oBAC3C,CAAC,CAAC,uBAAe,CAAC,aAAK,CAAC,aAAa,CAAC,CAAC;QAE3C,IAAI,aAAa,CAAC,OAAO,KAAK,oBAAY,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG,uBAAe,CAAC,aAAK,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;aAAM,IACL,aAAa,CAAC,OAAO,KAAK,oBAAY,CAAC,aAAa;YACpD,aAAa,CAAC,OAAO,KAAK,oBAAY,CAAC,OAAO,EAC9C,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,uBAAe,CAAC,aAAK,CAAC,kBAAkB,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,uBAAe,CAAC,aAAK,CAAC,aAAa,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,OAAO,CACL,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,qBAAqB,CACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,OAAO,CACL,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACvC,CAAC;IACJ,CAAC;IAED,uBAAuB;IAEvB,kBAAkB,CAAC,KAAmB;QACpC,OAAO;YACL,OAAO,EAAE,4BAA4B;YACrC,KAAK,EAAE,iBAAY,CAAC,MAAM,CAAC,iBAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE;SACrE,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,KAAgB;QAC9B,OAAO;YACL,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,cAAS,CAAC,MAAM,CAAC,cAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,KAAwB;QAC9C,OAAO;YACL,OAAO,EAAE,iCAAiC;YAC1C,KAAK,EAAE,sBAAiB,CAAC,MAAM,CAC7B,sBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CACrC,CAAC,MAAM,EAAE;SACX,CAAC;IACJ,CAAC;IAED,qBAAqB;IAEf,kBAAkB,CAAC,QAAe,EAAE,IAAa;;YACrD,OAAO,WAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;KAAA;IAED,oBAAoB;IACpB,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,OAAO;YAC3B,aAAa,EAAE,IAAA,mBAAQ,EACrB,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,IAAA,iBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,CAC5B;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACG,YAAY,CAAC,MAAc;;YAC/B,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAA,mBAAQ,EACrB,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,IAAA,iBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,CAC5B,CAAC;YAEF,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,MAAM,mCAAkB,CAAC,OAAO,CAC/C,IAAI,CAAC,aAAa,CAAC,aAAa,CACjC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAExC,MAAM,WAAW,GAAG,sBAAW,CAAC,cAAc,CAC5C,QAAQ,EACR,6BAAkB,CACnB,CAAC;YACF,IAAI,WAAW,GAAuB,IAAI,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3D,WAAW,GAAG,kBAAW,CAAC,MAAM,CAAC,WAAY,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YAED,mBAAmB;YACnB,MAAM,kBAAkB,GAAG,IAAA,iBAAU,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,gBAAgB,GAAG,kBAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,2CAA2C;gBACpD,KAAK,EAAE,mBAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE;aACnE,CAAC;YAEF,MAAM,aAAa,GAAG,IAAA,iCAAiB,EACrC;gBACE;oBACE,MAAM,EAAE,aAAa;oBACrB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzD;aACF,EACD,EAAE,EACF,YAAY,EAAE,MAAM;YACpB,SAAS,EACT,SAAS,CACV,CAAC;YAEF,MAAM,WAAW,GAAG,WAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,IAAA,2BAAW,EACzB,WAAW,EACX,aAAa,EACb,OAAO,EACP,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACpD,CAAC;YAEF,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC,YAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAEvD,OAAO,UAAK,CAAC,WAAW,CAAC;gBACvB,SAAS,EAAE,WAAW;gBACtB,aAAa;gBACb,UAAU,EAAE,CAAC,IAAA,iBAAU,EAAC,SAAS,CAAC,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,iBAAiB,CAAC,KAAY;;YAClC,MAAM,MAAM,GAAG,MAAM,yBAAc,CAAC,OAAO,CACzC,IAAI,CAAC,aAAa,CAAC,aAAa,CACjC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;OAEG;IACU,kBAAkB,CAC7B,EAAU;;YAEV,MAAM,QAAQ,GAAG,MAAM,mCAAkB,CAAC,OAAO,CAC/C,IAAI,CAAC,aAAa,CAAC,aAAa,CACjC,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAA,kCAAuB,EAAC,WAAW,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,kCAA0B,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,OAAO,CACrC,oBAAoB,EACpB,gBAAgB,EAChB,kCAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CACpD,CAAC;YACF,MAAM,QAAQ,GAAG,mCAA2B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACnE,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED;;;;;OAKG;IACU,WAAW,CAAC,MAAc;;YACrC,mCAAmC;YACnC,MAAM,MAAM,GAAG,MAAM,yBAAc,CAAC,OAAO,CACzC,IAAI,CAAC,aAAa,CAAC,aAAa,CACjC,CAAC;YAEF,uDAAuD;YACvD,MAAM,KAAK,GAAG,+BAA+B,MAAM,GAAG,CAAC;YAEvD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE7C,0FAA0F;YAC1F,4DAA4D;YAC5D,sHAAsH;YACtH,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9C,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACpC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACrD,CACF,CACF,CAAC;YAEF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,uCAAY,gBAAgB,CAAC,CAAC,CAAC,KAAE,eAAe,EAAE,MAAM,IAAG;QAC7D,CAAC;KAAA;CACF;AA7ND,gCA6NC"}
|
package/src/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { convertOriginToExecutor, fromChainAgnostic, convertExecutorToOriginAccount, toChainAgnostic, toUniversal } from './universal/account';
|
|
2
2
|
import { construct, toUniversal as toUniversalSigner, toUniversalFromKeypair } from './universal/signer';
|
|
3
|
+
import { CHAIN } from './constants/enums';
|
|
4
|
+
import type { PushChain } from './push-chain/push-chain';
|
|
3
5
|
/**
|
|
4
6
|
* @dev - THESE UTILS ARE EXPORTED TO SDK CONSUMER
|
|
5
7
|
* @dev - Make sure each exported fn has good comments to help out sdk consumer
|
|
@@ -55,7 +57,7 @@ export declare class Utils {
|
|
|
55
57
|
* For example, converting "1.5" ETH to wei (18 decimals) would be parseUnits("1.5", 18).
|
|
56
58
|
*
|
|
57
59
|
* @param {string} value - The string representation of the number to multiply.
|
|
58
|
-
* @param {number} exponent - The exponent (number of decimal places).
|
|
60
|
+
* @param {number | {decimals: number}} exponent - The exponent (number of decimal places) or an object with decimals property.
|
|
59
61
|
* @returns {bigint} The result as a bigint.
|
|
60
62
|
*
|
|
61
63
|
* @example
|
|
@@ -65,7 +67,101 @@ export declare class Utils {
|
|
|
65
67
|
* @example
|
|
66
68
|
* Utils.helpers.parseUnits('1.5', 18)
|
|
67
69
|
* // → 1500000000000000000n
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* Utils.helpers.parseUnits('1.5', {decimals: 18})
|
|
73
|
+
* // → 1500000000000000000n
|
|
68
74
|
*/
|
|
69
|
-
parseUnits(value: string, exponent: number
|
|
75
|
+
parseUnits(value: string, exponent: number | {
|
|
76
|
+
decimals: number;
|
|
77
|
+
}): bigint;
|
|
78
|
+
/**
|
|
79
|
+
* Formats a value from smallest units to human-readable string.
|
|
80
|
+
*
|
|
81
|
+
* Supports both EVM-style (like ethers/viem) and Push-style (options object) usage patterns.
|
|
82
|
+
* Always returns a string for UI safety.
|
|
83
|
+
*
|
|
84
|
+
* @param {bigint | string} value - The value in smallest units (e.g., "1500000" or 1500000000000000000n).
|
|
85
|
+
* @param {number | {decimals: number; precision?: number}} decimalsOrOptions - Token decimals or options object.
|
|
86
|
+
* @returns {string} Human-readable string (e.g., "1.5").
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* // EVM-style usage
|
|
90
|
+
* Utils.helpers.formatUnits(1500000000000000000n, 18)
|
|
91
|
+
* // → "1.5"
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // Push-style usage
|
|
95
|
+
* Utils.helpers.formatUnits("1500000", { decimals: 6 })
|
|
96
|
+
* // → "1.5"
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* // With precision (truncate after 2 decimals)
|
|
100
|
+
* Utils.helpers.formatUnits("1234567", { decimals: 6, precision: 2 })
|
|
101
|
+
* // → "1.23"
|
|
102
|
+
*/
|
|
103
|
+
formatUnits(value: bigint | string, decimalsOrOptions: number | {
|
|
104
|
+
decimals: number;
|
|
105
|
+
precision?: number;
|
|
106
|
+
}): string;
|
|
107
|
+
/**
|
|
108
|
+
* Calculates the minimum amount out after applying slippage.
|
|
109
|
+
*
|
|
110
|
+
* Given an input amount and slippage in basis points, returns the minimum amount
|
|
111
|
+
* that should be received after accounting for slippage.
|
|
112
|
+
*
|
|
113
|
+
* @param {string} amount - The input amount in smallest units (e.g., "100000000" for 100 USDC with 6 decimals)
|
|
114
|
+
* @param {object} options - Configuration options
|
|
115
|
+
* @param {number} options.slippageBps - Slippage in basis points (100 = 1%, 50 = 0.5%)
|
|
116
|
+
* @returns {string} The minimum amount out in smallest units
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* // Calculate minimum amount for 100 USDC with 1% slippage
|
|
120
|
+
* const amount = PushChain.utils.helpers.parseUnits("100", 6); // "100000000"
|
|
121
|
+
* const minOut = PushChain.utils.helpers.slippageToMinAmount(amount, {
|
|
122
|
+
* slippageBps: 100, // 1%
|
|
123
|
+
* });
|
|
124
|
+
* // => "99000000" (99 USDC in smallest units)
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* // Simple case with whole numbers
|
|
128
|
+
* const minOut = PushChain.utils.helpers.slippageToMinAmount("100", {
|
|
129
|
+
* slippageBps: 100, // 1%
|
|
130
|
+
* });
|
|
131
|
+
* // => "99"
|
|
132
|
+
*/
|
|
133
|
+
slippageToMinAmount(amount: string, options: {
|
|
134
|
+
slippageBps: number;
|
|
135
|
+
}): string;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Returns supported moveable tokens as a flat list with chain info.
|
|
139
|
+
* - If a specific chain or a PushChain client is passed, returns only that chain's tokens
|
|
140
|
+
* - Otherwise returns tokens across all chains
|
|
141
|
+
*/
|
|
142
|
+
static getMoveableTokens(chainOrClient?: CHAIN | PushChain): {
|
|
143
|
+
tokens: Array<{
|
|
144
|
+
chain: CHAIN;
|
|
145
|
+
symbol: string;
|
|
146
|
+
decimals: number;
|
|
147
|
+
address: string;
|
|
148
|
+
}>;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Returns supported payable tokens as a flat list with chain info.
|
|
152
|
+
* - If a specific chain or a PushChain client is passed, returns only that chain's tokens
|
|
153
|
+
* - Otherwise returns tokens across all chains
|
|
154
|
+
*/
|
|
155
|
+
static getPayableTokens(chainOrClient?: CHAIN | PushChain): {
|
|
156
|
+
tokens: Array<{
|
|
157
|
+
chain: CHAIN;
|
|
158
|
+
symbol: string;
|
|
159
|
+
decimals: number;
|
|
160
|
+
address: string;
|
|
161
|
+
}>;
|
|
70
162
|
};
|
|
163
|
+
/**
|
|
164
|
+
* Internal: resolves a CHAIN enum from either a CHAIN value or a PushChain client instance.
|
|
165
|
+
*/
|
|
166
|
+
private static resolveChainFromInput;
|
|
71
167
|
}
|
package/src/lib/utils.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.Utils = void 0;
|
|
|
4
4
|
const account_1 = require("./universal/account");
|
|
5
5
|
const signer_1 = require("./universal/signer");
|
|
6
6
|
const enums_1 = require("./constants/enums");
|
|
7
|
+
const tokens_1 = require("./constants/tokens");
|
|
7
8
|
const ethers_1 = require("ethers");
|
|
8
9
|
/**
|
|
9
10
|
* @dev - THESE UTILS ARE EXPORTED TO SDK CONSUMER
|
|
@@ -14,6 +15,92 @@ const ethers_1 = require("ethers");
|
|
|
14
15
|
* and universal account conversions.
|
|
15
16
|
*/
|
|
16
17
|
class Utils {
|
|
18
|
+
/**
|
|
19
|
+
* Returns supported moveable tokens as a flat list with chain info.
|
|
20
|
+
* - If a specific chain or a PushChain client is passed, returns only that chain's tokens
|
|
21
|
+
* - Otherwise returns tokens across all chains
|
|
22
|
+
*/
|
|
23
|
+
static getMoveableTokens(chainOrClient) {
|
|
24
|
+
var _a;
|
|
25
|
+
const chain = Utils.resolveChainFromInput(chainOrClient);
|
|
26
|
+
if (chain) {
|
|
27
|
+
const list = (_a = tokens_1.MOVEABLE_TOKENS[chain]) !== null && _a !== void 0 ? _a : [];
|
|
28
|
+
return {
|
|
29
|
+
tokens: list.map((t) => ({
|
|
30
|
+
chain,
|
|
31
|
+
symbol: t.symbol,
|
|
32
|
+
decimals: t.decimals,
|
|
33
|
+
address: t.address,
|
|
34
|
+
})),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const tokens = [];
|
|
38
|
+
for (const [key, list] of Object.entries(tokens_1.MOVEABLE_TOKENS)) {
|
|
39
|
+
const k = key;
|
|
40
|
+
for (const t of list !== null && list !== void 0 ? list : []) {
|
|
41
|
+
tokens.push({
|
|
42
|
+
chain: k,
|
|
43
|
+
symbol: t.symbol,
|
|
44
|
+
decimals: t.decimals,
|
|
45
|
+
address: t.address,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return { tokens };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Returns supported payable tokens as a flat list with chain info.
|
|
53
|
+
* - If a specific chain or a PushChain client is passed, returns only that chain's tokens
|
|
54
|
+
* - Otherwise returns tokens across all chains
|
|
55
|
+
*/
|
|
56
|
+
static getPayableTokens(chainOrClient) {
|
|
57
|
+
var _a;
|
|
58
|
+
const chain = Utils.resolveChainFromInput(chainOrClient);
|
|
59
|
+
if (chain) {
|
|
60
|
+
const list = (_a = tokens_1.PAYABLE_TOKENS[chain]) !== null && _a !== void 0 ? _a : [];
|
|
61
|
+
return {
|
|
62
|
+
tokens: list.map((t) => ({
|
|
63
|
+
chain,
|
|
64
|
+
symbol: t.symbol,
|
|
65
|
+
decimals: t.decimals,
|
|
66
|
+
address: t.address,
|
|
67
|
+
})),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const tokens = [];
|
|
71
|
+
for (const [key, list] of Object.entries(tokens_1.PAYABLE_TOKENS)) {
|
|
72
|
+
const k = key;
|
|
73
|
+
for (const t of list !== null && list !== void 0 ? list : []) {
|
|
74
|
+
tokens.push({
|
|
75
|
+
chain: k,
|
|
76
|
+
symbol: t.symbol,
|
|
77
|
+
decimals: t.decimals,
|
|
78
|
+
address: t.address,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return { tokens };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Internal: resolves a CHAIN enum from either a CHAIN value or a PushChain client instance.
|
|
86
|
+
*/
|
|
87
|
+
static resolveChainFromInput(chainOrClient) {
|
|
88
|
+
var _a;
|
|
89
|
+
if (!chainOrClient)
|
|
90
|
+
return undefined;
|
|
91
|
+
if (typeof chainOrClient === 'string')
|
|
92
|
+
return chainOrClient;
|
|
93
|
+
// PushChain client → get origin chain from signer account
|
|
94
|
+
try {
|
|
95
|
+
const originAccount = (_a = chainOrClient.universal) === null || _a === void 0 ? void 0 : _a.origin;
|
|
96
|
+
if (originAccount && originAccount.chain)
|
|
97
|
+
return originAccount.chain;
|
|
98
|
+
}
|
|
99
|
+
catch (_b) {
|
|
100
|
+
// ignore
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
17
104
|
}
|
|
18
105
|
exports.Utils = Utils;
|
|
19
106
|
Utils.account = {
|
|
@@ -107,7 +194,7 @@ Utils.helpers = {
|
|
|
107
194
|
* For example, converting "1.5" ETH to wei (18 decimals) would be parseUnits("1.5", 18).
|
|
108
195
|
*
|
|
109
196
|
* @param {string} value - The string representation of the number to multiply.
|
|
110
|
-
* @param {number} exponent - The exponent (number of decimal places).
|
|
197
|
+
* @param {number | {decimals: number}} exponent - The exponent (number of decimal places) or an object with decimals property.
|
|
111
198
|
* @returns {bigint} The result as a bigint.
|
|
112
199
|
*
|
|
113
200
|
* @example
|
|
@@ -117,16 +204,37 @@ Utils.helpers = {
|
|
|
117
204
|
* @example
|
|
118
205
|
* Utils.helpers.parseUnits('1.5', 18)
|
|
119
206
|
* // → 1500000000000000000n
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* Utils.helpers.parseUnits('1.5', {decimals: 18})
|
|
210
|
+
* // → 1500000000000000000n
|
|
120
211
|
*/
|
|
121
212
|
parseUnits(value, exponent) {
|
|
122
213
|
// Validate inputs
|
|
123
214
|
if (typeof value !== 'string') {
|
|
124
215
|
throw new Error('Value must be a string');
|
|
125
216
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
217
|
+
// Extract the actual exponent value from either number or object
|
|
218
|
+
let actualExponent;
|
|
219
|
+
if (typeof exponent === 'number') {
|
|
220
|
+
actualExponent = exponent;
|
|
221
|
+
}
|
|
222
|
+
else if (typeof exponent === 'object' &&
|
|
223
|
+
exponent !== null &&
|
|
224
|
+
'decimals' in exponent) {
|
|
225
|
+
actualExponent = exponent.decimals;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
throw new Error('Exponent must be a number or an object with decimals property');
|
|
229
|
+
}
|
|
230
|
+
if (typeof actualExponent !== 'number') {
|
|
231
|
+
throw new Error('Exponent must be a number');
|
|
232
|
+
}
|
|
233
|
+
if (!Number.isInteger(actualExponent)) {
|
|
234
|
+
throw new Error('Exponent must be an integer');
|
|
235
|
+
}
|
|
236
|
+
if (actualExponent < 0) {
|
|
237
|
+
throw new Error('Exponent must be non-negative');
|
|
130
238
|
}
|
|
131
239
|
// Handle empty string
|
|
132
240
|
if (value.trim() === '') {
|
|
@@ -150,11 +258,11 @@ Utils.helpers = {
|
|
|
150
258
|
const integerPart = parts[0] || '0';
|
|
151
259
|
const fractionalPart = parts[1] || '';
|
|
152
260
|
// Check if fractional part has more digits than the exponent allows
|
|
153
|
-
if (fractionalPart.length >
|
|
154
|
-
throw new Error(`Value has more decimal places (${fractionalPart.length}) than exponent allows (${
|
|
261
|
+
if (fractionalPart.length > actualExponent) {
|
|
262
|
+
throw new Error(`Value has more decimal places (${fractionalPart.length}) than exponent allows (${actualExponent})`);
|
|
155
263
|
}
|
|
156
264
|
// Pad fractional part with zeros to match exponent
|
|
157
|
-
const paddedFractionalPart = fractionalPart.padEnd(
|
|
265
|
+
const paddedFractionalPart = fractionalPart.padEnd(actualExponent, '0');
|
|
158
266
|
// Combine integer and fractional parts
|
|
159
267
|
const combinedValue = integerPart + paddedFractionalPart;
|
|
160
268
|
// Convert to bigint
|
|
@@ -168,5 +276,153 @@ Utils.helpers = {
|
|
|
168
276
|
throw new Error(`Failed to parse value '${value}': ${error instanceof Error ? error.message : 'Invalid number format'}`);
|
|
169
277
|
}
|
|
170
278
|
},
|
|
279
|
+
/**
|
|
280
|
+
* Formats a value from smallest units to human-readable string.
|
|
281
|
+
*
|
|
282
|
+
* Supports both EVM-style (like ethers/viem) and Push-style (options object) usage patterns.
|
|
283
|
+
* Always returns a string for UI safety.
|
|
284
|
+
*
|
|
285
|
+
* @param {bigint | string} value - The value in smallest units (e.g., "1500000" or 1500000000000000000n).
|
|
286
|
+
* @param {number | {decimals: number; precision?: number}} decimalsOrOptions - Token decimals or options object.
|
|
287
|
+
* @returns {string} Human-readable string (e.g., "1.5").
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* // EVM-style usage
|
|
291
|
+
* Utils.helpers.formatUnits(1500000000000000000n, 18)
|
|
292
|
+
* // → "1.5"
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* // Push-style usage
|
|
296
|
+
* Utils.helpers.formatUnits("1500000", { decimals: 6 })
|
|
297
|
+
* // → "1.5"
|
|
298
|
+
*
|
|
299
|
+
* @example
|
|
300
|
+
* // With precision (truncate after 2 decimals)
|
|
301
|
+
* Utils.helpers.formatUnits("1234567", { decimals: 6, precision: 2 })
|
|
302
|
+
* // → "1.23"
|
|
303
|
+
*/
|
|
304
|
+
formatUnits(value, decimalsOrOptions) {
|
|
305
|
+
// Validate inputs
|
|
306
|
+
if (typeof value !== 'bigint' && typeof value !== 'string') {
|
|
307
|
+
throw new Error('Value must be a bigint or string');
|
|
308
|
+
}
|
|
309
|
+
// Extract decimals and precision from the second parameter
|
|
310
|
+
let decimals;
|
|
311
|
+
let precision;
|
|
312
|
+
if (typeof decimalsOrOptions === 'number') {
|
|
313
|
+
// EVM-style: formatUnits(value, decimals)
|
|
314
|
+
decimals = decimalsOrOptions;
|
|
315
|
+
}
|
|
316
|
+
else if (typeof decimalsOrOptions === 'object' &&
|
|
317
|
+
decimalsOrOptions !== null &&
|
|
318
|
+
'decimals' in decimalsOrOptions) {
|
|
319
|
+
// Push-style: formatUnits(value, { decimals, precision? })
|
|
320
|
+
decimals = decimalsOrOptions.decimals;
|
|
321
|
+
precision = decimalsOrOptions.precision;
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
throw new Error('Second parameter must be a number (decimals) or an object with decimals property');
|
|
325
|
+
}
|
|
326
|
+
// Validate decimals
|
|
327
|
+
if (typeof decimals !== 'number') {
|
|
328
|
+
throw new Error('Decimals must be a number');
|
|
329
|
+
}
|
|
330
|
+
if (!Number.isInteger(decimals)) {
|
|
331
|
+
throw new Error('Decimals must be an integer');
|
|
332
|
+
}
|
|
333
|
+
if (decimals < 0) {
|
|
334
|
+
throw new Error('Decimals must be non-negative');
|
|
335
|
+
}
|
|
336
|
+
// Validate precision if provided
|
|
337
|
+
if (precision !== undefined) {
|
|
338
|
+
if (typeof precision !== 'number') {
|
|
339
|
+
throw new Error('Precision must be a number');
|
|
340
|
+
}
|
|
341
|
+
if (!Number.isInteger(precision)) {
|
|
342
|
+
throw new Error('Precision must be an integer');
|
|
343
|
+
}
|
|
344
|
+
if (precision < 0) {
|
|
345
|
+
throw new Error('Precision must be non-negative');
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
try {
|
|
349
|
+
// Convert string to bigint if needed
|
|
350
|
+
const bigintValue = typeof value === 'string' ? BigInt(value) : value;
|
|
351
|
+
// Use ethers to format the units
|
|
352
|
+
const formatted = ethers_1.ethers.formatUnits(bigintValue, decimals);
|
|
353
|
+
// Apply precision if specified
|
|
354
|
+
if (precision !== undefined) {
|
|
355
|
+
const num = parseFloat(formatted);
|
|
356
|
+
const factor = Math.pow(10, precision);
|
|
357
|
+
const truncated = Math.floor(num * factor) / factor;
|
|
358
|
+
return truncated.toString();
|
|
359
|
+
}
|
|
360
|
+
return formatted;
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
throw new Error(`Failed to format units: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
/**
|
|
367
|
+
* Calculates the minimum amount out after applying slippage.
|
|
368
|
+
*
|
|
369
|
+
* Given an input amount and slippage in basis points, returns the minimum amount
|
|
370
|
+
* that should be received after accounting for slippage.
|
|
371
|
+
*
|
|
372
|
+
* @param {string} amount - The input amount in smallest units (e.g., "100000000" for 100 USDC with 6 decimals)
|
|
373
|
+
* @param {object} options - Configuration options
|
|
374
|
+
* @param {number} options.slippageBps - Slippage in basis points (100 = 1%, 50 = 0.5%)
|
|
375
|
+
* @returns {string} The minimum amount out in smallest units
|
|
376
|
+
*
|
|
377
|
+
* @example
|
|
378
|
+
* // Calculate minimum amount for 100 USDC with 1% slippage
|
|
379
|
+
* const amount = PushChain.utils.helpers.parseUnits("100", 6); // "100000000"
|
|
380
|
+
* const minOut = PushChain.utils.helpers.slippageToMinAmount(amount, {
|
|
381
|
+
* slippageBps: 100, // 1%
|
|
382
|
+
* });
|
|
383
|
+
* // => "99000000" (99 USDC in smallest units)
|
|
384
|
+
*
|
|
385
|
+
* @example
|
|
386
|
+
* // Simple case with whole numbers
|
|
387
|
+
* const minOut = PushChain.utils.helpers.slippageToMinAmount("100", {
|
|
388
|
+
* slippageBps: 100, // 1%
|
|
389
|
+
* });
|
|
390
|
+
* // => "99"
|
|
391
|
+
*/
|
|
392
|
+
slippageToMinAmount(amount, options) {
|
|
393
|
+
// Validate inputs
|
|
394
|
+
if (typeof amount !== 'string') {
|
|
395
|
+
throw new Error('Amount must be a string');
|
|
396
|
+
}
|
|
397
|
+
if (typeof options.slippageBps !== 'number') {
|
|
398
|
+
throw new Error('slippageBps must be a number');
|
|
399
|
+
}
|
|
400
|
+
if (!Number.isInteger(options.slippageBps)) {
|
|
401
|
+
throw new Error('slippageBps must be an integer');
|
|
402
|
+
}
|
|
403
|
+
if (options.slippageBps < 0) {
|
|
404
|
+
throw new Error('slippageBps must be non-negative');
|
|
405
|
+
}
|
|
406
|
+
if (options.slippageBps > 10000) {
|
|
407
|
+
throw new Error('slippageBps cannot exceed 10000 (100%)');
|
|
408
|
+
}
|
|
409
|
+
// Handle empty string
|
|
410
|
+
if (amount.trim() === '') {
|
|
411
|
+
throw new Error('Amount cannot be empty');
|
|
412
|
+
}
|
|
413
|
+
try {
|
|
414
|
+
// Convert amount to BigInt for precise calculation
|
|
415
|
+
const amountBigInt = BigInt(amount);
|
|
416
|
+
// Calculate slippage factor: (10000 - slippageBps) / 10000
|
|
417
|
+
// For 1% slippage (100 bps): (10000 - 100) / 10000 = 0.99
|
|
418
|
+
const slippageFactor = BigInt(10000 - options.slippageBps);
|
|
419
|
+
// Calculate minimum amount: amount * slippageFactor / 10000
|
|
420
|
+
const minAmountBigInt = (amountBigInt * slippageFactor) / BigInt(10000);
|
|
421
|
+
return minAmountBigInt.toString();
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
throw new Error(`Failed to calculate slippage: ${error instanceof Error ? error.message : 'Invalid amount format'}`);
|
|
425
|
+
}
|
|
426
|
+
},
|
|
171
427
|
};
|
|
172
428
|
//# sourceMappingURL=utils.js.map
|
package/src/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../packages/core/src/lib/utils.ts"],"names":[],"mappings":";;;AAAA,iDAM6B;AAC7B,+CAI4B;AAC5B,6CAA0C;AAC1C,mCAAgC;AAEhC;;;GAGG;AAEH;;;GAGG;AACH,MAAa,KAAK;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../packages/core/src/lib/utils.ts"],"names":[],"mappings":"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"}
|