@funkit/core 0.8.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/README.md +110 -0
- package/dist/fetch-polyfill.d.ts +1 -0
- package/dist/fetch-polyfill.js +35 -0
- package/dist/fetch-polyfill.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/src/abis/ApproveAndExec.json +1 -0
- package/dist/src/abis/ApproveAndSwap.json +1 -0
- package/dist/src/abis/ERC20.json +1 -0
- package/dist/src/abis/ERC721.json +1 -0
- package/dist/src/abis/EntryPoint.json +1 -0
- package/dist/src/abis/EstimationPaymaster.json +1 -0
- package/dist/src/abis/FeePercentOracle.json +1 -0
- package/dist/src/abis/FunWallet.json +1 -0
- package/dist/src/abis/FunWalletFactory.json +1 -0
- package/dist/src/abis/GaslessPaymaster.json +1 -0
- package/dist/src/abis/LidoWithdrawQueue.json +1 -0
- package/dist/src/abis/RoleBasedAccessControl.json +1 -0
- package/dist/src/abis/TestNFT.json +1 -0
- package/dist/src/abis/TokenPaymaster.json +1 -0
- package/dist/src/abis/TokenPriceOracle.json +1 -0
- package/dist/src/abis/UniswapV2Factory.json +1 -0
- package/dist/src/abis/UniswapV2Router02.json +1 -0
- package/dist/src/abis/UniswapV3LimitOrder.json +1 -0
- package/dist/src/abis/UserAuthentication.json +1 -0
- package/dist/src/abis/univ3factory.json +1 -0
- package/dist/src/abis/univ3quoter.json +1 -0
- package/dist/src/abis/univ3router.json +1 -0
- package/dist/src/actions/AccessControl.d.ts +9 -0
- package/dist/src/actions/AccessControl.js +88 -0
- package/dist/src/actions/AccessControl.js.map +1 -0
- package/dist/src/actions/BatchActions.d.ts +3 -0
- package/dist/src/actions/BatchActions.js +12 -0
- package/dist/src/actions/BatchActions.js.map +1 -0
- package/dist/src/actions/FirstClassActions.d.ts +161 -0
- package/dist/src/actions/FirstClassActions.js +347 -0
- package/dist/src/actions/FirstClassActions.js.map +1 -0
- package/dist/src/actions/Group.d.ts +6 -0
- package/dist/src/actions/Group.js +44 -0
- package/dist/src/actions/Group.js.map +1 -0
- package/dist/src/actions/LimitOrder.d.ts +4 -0
- package/dist/src/actions/LimitOrder.js +45 -0
- package/dist/src/actions/LimitOrder.js.map +1 -0
- package/dist/src/actions/Stake.d.ts +8 -0
- package/dist/src/actions/Stake.js +124 -0
- package/dist/src/actions/Stake.js.map +1 -0
- package/dist/src/actions/Swap.d.ts +9 -0
- package/dist/src/actions/Swap.js +169 -0
- package/dist/src/actions/Swap.js.map +1 -0
- package/dist/src/actions/Token.d.ts +12 -0
- package/dist/src/actions/Token.js +102 -0
- package/dist/src/actions/Token.js.map +1 -0
- package/dist/src/actions/index.d.ts +7 -0
- package/dist/src/actions/index.js +24 -0
- package/dist/src/actions/index.js.map +1 -0
- package/dist/src/actions/types.d.ts +117 -0
- package/dist/src/actions/types.js +11 -0
- package/dist/src/actions/types.js.map +1 -0
- package/dist/src/apis/AccessControlApis.d.ts +5 -0
- package/dist/src/apis/AccessControlApis.js +22 -0
- package/dist/src/apis/AccessControlApis.js.map +1 -0
- package/dist/src/apis/AssetApis.d.ts +79 -0
- package/dist/src/apis/AssetApis.js +100 -0
- package/dist/src/apis/AssetApis.js.map +1 -0
- package/dist/src/apis/ContractApis.d.ts +1 -0
- package/dist/src/apis/ContractApis.js +11 -0
- package/dist/src/apis/ContractApis.js.map +1 -0
- package/dist/src/apis/GroupApis.d.ts +8 -0
- package/dist/src/apis/GroupApis.js +45 -0
- package/dist/src/apis/GroupApis.js.map +1 -0
- package/dist/src/apis/InfoApis.d.ts +6 -0
- package/dist/src/apis/InfoApis.js +59 -0
- package/dist/src/apis/InfoApis.js.map +1 -0
- package/dist/src/apis/ListenerApis.d.ts +3 -0
- package/dist/src/apis/ListenerApis.js +36 -0
- package/dist/src/apis/ListenerApis.js.map +1 -0
- package/dist/src/apis/NFTApis.d.ts +22 -0
- package/dist/src/apis/NFTApis.js +34 -0
- package/dist/src/apis/NFTApis.js.map +1 -0
- package/dist/src/apis/OnOffRampApis.d.ts +2 -0
- package/dist/src/apis/OnOffRampApis.js +23 -0
- package/dist/src/apis/OnOffRampApis.js.map +1 -0
- package/dist/src/apis/OnOffRampUtils.d.ts +2 -0
- package/dist/src/apis/OnOffRampUtils.js +23 -0
- package/dist/src/apis/OnOffRampUtils.js.map +1 -0
- package/dist/src/apis/OperationApis.d.ts +14 -0
- package/dist/src/apis/OperationApis.js +77 -0
- package/dist/src/apis/OperationApis.js.map +1 -0
- package/dist/src/apis/PaymasterApis.d.ts +15 -0
- package/dist/src/apis/PaymasterApis.js +89 -0
- package/dist/src/apis/PaymasterApis.js.map +1 -0
- package/dist/src/apis/UserApis.d.ts +12 -0
- package/dist/src/apis/UserApis.js +77 -0
- package/dist/src/apis/UserApis.js.map +1 -0
- package/dist/src/apis/index.d.ts +10 -0
- package/dist/src/apis/index.js +27 -0
- package/dist/src/apis/index.js.map +1 -0
- package/dist/src/apis/types.d.ts +49 -0
- package/dist/src/apis/types.js +3 -0
- package/dist/src/apis/types.js.map +1 -0
- package/dist/src/auth/Auth.d.ts +81 -0
- package/dist/src/auth/Auth.js +317 -0
- package/dist/src/auth/Auth.js.map +1 -0
- package/dist/src/auth/SessionKeyAuth.d.ts +19 -0
- package/dist/src/auth/SessionKeyAuth.js +118 -0
- package/dist/src/auth/SessionKeyAuth.js.map +1 -0
- package/dist/src/auth/index.d.ts +2 -0
- package/dist/src/auth/index.js +19 -0
- package/dist/src/auth/index.js.map +1 -0
- package/dist/src/auth/types.d.ts +20 -0
- package/dist/src/auth/types.js +3 -0
- package/dist/src/auth/types.js.map +1 -0
- package/dist/src/common/constants.d.ts +1072 -0
- package/dist/src/common/constants.js +153 -0
- package/dist/src/common/constants.js.map +1 -0
- package/dist/src/common/index.d.ts +2 -0
- package/dist/src/common/index.js +19 -0
- package/dist/src/common/index.js.map +1 -0
- package/dist/src/common/types.d.ts +32 -0
- package/dist/src/common/types.js +3 -0
- package/dist/src/common/types.js.map +1 -0
- package/dist/src/config/Config.d.ts +3 -0
- package/dist/src/config/Config.js +46 -0
- package/dist/src/config/Config.js.map +1 -0
- package/dist/src/config/index.d.ts +2 -0
- package/dist/src/config/index.js +19 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/types.d.ts +21 -0
- package/dist/src/config/types.js +3 -0
- package/dist/src/config/types.js.map +1 -0
- package/dist/src/data/Chain.d.ts +29 -0
- package/dist/src/data/Chain.js +174 -0
- package/dist/src/data/Chain.js.map +1 -0
- package/dist/src/data/NFT.d.ts +24 -0
- package/dist/src/data/NFT.js +104 -0
- package/dist/src/data/NFT.js.map +1 -0
- package/dist/src/data/Operation.d.ts +33 -0
- package/dist/src/data/Operation.js +68 -0
- package/dist/src/data/Operation.js.map +1 -0
- package/dist/src/data/SolidityData.d.ts +8 -0
- package/dist/src/data/SolidityData.js +72 -0
- package/dist/src/data/SolidityData.js.map +1 -0
- package/dist/src/data/Token.d.ts +26 -0
- package/dist/src/data/Token.js +122 -0
- package/dist/src/data/Token.js.map +1 -0
- package/dist/src/data/index.d.ts +6 -0
- package/dist/src/data/index.js +23 -0
- package/dist/src/data/index.js.map +1 -0
- package/dist/src/data/types.d.ts +112 -0
- package/dist/src/data/types.js +25 -0
- package/dist/src/data/types.js.map +1 -0
- package/dist/src/errors/BaseError.d.ts +9 -0
- package/dist/src/errors/BaseError.js +23 -0
- package/dist/src/errors/BaseError.js.map +1 -0
- package/dist/src/errors/ClientError.d.ts +22 -0
- package/dist/src/errors/ClientError.js +75 -0
- package/dist/src/errors/ClientError.js.map +1 -0
- package/dist/src/errors/ServerError.d.ts +7 -0
- package/dist/src/errors/ServerError.js +18 -0
- package/dist/src/errors/ServerError.js.map +1 -0
- package/dist/src/errors/index.d.ts +4 -0
- package/dist/src/errors/index.js +21 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/errors/types.d.ts +54 -0
- package/dist/src/errors/types.js +45 -0
- package/dist/src/errors/types.js.map +1 -0
- package/dist/src/sponsors/GaslessSponsor.d.ts +19 -0
- package/dist/src/sponsors/GaslessSponsor.js +91 -0
- package/dist/src/sponsors/GaslessSponsor.js.map +1 -0
- package/dist/src/sponsors/Sponsor.d.ts +31 -0
- package/dist/src/sponsors/Sponsor.js +94 -0
- package/dist/src/sponsors/Sponsor.js.map +1 -0
- package/dist/src/sponsors/TokenSponsor.d.ts +40 -0
- package/dist/src/sponsors/TokenSponsor.js +271 -0
- package/dist/src/sponsors/TokenSponsor.js.map +1 -0
- package/dist/src/sponsors/index.d.ts +3 -0
- package/dist/src/sponsors/index.js +20 -0
- package/dist/src/sponsors/index.js.map +1 -0
- package/dist/src/sponsors/types.d.ts +9 -0
- package/dist/src/sponsors/types.js +10 -0
- package/dist/src/sponsors/types.js.map +1 -0
- package/dist/src/utils/ApiUtils.d.ts +19 -0
- package/dist/src/utils/ApiUtils.js +97 -0
- package/dist/src/utils/ApiUtils.js.map +1 -0
- package/dist/src/utils/AuthUtils.d.ts +4 -0
- package/dist/src/utils/AuthUtils.js +54 -0
- package/dist/src/utils/AuthUtils.js.map +1 -0
- package/dist/src/utils/ChainUtils.d.ts +12 -0
- package/dist/src/utils/ChainUtils.js +89 -0
- package/dist/src/utils/ChainUtils.js.map +1 -0
- package/dist/src/utils/MerkleUtils.d.ts +18 -0
- package/dist/src/utils/MerkleUtils.js +96 -0
- package/dist/src/utils/MerkleUtils.js.map +1 -0
- package/dist/src/utils/PaymasterUtils.d.ts +3 -0
- package/dist/src/utils/PaymasterUtils.js +17 -0
- package/dist/src/utils/PaymasterUtils.js.map +1 -0
- package/dist/src/utils/SwapUtils.d.ts +35 -0
- package/dist/src/utils/SwapUtils.js +193 -0
- package/dist/src/utils/SwapUtils.js.map +1 -0
- package/dist/src/utils/TypeUtils.d.ts +1 -0
- package/dist/src/utils/TypeUtils.js +13 -0
- package/dist/src/utils/TypeUtils.js.map +1 -0
- package/dist/src/utils/UserOpUtils.d.ts +12 -0
- package/dist/src/utils/UserOpUtils.js +166 -0
- package/dist/src/utils/UserOpUtils.js.map +1 -0
- package/dist/src/utils/ViemUtils.d.ts +9 -0
- package/dist/src/utils/ViemUtils.js +30 -0
- package/dist/src/utils/ViemUtils.js.map +1 -0
- package/dist/src/utils/WalletUtils.d.ts +11 -0
- package/dist/src/utils/WalletUtils.js +61 -0
- package/dist/src/utils/WalletUtils.js.map +1 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/index.js +24 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/viem/ContractInterface.d.ts +19 -0
- package/dist/src/viem/ContractInterface.js +88 -0
- package/dist/src/viem/ContractInterface.js.map +1 -0
- package/dist/src/viem/Converter.d.ts +1770 -0
- package/dist/src/viem/Converter.js +50 -0
- package/dist/src/viem/Converter.js.map +1 -0
- package/dist/src/viem/index.d.ts +2 -0
- package/dist/src/viem/index.js +19 -0
- package/dist/src/viem/index.js.map +1 -0
- package/dist/src/wallet/FunWallet.d.ts +185 -0
- package/dist/src/wallet/FunWallet.js +720 -0
- package/dist/src/wallet/FunWallet.js.map +1 -0
- package/dist/src/wallet/index.d.ts +2 -0
- package/dist/src/wallet/index.js +19 -0
- package/dist/src/wallet/index.js.map +1 -0
- package/dist/src/wallet/types.d.ts +13 -0
- package/dist/src/wallet/types.js +3 -0
- package/dist/src/wallet/types.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.limitSwapOrderTransactionParams = void 0;
|
|
4
|
+
const v3_sdk_1 = require("@uniswap/v3-sdk");
|
|
5
|
+
const viem_1 = require("viem");
|
|
6
|
+
const common_1 = require("../common");
|
|
7
|
+
const data_1 = require("../data");
|
|
8
|
+
const fees = {
|
|
9
|
+
lowest: v3_sdk_1.FeeAmount.LOWEST,
|
|
10
|
+
low: v3_sdk_1.FeeAmount.LOW,
|
|
11
|
+
medium: v3_sdk_1.FeeAmount.MEDIUM,
|
|
12
|
+
high: v3_sdk_1.FeeAmount.HIGH
|
|
13
|
+
};
|
|
14
|
+
const limitSwapOrderTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
15
|
+
const { tokenIn, tokenOut, tokenInAmount, tokenOutAmount, poolFee } = params;
|
|
16
|
+
const tokenInAddress = await new data_1.Token(tokenIn).getAddress();
|
|
17
|
+
const tokenOutAddress = await new data_1.Token(tokenOut).getAddress();
|
|
18
|
+
const amountIn = await new data_1.Token(tokenIn).getDecimalAmount(tokenInAmount);
|
|
19
|
+
const amountOut = await new data_1.Token(tokenOut).getDecimalAmount(tokenOutAmount);
|
|
20
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
21
|
+
const uniswapv3LimitOrderAddress = await chain.getAddress("uniswapv3LimitOrder");
|
|
22
|
+
const approveAndExecAddress = await chain.getAddress("approveAndExecAddress");
|
|
23
|
+
const _poolFee = poolFee ? fees[poolFee] : v3_sdk_1.FeeAmount.MEDIUM;
|
|
24
|
+
const data = (0, viem_1.encodeAbiParameters)([
|
|
25
|
+
{
|
|
26
|
+
type: "tuple",
|
|
27
|
+
components: [{ type: "uint24" }, { type: "address" }, { type: "address" }, { type: "uint256" }, { type: "uint256" }]
|
|
28
|
+
}
|
|
29
|
+
], [[_poolFee, tokenInAddress, tokenOutAddress, amountIn, amountOut]]);
|
|
30
|
+
const UniswapV3LimitOrderExecuteData = common_1.UNISWAP_V3_LIMIT_ORDER_CONTRACT_INTERFACE.encodeTransactionParams(uniswapv3LimitOrderAddress, "execute", [data]).data;
|
|
31
|
+
const approveData = common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(tokenInAddress, "approve", [
|
|
32
|
+
uniswapv3LimitOrderAddress,
|
|
33
|
+
amountIn
|
|
34
|
+
]).data;
|
|
35
|
+
const approveAndExecData = common_1.APPROVE_AND_EXEC_CONTRACT_INTERFACE.encodeTransactionParams(approveAndExecAddress, "approveAndExecute", [
|
|
36
|
+
uniswapv3LimitOrderAddress,
|
|
37
|
+
0,
|
|
38
|
+
UniswapV3LimitOrderExecuteData,
|
|
39
|
+
tokenInAddress,
|
|
40
|
+
approveData
|
|
41
|
+
]);
|
|
42
|
+
return approveAndExecData;
|
|
43
|
+
};
|
|
44
|
+
exports.limitSwapOrderTransactionParams = limitSwapOrderTransactionParams;
|
|
45
|
+
//# sourceMappingURL=LimitOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LimitOrder.js","sourceRoot":"","sources":["../../../src/actions/LimitOrder.ts"],"names":[],"mappings":";;;AAAA,4CAA2C;AAC3C,+BAA0C;AAE1C,sCAKkB;AAElB,kCAAsC;AAEtC,MAAM,IAAI,GAAG;IACT,MAAM,EAAE,kBAAS,CAAC,MAAM;IACxB,GAAG,EAAE,kBAAS,CAAC,GAAG;IAClB,MAAM,EAAE,kBAAS,CAAC,MAAM;IACxB,IAAI,EAAE,kBAAS,CAAC,IAAI;CACvB,CAAA;AAEM,MAAM,+BAA+B,GAAG,KAAK,EAChD,MAAuB,EACvB,YAAwB,UAAkB,CAAC,eAAe,EAChC,EAAE;IAC5B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAC5E,MAAM,cAAc,GAAG,MAAM,IAAI,YAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAA;IAC5D,MAAM,eAAe,GAAG,MAAM,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAA;IAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,YAAK,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IACzE,MAAM,SAAS,GAAG,MAAM,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;IAC5E,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,0BAA0B,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;IAChF,MAAM,qBAAqB,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAS,CAAC,MAAM,CAAA;IAC3D,MAAM,IAAI,GAAG,IAAA,0BAAmB,EAC5B;QACI;YACI,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SACvH;KACJ,EACD,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CACrE,CAAA;IAED,MAAM,8BAA8B,GAAG,kDAAyC,CAAC,uBAAuB,CACpG,0BAA0B,EAC1B,SAAS,EACT,CAAC,IAAI,CAAC,CACT,CAAC,IAAI,CAAA;IACN,MAAM,WAAW,GAAG,iCAAwB,CAAC,uBAAuB,CAAC,cAAc,EAAE,SAAS,EAAE;QAC5F,0BAA0B;QAC1B,QAAQ;KACX,CAAC,CAAC,IAAI,CAAA;IACP,MAAM,kBAAkB,GAAG,4CAAmC,CAAC,uBAAuB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE;QAC/H,0BAA0B;QAC1B,CAAC;QACD,8BAA8B;QAC9B,cAAc;QACd,WAAW;KACd,CAAC,CAAA;IACF,OAAO,kBAAkB,CAAA;AAC7B,CAAC,CAAA;AAxCY,QAAA,+BAA+B,mCAwC3C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FinishUnstakeParams, RequestUnstakeParams, StakeParams } from "./types";
|
|
2
|
+
import { TransactionParams } from "../common";
|
|
3
|
+
import { EnvOption } from "../config";
|
|
4
|
+
export declare const isRequestUnstakeParams: (input: any) => boolean;
|
|
5
|
+
export declare const isFinishUnstakeParams: (input: any) => boolean;
|
|
6
|
+
export declare const stakeTransactionParams: (params: StakeParams, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
7
|
+
export declare const requestUnstakeTransactionParams: (params: RequestUnstakeParams, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
8
|
+
export declare const finishUnstakeTransactionParams: (params: FinishUnstakeParams, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.finishUnstakeTransactionParams = exports.requestUnstakeTransactionParams = exports.stakeTransactionParams = exports.isFinishUnstakeParams = exports.isRequestUnstakeParams = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const common_1 = require("../common");
|
|
6
|
+
const data_1 = require("../data");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
const ContractInterface_1 = require("../viem/ContractInterface");
|
|
9
|
+
const withdrawQueueInterface = new ContractInterface_1.ContractInterface(common_1.WITHDRAW_QUEUE_ABI);
|
|
10
|
+
const isRequestUnstakeParams = (input) => {
|
|
11
|
+
return input.amounts !== undefined;
|
|
12
|
+
};
|
|
13
|
+
exports.isRequestUnstakeParams = isRequestUnstakeParams;
|
|
14
|
+
const isFinishUnstakeParams = (input) => {
|
|
15
|
+
return input.recipient !== undefined;
|
|
16
|
+
};
|
|
17
|
+
exports.isFinishUnstakeParams = isFinishUnstakeParams;
|
|
18
|
+
const stakeTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
19
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
20
|
+
const lidoAddress = getSteth(await chain.getChainId());
|
|
21
|
+
return { to: lidoAddress, value: (0, viem_1.parseEther)(`${params.amount}`), data: "0x" };
|
|
22
|
+
};
|
|
23
|
+
exports.stakeTransactionParams = stakeTransactionParams;
|
|
24
|
+
const requestUnstakeTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
25
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? "")) {
|
|
26
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Recipient address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
27
|
+
}
|
|
28
|
+
// Approve steth
|
|
29
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
30
|
+
const chainId = await chain.getChainId();
|
|
31
|
+
const steth = getSteth(chainId);
|
|
32
|
+
const withdrawalQueue = getWithdrawalQueue(chainId);
|
|
33
|
+
if (!steth || !withdrawalQueue || steth.length === 0 || withdrawalQueue.length === 0) {
|
|
34
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, "Incorrect chainId, staking only available on Ethereum mainnet and Goerli", { params }, "Provide correct chainId.", "https://docs.fun.xyz");
|
|
35
|
+
}
|
|
36
|
+
const approveAmount = params.amounts.reduce((partialSum, a) => partialSum + a, 0);
|
|
37
|
+
const approveData = common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(steth, "approve", [
|
|
38
|
+
withdrawalQueue,
|
|
39
|
+
(0, viem_1.parseEther)(`${approveAmount}`)
|
|
40
|
+
]);
|
|
41
|
+
// Request Withdrawal
|
|
42
|
+
const requestWithdrawalData = withdrawQueueInterface.encodeTransactionParams(withdrawalQueue, "requestWithdrawals", [
|
|
43
|
+
params.amounts.map((amount) => (0, viem_1.parseEther)(`${amount}`)),
|
|
44
|
+
params.recipient
|
|
45
|
+
]);
|
|
46
|
+
const approveAndExecAddress = await chain.getAddress("approveAndExecAddress");
|
|
47
|
+
return common_1.APPROVE_AND_EXEC_CONTRACT_INTERFACE.encodeTransactionParams(approveAndExecAddress, "approveAndExecute", [
|
|
48
|
+
withdrawalQueue,
|
|
49
|
+
0,
|
|
50
|
+
requestWithdrawalData.data,
|
|
51
|
+
steth,
|
|
52
|
+
approveData.data
|
|
53
|
+
]);
|
|
54
|
+
};
|
|
55
|
+
exports.requestUnstakeTransactionParams = requestUnstakeTransactionParams;
|
|
56
|
+
const finishUnstakeTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
57
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? "")) {
|
|
58
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Recipient address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
59
|
+
}
|
|
60
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
61
|
+
const withdrawQueueAddress = getWithdrawalQueue(await chain.getChainId());
|
|
62
|
+
const readyToWithdrawRequestIds = (await getReadyToWithdrawRequests(params, txOptions)).slice(0, 5);
|
|
63
|
+
if (readyToWithdrawRequestIds.length === 0) {
|
|
64
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Not ready to withdraw requests", { params }, "Please wait a bit.", "https://docs.fun.xyz");
|
|
65
|
+
}
|
|
66
|
+
// claim batch withdrawal
|
|
67
|
+
const lastCheckpoint = await withdrawQueueInterface.readFromChain(withdrawQueueAddress, "getLastCheckpointIndex", [], chain);
|
|
68
|
+
const hints = await withdrawQueueInterface.readFromChain(withdrawQueueAddress, "findCheckpointHints", [readyToWithdrawRequestIds, 1, lastCheckpoint], chain);
|
|
69
|
+
if (!hints) {
|
|
70
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.CheckPointHintsNotFound, "lido checkpoint hints are not found when batching the withdrawal", { params, readyToWithdrawRequestIds, lastCheckpoint, hints }, "Retry later.", "https://docs.fun.xyz");
|
|
71
|
+
}
|
|
72
|
+
return withdrawQueueInterface.encodeTransactionParams(withdrawQueueAddress, "claimWithdrawalsTo", [
|
|
73
|
+
readyToWithdrawRequestIds,
|
|
74
|
+
hints,
|
|
75
|
+
params.recipient
|
|
76
|
+
]);
|
|
77
|
+
};
|
|
78
|
+
exports.finishUnstakeTransactionParams = finishUnstakeTransactionParams;
|
|
79
|
+
const getReadyToWithdrawRequests = async (params, txOptions) => {
|
|
80
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? "")) {
|
|
81
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Recipient address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
82
|
+
}
|
|
83
|
+
// check withdrawal requests
|
|
84
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
85
|
+
const withdrawalQueueAddr = getWithdrawalQueue(await chain.getChainId());
|
|
86
|
+
const withdrawalRequests = await withdrawQueueInterface.readFromChain(withdrawalQueueAddr, "getWithdrawalRequests", [params.walletAddress], chain);
|
|
87
|
+
// get the state of a particular nft
|
|
88
|
+
const withdrawalStatusTx = await withdrawQueueInterface.readFromChain(withdrawalQueueAddr, "getWithdrawalStatus", [withdrawalRequests], chain);
|
|
89
|
+
const readyToWithdraw = [];
|
|
90
|
+
for (let i = 0; i < withdrawalStatusTx.length; i++) {
|
|
91
|
+
if (withdrawalStatusTx[i].isFinalized) {
|
|
92
|
+
readyToWithdraw.push(withdrawalRequests[i]);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const readyToWithdrawRequestIds = [...readyToWithdraw].sort((a, b) => {
|
|
96
|
+
return a > b ? 1 : -1;
|
|
97
|
+
});
|
|
98
|
+
return readyToWithdrawRequestIds;
|
|
99
|
+
};
|
|
100
|
+
const getWithdrawalQueue = (chainId) => {
|
|
101
|
+
switch (parseInt(chainId)) {
|
|
102
|
+
case 1:
|
|
103
|
+
return "0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1";
|
|
104
|
+
case 5:
|
|
105
|
+
return "0xCF117961421cA9e546cD7f50bC73abCdB3039533";
|
|
106
|
+
case 36865:
|
|
107
|
+
return "0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1";
|
|
108
|
+
default:
|
|
109
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, "Incorrect chainId, staking only available on Ethereum mainnet and Goerli", { chainId }, "Provide correct chainId.", "https://docs.fun.xyz");
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const getSteth = (chainId) => {
|
|
113
|
+
switch (parseInt(chainId)) {
|
|
114
|
+
case 1:
|
|
115
|
+
return "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84";
|
|
116
|
+
case 5:
|
|
117
|
+
return "0x1643E812aE58766192Cf7D2Cf9567dF2C37e9B7F";
|
|
118
|
+
case 36865:
|
|
119
|
+
return "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84";
|
|
120
|
+
default:
|
|
121
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, "Incorrect chainId, staking only available on Ethereum mainnet and Goerli", { chainId }, "Provide correct chainId.", "https://docs.fun.xyz");
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=Stake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stake.js","sourceRoot":"","sources":["../../../src/actions/Stake.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Address } from "viem";
|
|
2
|
+
import { SwapParams } from "./types";
|
|
3
|
+
import { TransactionParams } from "../common";
|
|
4
|
+
import { EnvOption } from "../config";
|
|
5
|
+
export declare const oneInchSupported: number[];
|
|
6
|
+
export declare const uniswapV3Supported: number[];
|
|
7
|
+
export declare const oneInchTransactionParams: (params: SwapParams, walletAddress: Address, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
8
|
+
export declare const uniswapV3SwapTransactionParams: (params: SwapParams, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
9
|
+
export declare const uniswapV2SwapTransactionParams: (params: SwapParams, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uniswapV2SwapTransactionParams = exports.uniswapV3SwapTransactionParams = exports.oneInchTransactionParams = exports.uniswapV3Supported = exports.oneInchSupported = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const common_1 = require("../common");
|
|
7
|
+
const data_1 = require("../data");
|
|
8
|
+
const Token_1 = require("../data/Token");
|
|
9
|
+
const errors_1 = require("../errors");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
|
+
const SwapUtils_1 = require("../utils/SwapUtils");
|
|
12
|
+
const ContractInterface_1 = require("../viem/ContractInterface");
|
|
13
|
+
exports.oneInchSupported = [];
|
|
14
|
+
exports.uniswapV3Supported = [1, 5, 10, 56, 137, 31337, 36865, 42161];
|
|
15
|
+
const DEFAULT_SLIPPAGE = 0.5; // .5%
|
|
16
|
+
const eth1InchAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
17
|
+
const approveAndSwapInterface = new ContractInterface_1.ContractInterface(common_1.APPROVE_AND_SWAP_ABI);
|
|
18
|
+
const getOneInchApproveTx = async (tokenAddress, amt, options) => {
|
|
19
|
+
const inTokenDecimals = await get1inchTokenDecimals(tokenAddress, options);
|
|
20
|
+
tokenAddress = await Token_1.Token.getAddress(tokenAddress, options);
|
|
21
|
+
const amount = (0, SwapUtils_1.fromReadableAmount)(amt, Number(inTokenDecimals)).toString();
|
|
22
|
+
const url = await (0, SwapUtils_1.oneInchAPIRequest)("/approve/transaction", amount ? { tokenAddress, amount } : { tokenAddress });
|
|
23
|
+
const transaction = await (0, utils_1.sendRequest)(url, "GET", "");
|
|
24
|
+
return transaction;
|
|
25
|
+
};
|
|
26
|
+
const getOneInchSwapTx = async (swapParams, fromAddress, options) => {
|
|
27
|
+
const inTokenDecimals = await get1inchTokenDecimals(swapParams.tokenIn, options);
|
|
28
|
+
const fromTokenAddress = await Token_1.Token.getAddress(swapParams.tokenIn, options);
|
|
29
|
+
const toTokenAddress = await Token_1.Token.getAddress(swapParams.tokenOut, options);
|
|
30
|
+
const amount = (0, SwapUtils_1.fromReadableAmount)(swapParams.inAmount, Number(inTokenDecimals));
|
|
31
|
+
const formattedSwap = {
|
|
32
|
+
fromTokenAddress,
|
|
33
|
+
toTokenAddress,
|
|
34
|
+
amount: amount,
|
|
35
|
+
fromAddress,
|
|
36
|
+
slippage: swapParams.slippage,
|
|
37
|
+
disableEstimate: true,
|
|
38
|
+
allowPartialFill: false,
|
|
39
|
+
destReceiver: swapParams.recipient ? swapParams.recipient : fromAddress
|
|
40
|
+
};
|
|
41
|
+
const url = await (0, SwapUtils_1.oneInchAPIRequest)("/swap", formattedSwap);
|
|
42
|
+
const res = await (0, utils_1.sendRequest)(url, "GET", "");
|
|
43
|
+
return res.tx;
|
|
44
|
+
};
|
|
45
|
+
const get1inchTokenDecimals = async (tokenAddress, options) => {
|
|
46
|
+
if (tokenAddress !== eth1InchAddress) {
|
|
47
|
+
const inToken = new Token_1.Token(tokenAddress);
|
|
48
|
+
return await inToken.getDecimals(options);
|
|
49
|
+
}
|
|
50
|
+
return 18;
|
|
51
|
+
};
|
|
52
|
+
const oneInchTransactionParams = async (params, walletAddress, txOptions = globalThis.globalEnvOption) => {
|
|
53
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
54
|
+
if (!exports.oneInchSupported.includes(Number(await chain.getChainId()))) {
|
|
55
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.ChainNotSupported, "Incorrect chainId, oneInch only available on Ethereum mainnet and polygon", { params }, "Provide correct chainId.", "https://docs.fun.xyz");
|
|
56
|
+
}
|
|
57
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? "")) {
|
|
58
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Recipient address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
59
|
+
}
|
|
60
|
+
const approveAndExecAddress = await chain.getAddress("approveAndExecAddress");
|
|
61
|
+
let approveTx;
|
|
62
|
+
const inToken = new Token_1.Token(params.tokenIn);
|
|
63
|
+
const outToken = new Token_1.Token(params.tokenOut);
|
|
64
|
+
if (outToken.isNative) {
|
|
65
|
+
params.tokenOut = eth1InchAddress;
|
|
66
|
+
}
|
|
67
|
+
if (inToken.isNative) {
|
|
68
|
+
params.tokenIn = eth1InchAddress;
|
|
69
|
+
const swapTx = await getOneInchSwapTx(params, walletAddress, txOptions);
|
|
70
|
+
return { to: approveAndExecAddress, value: params.inAmount, data: swapTx.data };
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
approveTx = await getOneInchApproveTx(params.tokenIn, params.inAmount, txOptions);
|
|
74
|
+
const swapTx = await getOneInchSwapTx(params, walletAddress, txOptions);
|
|
75
|
+
return common_1.APPROVE_AND_EXEC_CONTRACT_INTERFACE.encodeTransactionParams(approveAndExecAddress, "approveAndExecute", [
|
|
76
|
+
swapTx.to,
|
|
77
|
+
swapTx.value,
|
|
78
|
+
swapTx.data,
|
|
79
|
+
inToken,
|
|
80
|
+
approveTx.data
|
|
81
|
+
]);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
exports.oneInchTransactionParams = oneInchTransactionParams;
|
|
85
|
+
const uniswapV3SwapTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
86
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
87
|
+
const client = await chain.getClient();
|
|
88
|
+
const tokenSwapAddress = await chain.getAddress("tokenSwapAddress");
|
|
89
|
+
const univ3quoter = await chain.getAddress("univ3quoter");
|
|
90
|
+
const univ3factory = await chain.getAddress("univ3factory");
|
|
91
|
+
const univ3router = await chain.getAddress("univ3router");
|
|
92
|
+
const tokenIn = new Token_1.Token(params.tokenIn);
|
|
93
|
+
const tokenOut = new Token_1.Token(params.tokenOut);
|
|
94
|
+
const tokenInAddress = await tokenIn.getAddress();
|
|
95
|
+
const tokenOutAddress = await tokenOut.getAddress();
|
|
96
|
+
const uniswapAddrs = {
|
|
97
|
+
univ3quoter,
|
|
98
|
+
univ3factory,
|
|
99
|
+
univ3router
|
|
100
|
+
};
|
|
101
|
+
let percentDecimal = 100;
|
|
102
|
+
let slippage = params.slippage ? params.slippage : DEFAULT_SLIPPAGE;
|
|
103
|
+
while (slippage < 1 || Math.trunc(slippage) !== slippage) {
|
|
104
|
+
percentDecimal *= 10;
|
|
105
|
+
slippage *= 10;
|
|
106
|
+
}
|
|
107
|
+
if (!(0, viem_1.isAddress)(params.recipient ?? "")) {
|
|
108
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Recipient address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
109
|
+
}
|
|
110
|
+
const swapParams = {
|
|
111
|
+
tokenInAddress,
|
|
112
|
+
tokenOutAddress,
|
|
113
|
+
amountIn: params.inAmount,
|
|
114
|
+
// optional
|
|
115
|
+
recipient: params.recipient,
|
|
116
|
+
percentDecimal,
|
|
117
|
+
slippage,
|
|
118
|
+
poolFee: params.poolFee ?? types_1.UniSwapPoolFeeOptions.medium
|
|
119
|
+
};
|
|
120
|
+
const { data, amount } = await (0, SwapUtils_1.swapExec)(client, uniswapAddrs, swapParams, Number(await chain.getChainId()));
|
|
121
|
+
if (tokenIn.isNative) {
|
|
122
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, "executeSwapETH", [amount, data]);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, "executeSwapERC20", [tokenInAddress, amount, data]);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
exports.uniswapV3SwapTransactionParams = uniswapV3SwapTransactionParams;
|
|
129
|
+
const uniswapV2SwapTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
130
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
|
|
131
|
+
const client = await chain.getClient();
|
|
132
|
+
const tokenSwapAddress = await chain.getAddress("tokenSwapAddress");
|
|
133
|
+
const factory = await chain.getAddress("UniswapV2Factory");
|
|
134
|
+
const router = await chain.getAddress("UniswapV2Router02");
|
|
135
|
+
const tokenIn = new Token_1.Token(params.tokenIn);
|
|
136
|
+
const tokenOut = new Token_1.Token(params.tokenOut);
|
|
137
|
+
const tokenInAddress = await tokenIn.getAddress();
|
|
138
|
+
const tokenOutAddress = await tokenOut.getAddress();
|
|
139
|
+
const uniswapAddrs = {
|
|
140
|
+
factory,
|
|
141
|
+
router
|
|
142
|
+
};
|
|
143
|
+
let percentDecimal = 100;
|
|
144
|
+
let slippage = params.slippage ? params.slippage : DEFAULT_SLIPPAGE;
|
|
145
|
+
while (slippage < 1 || Math.trunc(slippage) !== slippage) {
|
|
146
|
+
percentDecimal *= 10;
|
|
147
|
+
slippage *= 10;
|
|
148
|
+
}
|
|
149
|
+
const swapParams = {
|
|
150
|
+
tokenInAddress,
|
|
151
|
+
tokenOutAddress,
|
|
152
|
+
amountIn: params.inAmount,
|
|
153
|
+
// optional
|
|
154
|
+
recipient: params.recipient,
|
|
155
|
+
percentDecimal,
|
|
156
|
+
slippage,
|
|
157
|
+
poolFee: params.poolFee ?? types_1.UniSwapPoolFeeOptions.medium
|
|
158
|
+
};
|
|
159
|
+
const chainId = Number(await chain.getChainId());
|
|
160
|
+
const { data, to, amount } = await (0, SwapUtils_1.swapExecV2)(client, uniswapAddrs, swapParams, chainId);
|
|
161
|
+
if (tokenIn.isNative) {
|
|
162
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, "executeSwapETH", [to, amount, data]);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
return approveAndSwapInterface.encodeTransactionParams(tokenSwapAddress, "executeSwapERC20", [tokenInAddress, amount, data]);
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
exports.uniswapV2SwapTransactionParams = uniswapV2SwapTransactionParams;
|
|
169
|
+
//# sourceMappingURL=Swap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Swap.js","sourceRoot":"","sources":["../../../src/actions/Swap.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;AACzC,mCAA2D;AAC3D,sCAAyH;AAEzH,kCAA+B;AAC/B,yCAAqC;AACrC,sCAA4D;AAC5D,oCAAsC;AACtC,kDAAgI;AAChI,iEAA6D;AAEhD,QAAA,gBAAgB,GAAa,EAAE,CAAA;AAC/B,QAAA,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1E,MAAM,gBAAgB,GAAG,GAAG,CAAA,CAAC,MAAM;AACnC,MAAM,eAAe,GAAG,4CAA4C,CAAA;AACpE,MAAM,uBAAuB,GAAG,IAAI,qCAAiB,CAAC,6BAAoB,CAAC,CAAA;AAE3E,MAAM,mBAAmB,GAAG,KAAK,EAAE,YAAoB,EAAE,GAAW,EAAE,OAAkB,EAA4B,EAAE;IAClH,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC1E,YAAY,GAAG,MAAM,aAAK,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,IAAA,8BAAkB,EAAC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC1E,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAiB,EAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;IACjH,MAAM,WAAW,GAAG,MAAM,IAAA,mBAAW,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IACrD,OAAO,WAA8B,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,UAAsB,EAAE,WAAmB,EAAE,OAAkB,EAAE,EAAE;IAC/F,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChF,MAAM,gBAAgB,GAAG,MAAM,aAAK,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5E,MAAM,cAAc,GAAG,MAAM,aAAK,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC3E,MAAM,MAAM,GAAG,IAAA,8BAAkB,EAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAC/E,MAAM,aAAa,GAAG;QAClB,gBAAgB;QAChB,cAAc;QACd,MAAM,EAAE,MAAM;QACd,WAAW;QACX,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;KAC1E,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAiB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAC3D,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAW,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IAC7C,OAAO,GAAG,CAAC,EAAE,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,YAAoB,EAAE,OAAkB,EAAE,EAAE;IAC7E,IAAI,YAAY,KAAK,eAAe,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,aAAK,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;KAC5C;IACD,OAAO,EAAE,CAAA;AACb,CAAC,CAAA;AAEM,MAAM,wBAAwB,GAAG,KAAK,EACzC,MAAkB,EAClB,aAAsB,EACtB,YAAwB,UAAkB,CAAC,eAAe,EAChC,EAAE;IAC5B,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,IAAI,CAAC,wBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;QAC9D,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,iBAAiB,EAC3B,2EAA2E,EAC3E,EAAE,MAAM,EAAE,EACV,0BAA0B,EAC1B,sBAAsB,CACzB,CAAA;KACJ;IACD,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;QACpC,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,4FAA4F,EAC5F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACzB,CAAA;KACJ;IAED,MAAM,qBAAqB,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAC7E,IAAI,SAAsC,CAAA;IAE1C,MAAM,OAAO,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACnB,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAA;KACpC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,eAAe,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QACvE,OAAO,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;KAClF;SAAM;QACH,SAAS,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACjF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QACvE,OAAO,4CAAmC,CAAC,uBAAuB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE;YAC3G,MAAM,CAAC,EAAE;YACT,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,IAAI;YACX,OAAO;YACP,SAAS,CAAC,IAAI;SACjB,CAAC,CAAA;KACL;AACL,CAAC,CAAA;AAhDY,QAAA,wBAAwB,4BAgDpC;AAEM,MAAM,8BAA8B,GAAG,KAAK,EAC/C,MAAkB,EAClB,YAAwB,UAAkB,CAAC,eAAe,EAChC,EAAE;IAC5B,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;IACtC,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAC3D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE3C,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IACjD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAA;IAEnD,MAAM,YAAY,GAAmB;QACjC,WAAW;QACX,YAAY;QACZ,WAAW;KACd,CAAA;IAED,IAAI,cAAc,GAAG,GAAG,CAAA;IACxB,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACnE,OAAO,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE;QACtD,cAAc,IAAI,EAAE,CAAA;QACpB,QAAQ,IAAI,EAAE,CAAA;KACjB;IACD,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;QACpC,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,4FAA4F,EAC5F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACzB,CAAA;KACJ;IAED,MAAM,UAAU,GAAG;QACf,cAAc;QACd,eAAe;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,SAAqB;QACvC,cAAc;QACd,QAAQ;QACR,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,6BAAqB,CAAC,MAAM;KAC1D,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,oBAAQ,EAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAC3G,IAAI,OAAO,CAAC,QAAQ,EAAE;QAClB,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;KAC7G;SAAM;QACH,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;KAC/H;AACL,CAAC,CAAA;AAvDY,QAAA,8BAA8B,kCAuD1C;AAEM,MAAM,8BAA8B,GAAG,KAAK,EAC/C,MAAkB,EAClB,YAAwB,UAAkB,CAAC,eAAe,EAChC,EAAE;IAC5B,MAAM,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;IACtC,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAE1D,MAAM,OAAO,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE3C,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IACjD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAA;IAEnD,MAAM,YAAY,GAAmB;QACjC,OAAO;QACP,MAAM;KACT,CAAA;IAED,IAAI,cAAc,GAAG,GAAG,CAAA;IACxB,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACnE,OAAO,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE;QACtD,cAAc,IAAI,EAAE,CAAA;QACpB,QAAQ,IAAI,EAAE,CAAA;KACjB;IAED,MAAM,UAAU,GAAG;QACf,cAAc;QACd,eAAe;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,SAAqB;QACvC,cAAc;QACd,QAAQ;QACR,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,6BAAqB,CAAC,MAAM;KAC1D,CAAA;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;IAEhD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,sBAAU,EAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAExF,IAAI,OAAO,CAAC,QAAQ,EAAE;QAClB,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;KACjH;SAAM;QACH,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;KAC/H;AACL,CAAC,CAAA;AA/CY,QAAA,8BAA8B,kCA+C1C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApproveERC20Params, ApproveERC721Params, ApproveParams, ERC721TransferParams, TokenTransferParams, TransferParams } from "./types";
|
|
2
|
+
import { TransactionParams } from "../common";
|
|
3
|
+
import { EnvOption } from "../config";
|
|
4
|
+
export declare const isERC721TransferParams: (obj: TransferParams) => obj is ERC721TransferParams;
|
|
5
|
+
export declare const isTokenTransferParams: (obj: TransferParams) => obj is TokenTransferParams;
|
|
6
|
+
export declare const erc721TransferTransactionParams: (params: ERC721TransferParams) => Promise<TransactionParams>;
|
|
7
|
+
export declare const tokenTransferTransactionParams: (params: TokenTransferParams, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
8
|
+
export declare const tokenTransferFromTransactionParams: (params: TokenTransferParams, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
9
|
+
export declare const isERC20ApproveParams: (obj: ApproveParams) => obj is ApproveERC20Params;
|
|
10
|
+
export declare const isERC721ApproveParams: (obj: ApproveParams) => obj is ApproveERC721Params;
|
|
11
|
+
export declare const erc20ApproveTransactionParams: (params: ApproveERC20Params, txOptions?: EnvOption) => Promise<TransactionParams>;
|
|
12
|
+
export declare const erc721ApproveTransactionParams: (params: ApproveERC721Params) => Promise<TransactionParams>;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.erc721ApproveTransactionParams = exports.erc20ApproveTransactionParams = exports.isERC721ApproveParams = exports.isERC20ApproveParams = exports.tokenTransferFromTransactionParams = exports.tokenTransferTransactionParams = exports.erc721TransferTransactionParams = exports.isTokenTransferParams = exports.isERC721TransferParams = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const common_1 = require("../common");
|
|
6
|
+
const data_1 = require("../data");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
const isERC721TransferParams = (obj) => {
|
|
9
|
+
return "tokenId" in obj;
|
|
10
|
+
};
|
|
11
|
+
exports.isERC721TransferParams = isERC721TransferParams;
|
|
12
|
+
const isTokenTransferParams = (obj) => {
|
|
13
|
+
return "amount" in obj && "token" in obj && "to" in obj;
|
|
14
|
+
};
|
|
15
|
+
exports.isTokenTransferParams = isTokenTransferParams;
|
|
16
|
+
const erc721TransferTransactionParams = async (params) => {
|
|
17
|
+
const { to, tokenId, collection, from } = params;
|
|
18
|
+
if (!(0, viem_1.isAddress)(to ?? "") || !(0, viem_1.isAddress)(from ?? "")) {
|
|
19
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "To/from address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
20
|
+
}
|
|
21
|
+
let tokenAddr;
|
|
22
|
+
if ((0, viem_1.isAddress)(collection)) {
|
|
23
|
+
tokenAddr = collection;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
tokenAddr = await data_1.NFT.getAddress(collection);
|
|
27
|
+
}
|
|
28
|
+
return common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, "transferFrom", [from, to, tokenId]);
|
|
29
|
+
};
|
|
30
|
+
exports.erc721TransferTransactionParams = erc721TransferTransactionParams;
|
|
31
|
+
const tokenTransferTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
32
|
+
const { to, amount, token } = params;
|
|
33
|
+
if (!(0, viem_1.isAddress)(to)) {
|
|
34
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "To address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
35
|
+
}
|
|
36
|
+
const tokenObj = new data_1.Token(token);
|
|
37
|
+
if (tokenObj.isNative) {
|
|
38
|
+
return { to: to, data: "0x", value: (0, viem_1.parseEther)(`${amount}`) };
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
const tokenAddr = await tokenObj.getAddress(txOptions);
|
|
42
|
+
if (!tokenAddr) {
|
|
43
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.TokenNotFound, "Token address not found. Please check the token passed in.", { params }, "Provide correct token.", "https://docs.fun.xyz");
|
|
44
|
+
}
|
|
45
|
+
const convertedAmount = await tokenObj.getDecimalAmount(amount, txOptions);
|
|
46
|
+
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, "transfer", [to, convertedAmount]);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.tokenTransferTransactionParams = tokenTransferTransactionParams;
|
|
50
|
+
const tokenTransferFromTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
51
|
+
const { to, amount, token, from } = params;
|
|
52
|
+
if (!(0, viem_1.isAddress)(to ?? "") || !(0, viem_1.isAddress)(from ?? "")) {
|
|
53
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "To/from address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
54
|
+
}
|
|
55
|
+
const tokenObj = new data_1.Token(token);
|
|
56
|
+
if (tokenObj.isNative) {
|
|
57
|
+
return { to: to, data: "0x", value: (0, viem_1.parseEther)(`${amount}`) };
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const tokenAddr = await tokenObj.getAddress(txOptions);
|
|
61
|
+
if (!tokenAddr) {
|
|
62
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.TokenNotFound, "Token address not found. Please check the token passed in.", { params }, "Provide correct token.", "https://docs.fun.xyz");
|
|
63
|
+
}
|
|
64
|
+
const convertedAmount = await tokenObj.getDecimalAmount(amount, txOptions);
|
|
65
|
+
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, "transferFrom", [from, to, convertedAmount]);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.tokenTransferFromTransactionParams = tokenTransferFromTransactionParams;
|
|
69
|
+
const isERC20ApproveParams = (obj) => {
|
|
70
|
+
return "amount" in obj && "token" in obj;
|
|
71
|
+
};
|
|
72
|
+
exports.isERC20ApproveParams = isERC20ApproveParams;
|
|
73
|
+
const isERC721ApproveParams = (obj) => {
|
|
74
|
+
return "tokenId" in obj && "collection" in obj;
|
|
75
|
+
};
|
|
76
|
+
exports.isERC721ApproveParams = isERC721ApproveParams;
|
|
77
|
+
const erc20ApproveTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
|
|
78
|
+
const { spender, amount, token } = params;
|
|
79
|
+
if (!(0, viem_1.isAddress)(spender ?? "")) {
|
|
80
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Spender address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
81
|
+
}
|
|
82
|
+
const tokenObj = new data_1.Token(token);
|
|
83
|
+
const convertedAmount = await tokenObj.getDecimalAmount(amount, txOptions);
|
|
84
|
+
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await tokenObj.getAddress(txOptions), "approve", [spender, convertedAmount]);
|
|
85
|
+
};
|
|
86
|
+
exports.erc20ApproveTransactionParams = erc20ApproveTransactionParams;
|
|
87
|
+
const erc721ApproveTransactionParams = async (params) => {
|
|
88
|
+
const { spender, tokenId, collection } = params;
|
|
89
|
+
if (!(0, viem_1.isAddress)(spender ?? "")) {
|
|
90
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, "Spender address is not a valid address, please make sure it is a valid checksum address.", { params }, "Please make sure it is a valid checksum address", "https://docs.fun.xyz");
|
|
91
|
+
}
|
|
92
|
+
let tokenAddr;
|
|
93
|
+
if ((0, viem_1.isAddress)(collection)) {
|
|
94
|
+
tokenAddr = collection;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
tokenAddr = await data_1.NFT.getAddress(collection);
|
|
98
|
+
}
|
|
99
|
+
return common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(tokenAddr, "approve", [spender, tokenId]);
|
|
100
|
+
};
|
|
101
|
+
exports.erc721ApproveTransactionParams = erc721ApproveTransactionParams;
|
|
102
|
+
//# sourceMappingURL=Token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../../src/actions/Token.ts"],"names":[],"mappings":";;;AAAA,+BAA0D;AAE1D,sCAAkG;AAElG,kCAAoC;AACpC,sCAA4D;AACrD,MAAM,sBAAsB,GAAG,CAAC,GAAmB,EAA+B,EAAE;IACvF,OAAO,SAAS,IAAI,GAAG,CAAA;AAC3B,CAAC,CAAA;AAFY,QAAA,sBAAsB,0BAElC;AAEM,MAAM,qBAAqB,GAAG,CAAC,GAAmB,EAA8B,EAAE;IACrF,OAAO,QAAQ,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAA;AAC3D,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAEM,MAAM,+BAA+B,GAAG,KAAK,EAAE,MAA4B,EAA8B,EAAE;IAC9G,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAChD,IAAI,CAAC,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QAChD,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,0FAA0F,EAC1F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACzB,CAAA;KACJ;IACD,IAAI,SAAS,CAAA;IACb,IAAI,IAAA,gBAAS,EAAC,UAAU,CAAC,EAAE;QACvB,SAAS,GAAG,UAAU,CAAA;KACzB;SAAM;QACH,SAAS,GAAG,MAAM,UAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;KAC/C;IACD,OAAO,kCAAyB,CAAC,uBAAuB,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;AAC5G,CAAC,CAAA;AAlBY,QAAA,+BAA+B,mCAkB3C;AAEM,MAAM,8BAA8B,GAAG,KAAK,EAC/C,MAA2B,EAC3B,YAAwB,UAAkB,CAAC,eAAe,EAChC,EAAE;IAC5B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IACpC,IAAI,CAAC,IAAA,gBAAS,EAAC,EAAE,CAAC,EAAE;QAChB,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,qFAAqF,EACrF,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACzB,CAAA;KACJ;IACD,MAAM,QAAQ,GAAG,IAAI,YAAK,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACnB,OAAO,EAAE,EAAE,EAAE,EAAa,EAAE,IAAI,EAAE,IAAW,EAAE,KAAK,EAAE,IAAA,iBAAU,EAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;KAClF;SAAM;QACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,aAAa,EACvB,4DAA4D,EAC5D,EAAE,MAAM,EAAE,EACV,wBAAwB,EACxB,sBAAsB,CACzB,CAAA;SACJ;QACD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC1E,OAAO,iCAAwB,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAA;KACxG;AACL,CAAC,CAAA;AA/BY,QAAA,8BAA8B,kCA+B1C;AAEM,MAAM,kCAAkC,GAAG,KAAK,EACnD,MAA2B,EAC3B,YAAwB,UAAkB,CAAC,eAAe,EAChC,EAAE;IAC5B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC1C,IAAI,CAAC,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QAChD,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,0FAA0F,EAC1F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACzB,CAAA;KACJ;IACD,MAAM,QAAQ,GAAG,IAAI,YAAK,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACnB,OAAO,EAAE,EAAE,EAAE,EAAa,EAAE,IAAI,EAAE,IAAW,EAAE,KAAK,EAAE,IAAA,iBAAU,EAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;KAClF;SAAM;QACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,aAAa,EACvB,4DAA4D,EAC5D,EAAE,MAAM,EAAE,EACV,wBAAwB,EACxB,sBAAsB,CACzB,CAAA;SACJ;QACD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC1E,OAAO,iCAAwB,CAAC,uBAAuB,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAA;KAClH;AACL,CAAC,CAAA;AA/BY,QAAA,kCAAkC,sCA+B9C;AAEM,MAAM,oBAAoB,GAAG,CAAC,GAAkB,EAA6B,EAAE;IAClF,OAAO,QAAQ,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC;AAEM,MAAM,qBAAqB,GAAG,CAAC,GAAkB,EAA8B,EAAE;IACpF,OAAO,SAAS,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,CAAA;AAClD,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAEM,MAAM,6BAA6B,GAAG,KAAK,EAC9C,MAA0B,EAC1B,YAAwB,UAAkB,CAAC,eAAe,EAChC,EAAE;IAC5B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IACzC,IAAI,CAAC,IAAA,gBAAS,EAAC,OAAO,IAAI,EAAE,CAAC,EAAE;QAC3B,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,0FAA0F,EAC1F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACzB,CAAA;KACJ;IACD,MAAM,QAAQ,GAAG,IAAI,YAAK,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1E,OAAO,iCAAwB,CAAC,uBAAuB,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;AACxI,CAAC,CAAA;AAjBY,QAAA,6BAA6B,iCAiBzC;AAEM,MAAM,8BAA8B,GAAG,KAAK,EAAE,MAA2B,EAA8B,EAAE;IAC5G,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IAC/C,IAAI,CAAC,IAAA,gBAAS,EAAC,OAAO,IAAI,EAAE,CAAC,EAAE;QAC3B,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,0FAA0F,EAC1F,EAAE,MAAM,EAAE,EACV,iDAAiD,EACjD,sBAAsB,CACzB,CAAA;KACJ;IACD,IAAI,SAAS,CAAA;IACb,IAAI,IAAA,gBAAS,EAAC,UAAU,CAAC,EAAE;QACvB,SAAS,GAAG,UAAU,CAAA;KACzB;SAAM;QACH,SAAS,GAAG,MAAM,UAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;KAC/C;IACD,OAAO,kCAAyB,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AACtG,CAAC,CAAA;AAlBY,QAAA,8BAA8B,kCAkB1C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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("./AccessControl"), exports);
|
|
18
|
+
__exportStar(require("./BatchActions"), exports);
|
|
19
|
+
__exportStar(require("./Group"), exports);
|
|
20
|
+
__exportStar(require("./Stake"), exports);
|
|
21
|
+
__exportStar(require("./Swap"), exports);
|
|
22
|
+
__exportStar(require("./Token"), exports);
|
|
23
|
+
__exportStar(require("./types"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,iDAA8B;AAC9B,0CAAuB;AACvB,0CAAuB;AACvB,yCAAsB;AACtB,0CAAuB;AACvB,0CAAuB"}
|