@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,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenSponsor = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const Sponsor_1 = require("./Sponsor");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const PaymasterApis_1 = require("../apis/PaymasterApis");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const constants_1 = require("../common/constants");
|
|
10
|
+
const data_1 = require("../data");
|
|
11
|
+
const errors_1 = require("../errors");
|
|
12
|
+
const utils_1 = require("../utils");
|
|
13
|
+
class TokenSponsor extends Sponsor_1.Sponsor {
|
|
14
|
+
constructor(options = globalThis.globalEnvOption) {
|
|
15
|
+
super(options, constants_1.TOKEN_PAYMASTER_CONTRACT_INTERFACE, "tokenPaymasterAddress", types_1.PaymasterType.TokenSponsor);
|
|
16
|
+
if (!options.gasSponsor?.token) {
|
|
17
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.MissingParameter, "token field is missing", { gasSponsor: options.gasSponsor }, "Provide correct token name or address.", "https://docs.fun.xyz");
|
|
18
|
+
}
|
|
19
|
+
this.token = options.gasSponsor.token.toLowerCase();
|
|
20
|
+
}
|
|
21
|
+
async getFunSponsorAddress(options = globalThis.globalEnvOption) {
|
|
22
|
+
if (!this.sponsorAddress) {
|
|
23
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
24
|
+
if (common_1.TOKEN_SPONSOR_SUPPORT_CHAINS.includes(await chain.getChainId())) {
|
|
25
|
+
this.sponsorAddress = await chain.getAddress("funTokenSponsorAddress");
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
throw new errors_1.ResourceNotFoundError(errors_1.ErrorCode.MissingParameter, "The network you are working with does not support token Fun Sponsor. You will need to run and manage your own token sponsor.", { tokenSponsorSupportChains: common_1.TOKEN_SPONSOR_SUPPORT_CHAINS, chain: await chain.getChainId() }, "Manage your own token sponsor, or use a supported network", "https://docs.fun.xyz");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return this.sponsorAddress;
|
|
32
|
+
}
|
|
33
|
+
async getPaymasterAndData(options = globalThis.globalEnvOption) {
|
|
34
|
+
const tokenAddress = await data_1.Token.getAddress(this.token, options);
|
|
35
|
+
const paymasterAddress = await this.getPaymasterAddress(options);
|
|
36
|
+
const sponsor = await this.getFunSponsorAddress(options);
|
|
37
|
+
return (0, viem_1.concat)([paymasterAddress, sponsor, tokenAddress]);
|
|
38
|
+
}
|
|
39
|
+
async getPaymasterAndDataPermit(partialOp, walletAddr, userId, auth, options = globalThis.globalEnvOption) {
|
|
40
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
41
|
+
const estimateGasSignature = await auth.getEstimateGasSignature(userId, partialOp);
|
|
42
|
+
partialOp.userOp.signature = estimateGasSignature.toLowerCase();
|
|
43
|
+
const estimationPaymasterAddress = await chain.getAddress("estimationPaymasterAddress");
|
|
44
|
+
const { callGasLimit, verificationGasLimit, preVerificationGas } = await chain.estimateOpGas({
|
|
45
|
+
...partialOp.userOp,
|
|
46
|
+
paymasterAndData: estimationPaymasterAddress
|
|
47
|
+
});
|
|
48
|
+
const maxFeePerGas = await chain.getFeeData();
|
|
49
|
+
const paymasterAddress = await this.getPaymasterAddress(options);
|
|
50
|
+
const requiredGas = (callGasLimit + (verificationGasLimit + 400000n) * 3n + preVerificationGas) * maxFeePerGas;
|
|
51
|
+
const tokenAddress = await data_1.Token.getAddress(this.token, options);
|
|
52
|
+
const decAmount = await constants_1.TOKEN_PAYMASTER_CONTRACT_INTERFACE.readFromChain(paymasterAddress, "getTokenValueOfEth", [tokenAddress, requiredGas], chain);
|
|
53
|
+
const nonce = await (0, utils_1.getWalletPermitNonce)(walletAddr, chain);
|
|
54
|
+
const client = await chain.getClient();
|
|
55
|
+
const chainId = await client.getChainId();
|
|
56
|
+
const hash = await (0, utils_1.getPermitHash)(tokenAddress, paymasterAddress, decAmount, nonce, walletAddr, BigInt(chainId));
|
|
57
|
+
const sig = await auth.signHash(hash);
|
|
58
|
+
const encodedSig = (0, viem_1.encodeAbiParameters)([{ type: "address" }, { type: "address" }, { type: "uint256" }, { type: "uint256" }, { type: "bytes" }], [tokenAddress, paymasterAddress, decAmount, nonce, sig]);
|
|
59
|
+
const sponsor = await this.getFunSponsorAddress(options);
|
|
60
|
+
const encodedAddresses = (0, viem_1.encodeAbiParameters)([{ type: "address" }, { type: "address" }], [sponsor, tokenAddress]);
|
|
61
|
+
const encodedData = (0, viem_1.encodeAbiParameters)([{ type: "bytes" }, { type: "bytes" }], [encodedAddresses, encodedSig]);
|
|
62
|
+
return (0, viem_1.concat)([paymasterAddress, encodedData]);
|
|
63
|
+
}
|
|
64
|
+
async stake(depositor, sponsor, amount, options = globalThis.globalEnvOption) {
|
|
65
|
+
const amountdec = await data_1.Token.getDecimalAmount("eth", amount, options);
|
|
66
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
67
|
+
await (0, PaymasterApis_1.addTransaction)(await chain.getChainId(), Date.now(), "0x", {
|
|
68
|
+
action: "stake",
|
|
69
|
+
amount,
|
|
70
|
+
from: depositor,
|
|
71
|
+
to: await this.getPaymasterAddress(options),
|
|
72
|
+
token: "eth"
|
|
73
|
+
}, this.paymasterType, sponsor);
|
|
74
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "addEthDepositTo", [sponsor, amountdec], BigInt(amountdec));
|
|
75
|
+
}
|
|
76
|
+
async unstake(sponsor, receiver, amount, options = globalThis.globalEnvOption) {
|
|
77
|
+
const amountdec = await data_1.Token.getDecimalAmount("eth", amount, options);
|
|
78
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
79
|
+
await (0, PaymasterApis_1.addTransaction)(await chain.getChainId(), Date.now(), "0x", {
|
|
80
|
+
action: "unstake",
|
|
81
|
+
amount,
|
|
82
|
+
from: sponsor,
|
|
83
|
+
to: await this.getPaymasterAddress(options),
|
|
84
|
+
token: "eth"
|
|
85
|
+
}, this.paymasterType, receiver);
|
|
86
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "withdrawEthDepositTo", [
|
|
87
|
+
receiver,
|
|
88
|
+
amountdec
|
|
89
|
+
]);
|
|
90
|
+
}
|
|
91
|
+
async getUnlockBlock(sponsor, token, options = globalThis.globalEnvOption) {
|
|
92
|
+
const tokenAddr = (await data_1.Token.isNative(token)) ? constants_1.AddressZero : await data_1.Token.getAddress(token, options);
|
|
93
|
+
return (await this.getAllTokenData(tokenAddr, sponsor, options)).unlockBlock;
|
|
94
|
+
}
|
|
95
|
+
// false means unlocked, true means locked
|
|
96
|
+
async getLockState(sponsor, token, options = globalThis.globalEnvOption) {
|
|
97
|
+
const tokenAddr = (await data_1.Token.isNative(token)) ? constants_1.AddressZero : await data_1.Token.getAddress(token, options);
|
|
98
|
+
const unlockBlock = await this.getUnlockBlock(tokenAddr, sponsor);
|
|
99
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
100
|
+
const provider = await chain.getClient();
|
|
101
|
+
const currentBlock = await provider.getBlockNumber();
|
|
102
|
+
return unlockBlock === 0n || unlockBlock > currentBlock;
|
|
103
|
+
}
|
|
104
|
+
async getTokenInfo(token, options = globalThis.globalEnvOption) {
|
|
105
|
+
const tokenAddress = await data_1.Token.getAddress(token, options);
|
|
106
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
107
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getToken", [tokenAddress], chain);
|
|
108
|
+
}
|
|
109
|
+
async getAllTokenData(spender, token, options = globalThis.globalEnvOption) {
|
|
110
|
+
const tokenAddress = await data_1.Token.getAddress(token, options);
|
|
111
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
112
|
+
const data = await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getAllTokenData", [tokenAddress, spender], chain);
|
|
113
|
+
return {
|
|
114
|
+
unlockBlock: data[0],
|
|
115
|
+
tokenAmount: data[1]
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
async getTokenBalance(spender, token, options = globalThis.globalEnvOption) {
|
|
119
|
+
const tokenData = new data_1.Token(token);
|
|
120
|
+
let tokenAddress;
|
|
121
|
+
if (tokenData.isNative) {
|
|
122
|
+
tokenAddress = constants_1.AddressZero;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
tokenAddress = await tokenData.getAddress(options);
|
|
126
|
+
}
|
|
127
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
128
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getTokenBalance", [tokenAddress, spender], chain);
|
|
129
|
+
}
|
|
130
|
+
async getAllTokens(options = globalThis.globalEnvOption) {
|
|
131
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
132
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getAllTokens", [], chain);
|
|
133
|
+
}
|
|
134
|
+
async addUsableToken(oracle, token, aggregator, options = globalThis.globalEnvOption) {
|
|
135
|
+
const decimals = await data_1.Token.getDecimals(token, options);
|
|
136
|
+
const tokenAddress = await data_1.Token.getAddress(token, options);
|
|
137
|
+
const data = [oracle, tokenAddress, decimals, aggregator];
|
|
138
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "setTokenData", [data]);
|
|
139
|
+
}
|
|
140
|
+
async depositToken(depositor, token, spender, amount, options = globalThis.globalEnvOption) {
|
|
141
|
+
const tokenObj = new data_1.Token(token);
|
|
142
|
+
const tokenAddress = await tokenObj.getAddress(options);
|
|
143
|
+
const amountdec = await tokenObj.getDecimalAmount(amount, options);
|
|
144
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
145
|
+
(0, PaymasterApis_1.addTransaction)(await chain.getChainId(), Date.now(), "0x", {
|
|
146
|
+
action: "stakeToken",
|
|
147
|
+
amount,
|
|
148
|
+
from: depositor,
|
|
149
|
+
to: await this.getPaymasterAddress(options),
|
|
150
|
+
token
|
|
151
|
+
}, this.paymasterType, spender);
|
|
152
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "addTokenDepositTo", [
|
|
153
|
+
tokenAddress,
|
|
154
|
+
spender,
|
|
155
|
+
amountdec
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
158
|
+
async withdrawToken(withdrawer, token, receiver, amount, options = globalThis.globalEnvOption) {
|
|
159
|
+
const tokenObj = new data_1.Token(token);
|
|
160
|
+
const tokenAddress = await tokenObj.getAddress(options);
|
|
161
|
+
const amountdec = await tokenObj.getDecimalAmount(amount, options);
|
|
162
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
163
|
+
(0, PaymasterApis_1.addTransaction)(await chain.getChainId(), Date.now(), "0x", {
|
|
164
|
+
action: "unstakeToken",
|
|
165
|
+
amount,
|
|
166
|
+
from: withdrawer,
|
|
167
|
+
to: await this.getPaymasterAddress(options),
|
|
168
|
+
token
|
|
169
|
+
}, this.paymasterType, receiver);
|
|
170
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "withdrawTokenDepositTo", [
|
|
171
|
+
tokenAddress,
|
|
172
|
+
receiver,
|
|
173
|
+
amountdec
|
|
174
|
+
]);
|
|
175
|
+
}
|
|
176
|
+
async lockTokenDeposit(token, options = globalThis.globalEnvOption) {
|
|
177
|
+
const tokenData = new data_1.Token(token);
|
|
178
|
+
const tokenAddress = tokenData.isNative ? constants_1.AddressZero : await tokenData.getAddress(options);
|
|
179
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "lockTokenDeposit", [tokenAddress]);
|
|
180
|
+
}
|
|
181
|
+
async unlockTokenDepositAfter(token, blocksToWait, options = globalThis.globalEnvOption) {
|
|
182
|
+
const tokenData = new data_1.Token(token);
|
|
183
|
+
const tokenAddress = tokenData.isNative ? constants_1.AddressZero : await tokenData.getAddress(options);
|
|
184
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "unlockTokenDepositAfter", [
|
|
185
|
+
tokenAddress,
|
|
186
|
+
blocksToWait
|
|
187
|
+
]);
|
|
188
|
+
}
|
|
189
|
+
async lockDeposit() {
|
|
190
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "lockTokenDeposit", [constants_1.AddressZero]);
|
|
191
|
+
}
|
|
192
|
+
async unlockDepositAfter(blocksToWait) {
|
|
193
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "unlockTokenDepositAfter", [
|
|
194
|
+
constants_1.AddressZero,
|
|
195
|
+
blocksToWait
|
|
196
|
+
]);
|
|
197
|
+
}
|
|
198
|
+
async approve(approver, token, amount, options = globalThis.globalEnvOption) {
|
|
199
|
+
const gasSponsorAddress = await this.getPaymasterAddress();
|
|
200
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
201
|
+
(0, PaymasterApis_1.addTransaction)(await chain.getChainId(), Date.now(), "0x", {
|
|
202
|
+
action: "approve",
|
|
203
|
+
amount,
|
|
204
|
+
from: approver,
|
|
205
|
+
to: await this.getPaymasterAddress(options),
|
|
206
|
+
token
|
|
207
|
+
}, this.paymasterType, approver);
|
|
208
|
+
return data_1.Token.approve(token, gasSponsorAddress, amount);
|
|
209
|
+
}
|
|
210
|
+
async getSpenderBlacklisted(spender, sponsor, options = globalThis.globalEnvOption) {
|
|
211
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
212
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getSpenderBlacklisted", [spender, sponsor], chain);
|
|
213
|
+
}
|
|
214
|
+
async getSpenderWhitelisted(spender, sponsor, options = globalThis.globalEnvOption) {
|
|
215
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
216
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getSpenderWhitelisted", [spender, sponsor], chain);
|
|
217
|
+
}
|
|
218
|
+
async getTokenWhitelisted(sponsor, token, options = globalThis.globalEnvOption) {
|
|
219
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
220
|
+
const tokenAddress = await data_1.Token.getAddress(token, options);
|
|
221
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getTokenWhitelisted", [tokenAddress, sponsor], chain);
|
|
222
|
+
}
|
|
223
|
+
async setTokenToWhitelistMode(sponsor, options = globalThis.globalEnvOption) {
|
|
224
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
225
|
+
await (0, PaymasterApis_1.updatePaymasterMode)(await chain.getChainId(), { tokenMode: "whitelist" }, this.paymasterType, sponsor);
|
|
226
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "setTokenListMode", [false]);
|
|
227
|
+
}
|
|
228
|
+
async batchWhitelistTokens(sponsor, tokens, modes, options = globalThis.globalEnvOption) {
|
|
229
|
+
const calldata = [];
|
|
230
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
231
|
+
const tokenAddress = await data_1.Token.getAddress(tokens[i], options);
|
|
232
|
+
calldata.push(this.contractInterface.encodeData("setTokenWhitelistMode", [tokenAddress, modes[i]]));
|
|
233
|
+
}
|
|
234
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
235
|
+
await (0, PaymasterApis_1.batchOperation)(await chain.getChainId(), tokens, modes, "tokensWhiteList", this.paymasterType, sponsor);
|
|
236
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "batchActions", [calldata]);
|
|
237
|
+
}
|
|
238
|
+
async getTokenListMode(sponsor, options = globalThis.globalEnvOption) {
|
|
239
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
240
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getTokenListMode", [sponsor], chain);
|
|
241
|
+
}
|
|
242
|
+
async getTokenBlacklisted(sponsor, token, options = globalThis.globalEnvOption) {
|
|
243
|
+
const tokenAddress = await data_1.Token.getAddress(token, options);
|
|
244
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
245
|
+
return await this.contractInterface.readFromChain(await this.getPaymasterAddress(options), "getTokenBlacklisted", [tokenAddress, sponsor], chain);
|
|
246
|
+
}
|
|
247
|
+
async setTokenToBlacklistMode(sponsor, options = globalThis.globalEnvOption) {
|
|
248
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
249
|
+
await (0, PaymasterApis_1.updatePaymasterMode)(await chain.getChainId(), { tokenMode: "blacklist" }, this.paymasterType, sponsor);
|
|
250
|
+
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "setTokenListMode", [true]);
|
|
251
|
+
}
|
|
252
|
+
async batchBlacklistTokens(sponsor, tokens, modes, options = globalThis.globalEnvOption) {
|
|
253
|
+
const calldata = [];
|
|
254
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
255
|
+
const tokenAddress = await data_1.Token.getAddress(tokens[i], options);
|
|
256
|
+
calldata.push(this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), "setTokenBlacklistMode", [
|
|
257
|
+
tokenAddress,
|
|
258
|
+
modes[i]
|
|
259
|
+
]));
|
|
260
|
+
}
|
|
261
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
262
|
+
await (0, PaymasterApis_1.batchOperation)(await chain.getChainId(), tokens, modes, "tokensBlackList", this.paymasterType, sponsor);
|
|
263
|
+
return this.batchTransaction(calldata);
|
|
264
|
+
}
|
|
265
|
+
static async getPaymasterAddress(options = globalThis.globalEnvOption) {
|
|
266
|
+
const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
267
|
+
return await chain.getAddress(this.name);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
exports.TokenSponsor = TokenSponsor;
|
|
271
|
+
//# sourceMappingURL=TokenSponsor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenSponsor.js","sourceRoot":"","sources":["../../../src/sponsors/TokenSponsor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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("./GaslessSponsor"), exports);
|
|
18
|
+
__exportStar(require("./TokenSponsor"), exports);
|
|
19
|
+
__exportStar(require("./Sponsor"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sponsors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,iDAA8B;AAC9B,4CAAyB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaymasterType = void 0;
|
|
4
|
+
var PaymasterType;
|
|
5
|
+
(function (PaymasterType) {
|
|
6
|
+
PaymasterType["BaseSponsor"] = "base";
|
|
7
|
+
PaymasterType["GaslessSponsor"] = "gasless";
|
|
8
|
+
PaymasterType["TokenSponsor"] = "token";
|
|
9
|
+
})(PaymasterType || (exports.PaymasterType = PaymasterType = {}));
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sponsors/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,qCAAoB,CAAA;IACpB,2CAA0B,CAAA;IAC1B,uCAAsB,CAAA;AAC1B,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const DEFAULT_RETRY_OPTIONS: {
|
|
2
|
+
delay: number;
|
|
3
|
+
initialDelay: number;
|
|
4
|
+
maxDelay: number;
|
|
5
|
+
factor: number;
|
|
6
|
+
maxAttempts: number;
|
|
7
|
+
timeout: number;
|
|
8
|
+
jitter: boolean;
|
|
9
|
+
minDelay: number;
|
|
10
|
+
handleError: (err: any, context: any) => void;
|
|
11
|
+
handleTimeout: null;
|
|
12
|
+
beforeAttempt: null;
|
|
13
|
+
calculateDelay: null;
|
|
14
|
+
};
|
|
15
|
+
export declare const sendRequest: (uri: string, method: string, apiKey: string, body?: object) => Promise<any>;
|
|
16
|
+
export declare function sendGetRequest(uri: string | undefined, endpoint: string, apiKey?: string): Promise<any>;
|
|
17
|
+
export declare function sendPostRequest(uri: string | undefined, endpoint: string, body: object, apiKey?: string): Promise<any>;
|
|
18
|
+
export declare function sendDeleteRequest(uri: string | undefined, endpoint: string, apiKey?: string): Promise<void>;
|
|
19
|
+
export declare function sendPutRequest(uri: string | undefined, endpoint: string, body: object, apiKey?: string): Promise<void>;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sendPutRequest = exports.sendDeleteRequest = exports.sendPostRequest = exports.sendGetRequest = exports.sendRequest = exports.DEFAULT_RETRY_OPTIONS = void 0;
|
|
7
|
+
const attempt_1 = require("@lifeomic/attempt");
|
|
8
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
9
|
+
const constants_1 = require("../common/constants");
|
|
10
|
+
const errors_1 = require("../errors");
|
|
11
|
+
const index_1 = require("./index");
|
|
12
|
+
const errorHandler = (err, context) => {
|
|
13
|
+
if (err instanceof errors_1.ResourceNotFoundError || err instanceof errors_1.InvalidParameterError || err instanceof errors_1.UserOpFailureError) {
|
|
14
|
+
context.abort();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.DEFAULT_RETRY_OPTIONS = {
|
|
18
|
+
delay: 100,
|
|
19
|
+
initialDelay: 0,
|
|
20
|
+
maxDelay: 3000,
|
|
21
|
+
factor: 2,
|
|
22
|
+
maxAttempts: 5,
|
|
23
|
+
timeout: 0,
|
|
24
|
+
jitter: true,
|
|
25
|
+
minDelay: 0,
|
|
26
|
+
handleError: errorHandler,
|
|
27
|
+
handleTimeout: null,
|
|
28
|
+
beforeAttempt: null,
|
|
29
|
+
calculateDelay: null
|
|
30
|
+
};
|
|
31
|
+
const sendRequest = async (uri, method, apiKey, body) => {
|
|
32
|
+
try {
|
|
33
|
+
const headers = {
|
|
34
|
+
"Content-Type": "application/json"
|
|
35
|
+
};
|
|
36
|
+
if (apiKey) {
|
|
37
|
+
headers["X-Api-Key"] = apiKey;
|
|
38
|
+
}
|
|
39
|
+
return (0, attempt_1.retry)(async function () {
|
|
40
|
+
const response = await (0, node_fetch_1.default)(uri, {
|
|
41
|
+
method,
|
|
42
|
+
headers,
|
|
43
|
+
redirect: "follow",
|
|
44
|
+
body: method !== "GET" ? (0, index_1.stringify)(body) : undefined
|
|
45
|
+
});
|
|
46
|
+
const json = await response.json();
|
|
47
|
+
if (response.ok) {
|
|
48
|
+
return json;
|
|
49
|
+
}
|
|
50
|
+
else if (response.status === 400) {
|
|
51
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, `bad request ${JSON.stringify(json)}`, { body }, "check the api call parameters. its mostly because some call parameters are wrong", "https://docs.fun.xyz");
|
|
52
|
+
}
|
|
53
|
+
else if (response.status === 403) {
|
|
54
|
+
throw new errors_1.AccessDeniedError(errors_1.ErrorCode.Unauthorized, "Invalid API key or insufficient access.", { apiKey }, "Check your api key at https://app.fun.xyz and check with fun team if you believe something is off", "https://docs.fun.xyz");
|
|
55
|
+
}
|
|
56
|
+
else if (response.status === 404) {
|
|
57
|
+
throw new errors_1.ResourceNotFoundError(errors_1.ErrorCode.ServerMissingData, JSON.stringify(json), { body }, "check the api call parameters. its mostly because some call parameters are wrong", "https://docs.fun.xyz");
|
|
58
|
+
}
|
|
59
|
+
else if (response.status === 429) {
|
|
60
|
+
throw new errors_1.ThrottlingError(errors_1.ErrorCode.RequestLimitExceeded, `too many requests ${JSON.stringify(json)}`, { body }, "you are making too many requests. please slow down. Reach out to fun team if you need more quota", "https://docs.fun.xyz");
|
|
61
|
+
}
|
|
62
|
+
else if (response.status === 500) {
|
|
63
|
+
if (json.errorCode === errors_1.ErrorCode.UserOpFailureError) {
|
|
64
|
+
throw new errors_1.UserOpFailureError(errors_1.ErrorCode.UserOpFailureError, JSON.stringify(json), { body }, "fix user op failure. Most of the time this is due to invalid parameters", "https://docs.fun.xyz");
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.ServerFailure, `server failure ${JSON.stringify(json)}`, { body }, "retry later. if it still fails, please contact us.", "https://docs.fun.xyz");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (!response.ok) {
|
|
71
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.UnknownServerError, `unknown server failure ${JSON.stringify(json)}`, { body }, "retry later. if it still fails, please contact us.", "https://docs.fun.xyz");
|
|
72
|
+
}
|
|
73
|
+
return {};
|
|
74
|
+
}, exports.DEFAULT_RETRY_OPTIONS);
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.ServerConnectionError, `Cannot connect to Fun API Service ${err}`, { body }, "retry later. if it still fails, please contact us.", "https://docs.fun.xyz");
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
exports.sendRequest = sendRequest;
|
|
81
|
+
async function sendGetRequest(uri = constants_1.API_URL, endpoint, apiKey = globalThis.globalEnvOption?.apiKey) {
|
|
82
|
+
return await (0, exports.sendRequest)(`${uri}/${endpoint}`, "GET", apiKey);
|
|
83
|
+
}
|
|
84
|
+
exports.sendGetRequest = sendGetRequest;
|
|
85
|
+
async function sendPostRequest(uri = constants_1.API_URL, endpoint, body, apiKey = globalThis.globalEnvOption?.apiKey) {
|
|
86
|
+
return await (0, exports.sendRequest)(`${uri}/${endpoint}`, "POST", apiKey, body);
|
|
87
|
+
}
|
|
88
|
+
exports.sendPostRequest = sendPostRequest;
|
|
89
|
+
async function sendDeleteRequest(uri = constants_1.API_URL, endpoint, apiKey = globalThis.globalEnvOption.apiKey) {
|
|
90
|
+
await (0, exports.sendRequest)(`${uri}/${endpoint}`, "DELETE", apiKey);
|
|
91
|
+
}
|
|
92
|
+
exports.sendDeleteRequest = sendDeleteRequest;
|
|
93
|
+
async function sendPutRequest(uri = constants_1.API_URL, endpoint, body, apiKey = globalThis.globalEnvOption.apiKey) {
|
|
94
|
+
await (0, exports.sendRequest)(`${uri}/${endpoint}`, "PUT", apiKey, body);
|
|
95
|
+
}
|
|
96
|
+
exports.sendPutRequest = sendPutRequest;
|
|
97
|
+
//# sourceMappingURL=ApiUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiUtils.js","sourceRoot":"","sources":["../../../src/utils/ApiUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Address, Hex } from "viem";
|
|
2
|
+
export declare const getAuthUniqueId: (authId: string, addr?: string, skipDBActions?: boolean) => Promise<any>;
|
|
3
|
+
export declare const getAuthIdFromAddr: (addr: Address) => Promise<string>;
|
|
4
|
+
export declare const generatePrivateKey: () => Hex;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generatePrivateKey = exports.getAuthIdFromAddr = exports.getAuthUniqueId = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
const viem_1 = require("viem");
|
|
6
|
+
const accounts_1 = require("viem/accounts");
|
|
7
|
+
const UserApis_1 = require("../apis/UserApis");
|
|
8
|
+
const errors_1 = require("../errors");
|
|
9
|
+
const getAuthUniqueId = async (authId, addr = "NO_ADDRESS", skipDBActions = false) => {
|
|
10
|
+
let authUniqueId;
|
|
11
|
+
if (skipDBActions) {
|
|
12
|
+
authUniqueId = addr;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
authUniqueId = await (0, UserApis_1.getUserUniqueId)(authId);
|
|
16
|
+
}
|
|
17
|
+
if (!authUniqueId) {
|
|
18
|
+
authUniqueId = (0, uuid_1.v4)();
|
|
19
|
+
}
|
|
20
|
+
const words = authId.split("###");
|
|
21
|
+
let method;
|
|
22
|
+
if (words[0].startsWith("0x")) {
|
|
23
|
+
method = "eoa";
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
method = words[0];
|
|
27
|
+
}
|
|
28
|
+
await (0, UserApis_1.createUser)(authId, addr, method, authUniqueId);
|
|
29
|
+
return authUniqueId;
|
|
30
|
+
};
|
|
31
|
+
exports.getAuthUniqueId = getAuthUniqueId;
|
|
32
|
+
const getAuthIdFromAddr = async (addr) => {
|
|
33
|
+
let authId;
|
|
34
|
+
try {
|
|
35
|
+
const [decodedAddr] = (0, viem_1.decodeAbiParameters)([{ type: "address" }], (0, viem_1.pad)(addr, { size: 32 }));
|
|
36
|
+
authId = await (0, UserApis_1.getUserAuthIdByAddr)(decodedAddr);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
if (err instanceof errors_1.ResourceNotFoundError) {
|
|
40
|
+
authId = addr;
|
|
41
|
+
await (0, UserApis_1.createUser)(addr, addr, "eoa", (0, uuid_1.v4)());
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return authId;
|
|
48
|
+
};
|
|
49
|
+
exports.getAuthIdFromAddr = getAuthIdFromAddr;
|
|
50
|
+
const generatePrivateKey = () => {
|
|
51
|
+
return (0, accounts_1.generatePrivateKey)();
|
|
52
|
+
};
|
|
53
|
+
exports.generatePrivateKey = generatePrivateKey;
|
|
54
|
+
//# sourceMappingURL=AuthUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthUtils.js","sourceRoot":"","sources":["../../../src/utils/AuthUtils.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AACnC,+BAA6D;AAC7D,4CAA8E;AAC9E,+CAAmF;AACnF,sCAAiD;AAE1C,MAAM,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,IAAI,GAAG,YAAY,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IAChG,IAAI,YAAY,CAAA;IAChB,IAAI,aAAa,EAAE;QACf,YAAY,GAAG,IAAI,CAAA;KACtB;SAAM;QACH,YAAY,GAAG,MAAM,IAAA,0BAAe,EAAC,MAAM,CAAC,CAAA;KAC/C;IACD,IAAI,CAAC,YAAY,EAAE;QACf,YAAY,GAAG,IAAA,SAAM,GAAE,CAAA;KAC1B;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,MAAM,CAAA;IACV,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,GAAG,KAAK,CAAA;KACjB;SAAM;QACH,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;KACpB;IACD,MAAM,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;IAEpD,OAAO,YAAY,CAAA;AACvB,CAAC,CAAA;AArBY,QAAA,eAAe,mBAqB3B;AAEM,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;IACrD,IAAI,MAAc,CAAA;IAClB,IAAI;QACA,MAAM,CAAC,WAAW,CAAC,GAAG,IAAA,0BAAmB,EAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,IAAA,UAAG,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,GAAG,MAAM,IAAA,8BAAmB,EAAC,WAAqB,CAAC,CAAA;KAC5D;IAAC,OAAO,GAAG,EAAE;QACV,IAAI,GAAG,YAAY,8BAAqB,EAAE;YACtC,MAAM,GAAG,IAAI,CAAA;YACb,MAAM,IAAA,qBAAU,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAA,SAAM,GAAE,CAAC,CAAA;SAChD;aAAM;YACH,MAAM,GAAG,CAAA;SACZ;KACJ;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAdY,QAAA,iBAAiB,qBAc7B;AAEM,MAAM,kBAAkB,GAAG,GAAQ,EAAE;IACxC,OAAO,IAAA,6BAAwB,GAAE,CAAA;AACrC,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Address, PublicClient } from "viem";
|
|
2
|
+
import { Auth } from "../auth";
|
|
3
|
+
import { EnvOption } from "../config";
|
|
4
|
+
import { Chain } from "../data";
|
|
5
|
+
import { FunWallet } from "../wallet";
|
|
6
|
+
export declare const isAddress: (address: string) => boolean;
|
|
7
|
+
export declare const fundWallet: (auth: Auth, wallet: FunWallet, value: number, txOptions?: EnvOption) => Promise<import("viem").TransactionReceipt>;
|
|
8
|
+
export declare const isContract: (address: Address, client: PublicClient) => Promise<boolean>;
|
|
9
|
+
export declare const randomBytes: (length: number) => `0x${string}`;
|
|
10
|
+
export declare const getWalletPermitNonce: (walletAddr: Address, chain: Chain, nonceKey?: number) => Promise<any>;
|
|
11
|
+
export declare const getPermitHash: (token: Address, to: Address, amount: bigint, nonce: bigint, walletAddr: Address, chainId: bigint) => `0x${string}`;
|
|
12
|
+
export declare const getGasStation: (gasStationUrl: string) => Promise<any>;
|