@funkit/core 0.8.6 → 0.10.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/dist/fetch-polyfill.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/src/abis/CheckoutPaymaster.json +1 -0
- package/dist/src/abis/EstimationPaymaster.json +1 -1
- package/dist/src/abis/UniswapV3LimitOrder.json +1 -1
- package/dist/src/actions/AccessControl.d.ts +6 -6
- package/dist/src/actions/AccessControl.js +23 -16
- package/dist/src/actions/AccessControl.js.map +1 -1
- package/dist/src/actions/BatchActions.d.ts +2 -2
- package/dist/src/actions/BatchActions.js +2 -2
- package/dist/src/actions/BatchActions.js.map +1 -1
- package/dist/src/actions/Bridge.d.ts +5 -4
- package/dist/src/actions/Bridge.js +13 -9
- package/dist/src/actions/Bridge.js.map +1 -1
- package/dist/src/actions/FirstClassActions.d.ts +8 -6
- package/dist/src/actions/FirstClassActions.js +44 -69
- package/dist/src/actions/FirstClassActions.js.map +1 -1
- package/dist/src/actions/Group.d.ts +3 -3
- package/dist/src/actions/Group.js +6 -14
- package/dist/src/actions/Group.js.map +1 -1
- package/dist/src/actions/LimitOrder.d.ts +4 -4
- package/dist/src/actions/LimitOrder.js +21 -19
- package/dist/src/actions/LimitOrder.js.map +1 -1
- package/dist/src/actions/Stake.d.ts +3 -3
- package/dist/src/actions/Stake.js +31 -44
- package/dist/src/actions/Stake.js.map +1 -1
- package/dist/src/actions/Swap.d.ts +4 -4
- package/dist/src/actions/Swap.js +43 -41
- package/dist/src/actions/Swap.js.map +1 -1
- package/dist/src/actions/Token.d.ts +6 -6
- package/dist/src/actions/Token.js +46 -33
- package/dist/src/actions/Token.js.map +1 -1
- package/dist/src/actions/index.d.ts +7 -7
- package/dist/src/actions/types.d.ts +4 -4
- package/dist/src/actions/types.js +2 -2
- package/dist/src/actions/types.js.map +1 -1
- package/dist/src/apis/AccessControlApis.d.ts +1 -1
- package/dist/src/apis/AccessControlApis.js +7 -3
- package/dist/src/apis/AccessControlApis.js.map +1 -1
- package/dist/src/apis/AssetApis.d.ts +10 -0
- package/dist/src/apis/AssetApis.js +11 -1
- package/dist/src/apis/AssetApis.js.map +1 -1
- package/dist/src/apis/BridgeApis.d.ts +1 -1
- package/dist/src/apis/BridgeApis.js +13 -13
- package/dist/src/apis/BridgeApis.js.map +1 -1
- package/dist/src/apis/CheckoutApis.d.ts +43 -0
- package/dist/src/apis/CheckoutApis.js +116 -0
- package/dist/src/apis/CheckoutApis.js.map +1 -0
- package/dist/src/apis/ContractApis.js +1 -1
- package/dist/src/apis/ContractApis.js.map +1 -1
- package/dist/src/apis/FaucetApis.js.map +1 -1
- package/dist/src/apis/GroupApis.d.ts +2 -6
- package/dist/src/apis/GroupApis.js +4 -29
- package/dist/src/apis/GroupApis.js.map +1 -1
- package/dist/src/apis/InfoApis.d.ts +1 -1
- package/dist/src/apis/InfoApis.js +9 -7
- package/dist/src/apis/InfoApis.js.map +1 -1
- package/dist/src/apis/ListenerApis.d.ts +1 -1
- package/dist/src/apis/ListenerApis.js +6 -6
- package/dist/src/apis/ListenerApis.js.map +1 -1
- package/dist/src/apis/MeshApis.d.ts +87 -0
- package/dist/src/apis/MeshApis.js +213 -0
- package/dist/src/apis/MeshApis.js.map +1 -0
- package/dist/src/apis/NFTApis.js.map +1 -1
- package/dist/src/apis/OnOffRampApis.d.ts +2 -0
- package/dist/src/apis/OnOffRampApis.js +24 -5
- package/dist/src/apis/OnOffRampApis.js.map +1 -1
- package/dist/src/apis/OnOffRampUtils.js +2 -2
- package/dist/src/apis/OnOffRampUtils.js.map +1 -1
- package/dist/src/apis/OperationApis.d.ts +4 -4
- package/dist/src/apis/OperationApis.js +21 -12
- package/dist/src/apis/OperationApis.js.map +1 -1
- package/dist/src/apis/PaymasterApis.d.ts +1 -6
- package/dist/src/apis/PaymasterApis.js +3 -70
- package/dist/src/apis/PaymasterApis.js.map +1 -1
- package/dist/src/apis/SwapApis.d.ts +2 -2
- package/dist/src/apis/SwapApis.js +6 -6
- package/dist/src/apis/SwapApis.js.map +1 -1
- package/dist/src/apis/TurnkeyApis.d.ts +3 -0
- package/dist/src/apis/TurnkeyApis.js +19 -0
- package/dist/src/apis/TurnkeyApis.js.map +1 -0
- package/dist/src/apis/UserApis.d.ts +2 -5
- package/dist/src/apis/UserApis.js +11 -22
- package/dist/src/apis/UserApis.js.map +1 -1
- package/dist/src/apis/index.d.ts +13 -10
- package/dist/src/apis/index.js +4 -1
- package/dist/src/apis/index.js.map +1 -1
- package/dist/src/apis/types.d.ts +79 -7
- package/dist/src/apis/types.js +16 -0
- package/dist/src/apis/types.js.map +1 -1
- package/dist/src/auth/Auth.d.ts +6 -6
- package/dist/src/auth/Auth.js +48 -46
- package/dist/src/auth/Auth.js.map +1 -1
- package/dist/src/auth/SessionKeyAuth.d.ts +5 -5
- package/dist/src/auth/SessionKeyAuth.js +29 -24
- package/dist/src/auth/SessionKeyAuth.js.map +1 -1
- package/dist/src/auth/index.d.ts +2 -2
- package/dist/src/auth/types.d.ts +1 -1
- package/dist/src/common/constants.d.ts +111 -17
- package/dist/src/common/constants.js +158 -85
- package/dist/src/common/constants.js.map +1 -1
- package/dist/src/common/index.d.ts +2 -2
- package/dist/src/common/types.d.ts +2 -2
- package/dist/src/config/Config.d.ts +1 -1
- package/dist/src/config/Config.js +10 -4
- package/dist/src/config/Config.js.map +1 -1
- package/dist/src/config/index.d.ts +2 -2
- package/dist/src/config/types.d.ts +4 -2
- package/dist/src/data/Chain.d.ts +4 -4
- package/dist/src/data/Chain.js +38 -27
- package/dist/src/data/Chain.js.map +1 -1
- package/dist/src/data/NFT.d.ts +3 -3
- package/dist/src/data/NFT.js +11 -11
- package/dist/src/data/NFT.js.map +1 -1
- package/dist/src/data/Operation.d.ts +5 -5
- package/dist/src/data/Operation.js +12 -10
- package/dist/src/data/Operation.js.map +1 -1
- package/dist/src/data/SolidityData.d.ts +3 -3
- package/dist/src/data/SolidityData.js +37 -17
- package/dist/src/data/SolidityData.js.map +1 -1
- package/dist/src/data/Token.d.ts +21 -20
- package/dist/src/data/Token.js +49 -51
- package/dist/src/data/Token.js.map +1 -1
- package/dist/src/data/index.d.ts +6 -6
- package/dist/src/data/index.js +2 -2
- package/dist/src/data/index.js.map +1 -1
- package/dist/src/data/types.d.ts +2 -2
- package/dist/src/data/types.js +3 -3
- package/dist/src/data/types.js.map +1 -1
- package/dist/src/errors/BaseError.js +4 -3
- package/dist/src/errors/BaseError.js.map +1 -1
- package/dist/src/errors/ClientError.d.ts +1 -1
- package/dist/src/errors/ClientError.js +3 -3
- package/dist/src/errors/ClientError.js.map +1 -1
- package/dist/src/errors/ServerError.d.ts +1 -1
- package/dist/src/errors/ServerError.js.map +1 -1
- package/dist/src/errors/index.d.ts +4 -4
- package/dist/src/errors/types.d.ts +2 -1
- package/dist/src/errors/types.js +4 -3
- package/dist/src/errors/types.js.map +1 -1
- package/dist/src/sponsors/CheckoutSponsor.d.ts +23 -0
- package/dist/src/sponsors/CheckoutSponsor.js +65 -0
- package/dist/src/sponsors/CheckoutSponsor.js.map +1 -0
- package/dist/src/sponsors/GaslessSponsor.d.ts +6 -6
- package/dist/src/sponsors/GaslessSponsor.js +20 -32
- package/dist/src/sponsors/GaslessSponsor.js.map +1 -1
- package/dist/src/sponsors/Sponsor.d.ts +15 -15
- package/dist/src/sponsors/Sponsor.js +24 -40
- package/dist/src/sponsors/Sponsor.js.map +1 -1
- package/dist/src/sponsors/TokenSponsor.d.ts +15 -15
- package/dist/src/sponsors/TokenSponsor.js +118 -135
- package/dist/src/sponsors/TokenSponsor.js.map +1 -1
- package/dist/src/sponsors/index.d.ts +4 -3
- package/dist/src/sponsors/index.js +2 -1
- package/dist/src/sponsors/index.js.map +1 -1
- package/dist/src/sponsors/types.d.ts +2 -1
- package/dist/src/sponsors/types.js +2 -1
- package/dist/src/sponsors/types.js.map +1 -1
- package/dist/src/utils/ApiUtils.js +21 -19
- package/dist/src/utils/ApiUtils.js.map +1 -1
- package/dist/src/utils/AuthUtils.d.ts +1 -2
- package/dist/src/utils/AuthUtils.js +7 -25
- package/dist/src/utils/AuthUtils.js.map +1 -1
- package/dist/src/utils/ChainUtils.d.ts +5 -5
- package/dist/src/utils/ChainUtils.js +35 -20
- package/dist/src/utils/ChainUtils.js.map +1 -1
- package/dist/src/utils/CheckoutUtils.d.ts +6 -0
- package/dist/src/utils/CheckoutUtils.js +24 -0
- package/dist/src/utils/CheckoutUtils.js.map +1 -0
- package/dist/src/utils/GroupUtils.d.ts +4 -0
- package/dist/src/utils/GroupUtils.js +30 -0
- package/dist/src/utils/GroupUtils.js.map +1 -0
- package/dist/src/utils/MerkleUtils.d.ts +1 -1
- package/dist/src/utils/MerkleUtils.js +5 -5
- package/dist/src/utils/MerkleUtils.js.map +1 -1
- package/dist/src/utils/PaymasterUtils.d.ts +3 -3
- package/dist/src/utils/PaymasterUtils.js +6 -2
- package/dist/src/utils/PaymasterUtils.js.map +1 -1
- package/dist/src/utils/SwapUtils.d.ts +2 -2
- package/dist/src/utils/SwapUtils.js +43 -34
- package/dist/src/utils/SwapUtils.js.map +1 -1
- package/dist/src/utils/TypeUtils.js.map +1 -1
- package/dist/src/utils/UserOpUtils.d.ts +2 -2
- package/dist/src/utils/UserOpUtils.js +79 -65
- package/dist/src/utils/UserOpUtils.js.map +1 -1
- package/dist/src/utils/ViemUtils.d.ts +2 -2
- package/dist/src/utils/ViemUtils.js +10 -6
- package/dist/src/utils/ViemUtils.js.map +1 -1
- package/dist/src/utils/WalletUtils.d.ts +2 -2
- package/dist/src/utils/WalletUtils.js +6 -5
- package/dist/src/utils/WalletUtils.js.map +1 -1
- package/dist/src/utils/index.d.ts +8 -7
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/viem/ContractInterface.d.ts +4 -4
- package/dist/src/viem/ContractInterface.js +8 -8
- package/dist/src/viem/ContractInterface.js.map +1 -1
- package/dist/src/viem/Converter.d.ts +823 -1107
- package/dist/src/viem/Converter.js +13 -11
- package/dist/src/viem/Converter.js.map +1 -1
- package/dist/src/viem/index.d.ts +2 -2
- package/dist/src/wallet/FunWallet.d.ts +8 -8
- package/dist/src/wallet/FunWallet.js +141 -97
- package/dist/src/wallet/FunWallet.js.map +1 -1
- package/dist/src/wallet/index.d.ts +2 -2
- package/dist/src/wallet/types.d.ts +1 -1
- package/package.json +15 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../src/data/Chain.ts"],"names":[],"mappings":";;;AAAA,+BAA2E;AAE3E,
|
|
1
|
+
{"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../src/data/Chain.ts"],"names":[],"mappings":"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"}
|
package/dist/src/data/NFT.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Address } from
|
|
2
|
-
import { TransactionData } from
|
|
3
|
-
import { EnvOption } from
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
import { TransactionData } from '../common';
|
|
3
|
+
import { EnvOption } from '../config';
|
|
4
4
|
export declare class NFT {
|
|
5
5
|
address?: Address;
|
|
6
6
|
name: string;
|
package/dist/src/data/NFT.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NFT = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
|
-
const Chain_1 = require("./Chain");
|
|
6
5
|
const NFTApis_1 = require("../apis/NFTApis");
|
|
7
6
|
const common_1 = require("../common");
|
|
8
7
|
const errors_1 = require("../errors");
|
|
8
|
+
const Chain_1 = require("./Chain");
|
|
9
9
|
class NFT {
|
|
10
10
|
constructor(input) {
|
|
11
|
-
this.name =
|
|
11
|
+
this.name = '';
|
|
12
12
|
if (!input) {
|
|
13
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidNFTIdentifier,
|
|
13
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidNFTIdentifier, 'valid NFT identifier is required, could be address or name', { input }, 'Please provide valid NFT identifier', 'https://docs.fun.xyz');
|
|
14
14
|
}
|
|
15
15
|
if ((0, viem_1.isAddress)(input)) {
|
|
16
16
|
this.address = input;
|
|
@@ -21,22 +21,22 @@ class NFT {
|
|
|
21
21
|
}
|
|
22
22
|
async approve(spender, tokenId, options = globalThis.globalEnvOption) {
|
|
23
23
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
24
|
-
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(),
|
|
24
|
+
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'approve', [spender, tokenId]);
|
|
25
25
|
return { ...data, chain };
|
|
26
26
|
}
|
|
27
27
|
async ownerOf(tokenId, options = globalThis.globalEnvOption) {
|
|
28
28
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
29
|
-
return await common_1.ERC721_CONTRACT_INTERFACE.readFromChain(await this.getAddress(),
|
|
29
|
+
return await common_1.ERC721_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'ownerOf', [tokenId], chain);
|
|
30
30
|
}
|
|
31
31
|
async approveForAll(spender, options = globalThis.globalEnvOption) {
|
|
32
32
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
33
|
-
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(),
|
|
33
|
+
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'setApprovalForAll', [spender, true]);
|
|
34
34
|
return { ...data, chain };
|
|
35
35
|
}
|
|
36
36
|
async getAddress() {
|
|
37
37
|
if (!this.address) {
|
|
38
38
|
if (!this.name) {
|
|
39
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidNFTIdentifier,
|
|
39
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidNFTIdentifier, 'valid NFT identifier is required, could be address or name', {}, 'Please provide valid NFT identifier', 'https://docs.fun.xyz');
|
|
40
40
|
}
|
|
41
41
|
const nft = await (0, NFTApis_1.getNftAddress)(this.name);
|
|
42
42
|
return nft.address;
|
|
@@ -55,20 +55,20 @@ class NFT {
|
|
|
55
55
|
}
|
|
56
56
|
async getBalance(address, options = globalThis.globalEnvOption) {
|
|
57
57
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
58
|
-
return await common_1.ERC721_CONTRACT_INTERFACE.readFromChain(await this.getAddress(),
|
|
58
|
+
return await common_1.ERC721_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'balanceOf', [address], chain);
|
|
59
59
|
}
|
|
60
60
|
async getApproved(tokenId, options = globalThis.globalEnvOption) {
|
|
61
61
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
62
|
-
return await common_1.ERC721_CONTRACT_INTERFACE.readFromChain(await this.getAddress(),
|
|
62
|
+
return await common_1.ERC721_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'getApproved', [tokenId], chain);
|
|
63
63
|
}
|
|
64
64
|
async revokeForAll(spender, options = globalThis.globalEnvOption) {
|
|
65
65
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
66
|
-
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(),
|
|
66
|
+
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'setApprovalForAll', [spender, false]);
|
|
67
67
|
return { ...data, chain };
|
|
68
68
|
}
|
|
69
69
|
async transfer(sender, spender, tokenId, options = globalThis.globalEnvOption) {
|
|
70
70
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
71
|
-
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(),
|
|
71
|
+
const data = common_1.ERC721_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'transferFrom', [sender, spender, tokenId]);
|
|
72
72
|
return { ...data, chain };
|
|
73
73
|
}
|
|
74
74
|
static async approve(data, spender, tokenId, options = globalThis.globalEnvOption) {
|
package/dist/src/data/NFT.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NFT.js","sourceRoot":"","sources":["../../../src/data/NFT.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;
|
|
1
|
+
{"version":3,"file":"NFT.js","sourceRoot":"","sources":["../../../src/data/NFT.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Address, Hex } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { Address, Hex } from 'viem';
|
|
2
|
+
import { Auth } from '../auth';
|
|
3
|
+
import { EnvOption } from '../config';
|
|
4
|
+
import { Chain } from './Chain';
|
|
5
|
+
import { AuthType, OperationMetadata, OperationStatus, OperationType, Signature, UserOperation } from './types';
|
|
6
6
|
export declare class Operation {
|
|
7
7
|
opId?: Hex;
|
|
8
8
|
chainId: string;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Operation = void 0;
|
|
4
|
-
const Chain_1 = require("./Chain");
|
|
5
4
|
const constants_1 = require("../common/constants");
|
|
6
5
|
const utils_1 = require("../utils");
|
|
6
|
+
const Chain_1 = require("./Chain");
|
|
7
7
|
class Operation {
|
|
8
8
|
constructor(userOp, metadata) {
|
|
9
9
|
this.userOp = userOp;
|
|
10
|
-
this.userOp.preVerificationGas = userOp.preVerificationGas
|
|
10
|
+
this.userOp.preVerificationGas = userOp.preVerificationGas
|
|
11
|
+
? userOp.preVerificationGas
|
|
12
|
+
: (0, utils_1.calcPreVerificationGas)(this.userOp);
|
|
11
13
|
this.opId = metadata.opId;
|
|
12
14
|
this.chainId = metadata.chainId;
|
|
13
15
|
this.opType = metadata.opType;
|
|
@@ -31,33 +33,33 @@ class Operation {
|
|
|
31
33
|
}
|
|
32
34
|
static convertTypeToObject(op) {
|
|
33
35
|
return new Operation(op.userOp, {
|
|
34
|
-
...op
|
|
36
|
+
...op,
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
39
|
async getOpHash(chain) {
|
|
38
|
-
const entryPointAddress = await chain.getAddress(
|
|
39
|
-
return await constants_1.ENTRYPOINT_CONTRACT_INTERFACE.readFromChain(entryPointAddress,
|
|
40
|
+
const entryPointAddress = await chain.getAddress('entryPointAddress');
|
|
41
|
+
return await constants_1.ENTRYPOINT_CONTRACT_INTERFACE.readFromChain(entryPointAddress, 'getUserOpHash', [this.userOp], chain);
|
|
40
42
|
}
|
|
41
43
|
getMaxTxCost() {
|
|
42
|
-
const { maxFeePerGas, preVerificationGas, callGasLimit, verificationGasLimit } = this.userOp;
|
|
43
|
-
const mul = this.userOp.paymasterAndData !==
|
|
44
|
+
const { maxFeePerGas, preVerificationGas, callGasLimit, verificationGasLimit, } = this.userOp;
|
|
45
|
+
const mul = this.userOp.paymasterAndData !== '0x' ? 3n : 1n;
|
|
44
46
|
const additionalGas = preVerificationGas ? preVerificationGas : 0n;
|
|
45
47
|
const requiredGas = callGasLimit + verificationGasLimit * mul + additionalGas;
|
|
46
48
|
return BigInt(maxFeePerGas) * requiredGas;
|
|
47
49
|
}
|
|
48
50
|
async estimateGas(auth, userId, options = globalThis.globalEnvOption) {
|
|
49
|
-
if (!this.userOp.signature || this.userOp.signature ===
|
|
51
|
+
if (!this.userOp.signature || this.userOp.signature === '0x') {
|
|
50
52
|
this.userOp.signature = await auth.getEstimateGasSignature(userId, this);
|
|
51
53
|
}
|
|
52
54
|
const chain = await Chain_1.Chain.getChain({ chainIdentifier: options.chain });
|
|
53
55
|
const res = await chain.estimateOpGas({
|
|
54
56
|
...this.userOp,
|
|
55
|
-
paymasterAndData:
|
|
57
|
+
paymasterAndData: '0x',
|
|
56
58
|
maxFeePerGas: 0n,
|
|
57
59
|
maxPriorityFeePerGas: 0n,
|
|
58
60
|
preVerificationGas: 0n,
|
|
59
61
|
callGasLimit: 0n,
|
|
60
|
-
verificationGasLimit: BigInt(10e6)
|
|
62
|
+
verificationGasLimit: BigInt(10e6),
|
|
61
63
|
});
|
|
62
64
|
this.userOp.preVerificationGas = res.preVerificationGas;
|
|
63
65
|
this.userOp.verificationGasLimit = res.verificationGasLimit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../src/data/Operation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../src/data/Operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Address, Hex } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Address, Hex } from 'viem';
|
|
2
|
+
import { User } from '../wallet/types';
|
|
3
|
+
import { LoginData, WalletSignature } from './types';
|
|
4
4
|
export declare function encodeLoginData(data: LoginData): Hex;
|
|
5
5
|
export declare function encodeWalletSignature(data: WalletSignature): Hex;
|
|
6
6
|
export declare function encodeUserAuthInitData(groupUsers: User[]): Hex;
|
|
@@ -5,29 +5,40 @@ const abi_1 = require("@ethersproject/abi");
|
|
|
5
5
|
const viem_1 = require("viem");
|
|
6
6
|
const common_1 = require("../common");
|
|
7
7
|
const extraDataStructType = {
|
|
8
|
-
type:
|
|
9
|
-
components: [
|
|
8
|
+
type: 'tuple',
|
|
9
|
+
components: [
|
|
10
|
+
{ type: 'bytes32[]' },
|
|
11
|
+
{ type: 'bytes32[]' },
|
|
12
|
+
{ type: 'bytes32[]' },
|
|
13
|
+
{ type: 'bytes32[]' },
|
|
14
|
+
],
|
|
10
15
|
};
|
|
11
16
|
const walletSigEncodingTypes = [
|
|
12
|
-
{ type:
|
|
13
|
-
{ type:
|
|
14
|
-
{ type:
|
|
15
|
-
{ type:
|
|
16
|
-
{ type:
|
|
17
|
-
extraDataStructType
|
|
17
|
+
{ type: 'uint8' },
|
|
18
|
+
{ type: 'bytes32' },
|
|
19
|
+
{ type: 'bytes32' },
|
|
20
|
+
{ type: 'bytes32' },
|
|
21
|
+
{ type: 'bytes' },
|
|
22
|
+
extraDataStructType,
|
|
18
23
|
];
|
|
19
24
|
function encodeLoginData(data) {
|
|
20
25
|
let { loginType, newFunWalletOwner, index, socialHandle, salt } = data;
|
|
21
26
|
newFunWalletOwner = newFunWalletOwner ? newFunWalletOwner : common_1.AddressZero;
|
|
22
27
|
index = index ? BigInt(index) : 0n;
|
|
23
|
-
socialHandle = socialHandle ? socialHandle :
|
|
28
|
+
socialHandle = socialHandle ? socialHandle : '0x';
|
|
24
29
|
salt = salt ? salt : common_1.HashZero;
|
|
25
30
|
loginType = loginType ? loginType : 0;
|
|
26
31
|
return (0, viem_1.encodeAbiParameters)([
|
|
27
32
|
{
|
|
28
|
-
type:
|
|
29
|
-
components: [
|
|
30
|
-
|
|
33
|
+
type: 'tuple',
|
|
34
|
+
components: [
|
|
35
|
+
{ type: 'uint8' },
|
|
36
|
+
{ type: 'address' },
|
|
37
|
+
{ type: 'bytes32' },
|
|
38
|
+
{ type: 'uint256' },
|
|
39
|
+
{ type: 'bytes' },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
31
42
|
], [[loginType, newFunWalletOwner, salt, index, socialHandle]]);
|
|
32
43
|
}
|
|
33
44
|
exports.encodeLoginData = encodeLoginData;
|
|
@@ -45,8 +56,17 @@ function encodeWalletSignature(data) {
|
|
|
45
56
|
roleId ?? (roleId = common_1.HashZero);
|
|
46
57
|
ruleId ?? (ruleId = common_1.HashZero);
|
|
47
58
|
authType ?? (authType = 0);
|
|
48
|
-
const extraDataEncoded = extraData
|
|
49
|
-
|
|
59
|
+
const extraDataEncoded = extraData
|
|
60
|
+
? parseExtraData(extraData)
|
|
61
|
+
: [[], [], [], []];
|
|
62
|
+
return (0, viem_1.encodeAbiParameters)(walletSigEncodingTypes, [
|
|
63
|
+
authType,
|
|
64
|
+
userId,
|
|
65
|
+
roleId,
|
|
66
|
+
ruleId,
|
|
67
|
+
signature,
|
|
68
|
+
extraDataEncoded,
|
|
69
|
+
]).toLowerCase();
|
|
50
70
|
}
|
|
51
71
|
exports.encodeWalletSignature = encodeWalletSignature;
|
|
52
72
|
function encodeUserAuthInitData(groupUsers) {
|
|
@@ -58,15 +78,15 @@ function encodeUserAuthInitData(groupUsers) {
|
|
|
58
78
|
const sortedMemberIds = paddedMemberIds.sort((a, b) => (a > b ? -1 : 1));
|
|
59
79
|
groupInfos.push([sortedMemberIds, user.groupInfo.threshold]);
|
|
60
80
|
});
|
|
61
|
-
return abi_1.defaultAbiCoder.encode([
|
|
81
|
+
return abi_1.defaultAbiCoder.encode(['bytes32[]', 'tuple(bytes32[],uint256)[]'], [groupIds, groupInfos]);
|
|
62
82
|
}
|
|
63
83
|
exports.encodeUserAuthInitData = encodeUserAuthInitData;
|
|
64
84
|
function addresstoBytes32(data) {
|
|
65
|
-
return (0, viem_1.encodeAbiParameters)([{ type:
|
|
85
|
+
return (0, viem_1.encodeAbiParameters)([{ type: 'address' }], [data]);
|
|
66
86
|
}
|
|
67
87
|
exports.addresstoBytes32 = addresstoBytes32;
|
|
68
88
|
function toBytes32Arr(data) {
|
|
69
|
-
return (0, viem_1.encodeAbiParameters)([{ type:
|
|
89
|
+
return (0, viem_1.encodeAbiParameters)([{ type: 'bytes32[]' }], [data]);
|
|
70
90
|
}
|
|
71
91
|
exports.toBytes32Arr = toBytes32Arr;
|
|
72
92
|
//# sourceMappingURL=SolidityData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidityData.js","sourceRoot":"","sources":["../../../src/data/SolidityData.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AACpD,+BAA6D;AAE7D,sCAAiD;
|
|
1
|
+
{"version":3,"file":"SolidityData.js","sourceRoot":"","sources":["../../../src/data/SolidityData.ts"],"names":[],"mappings":"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"}
|
package/dist/src/data/Token.d.ts
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { Address } from
|
|
2
|
-
import { TransactionParams } from
|
|
3
|
-
import {
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
import { TransactionParams } from '../common';
|
|
3
|
+
import { Chain } from './Chain';
|
|
4
4
|
export declare class Token {
|
|
5
5
|
address?: Address;
|
|
6
|
+
chain: Chain;
|
|
6
7
|
isNative: boolean;
|
|
7
8
|
symbol: string;
|
|
8
|
-
constructor(input: Address | string);
|
|
9
|
-
getAddress(
|
|
10
|
-
getDecimals(
|
|
11
|
-
getBalance(address: Address
|
|
12
|
-
getBalanceBN(address: Address
|
|
13
|
-
getApproval(owner: string, spender: string
|
|
14
|
-
getDecimalAmount(amount: number
|
|
15
|
-
approve(spender: string, amount: number
|
|
16
|
-
transfer(spender: string, amount: number
|
|
17
|
-
static getAddress(data: string,
|
|
18
|
-
static getDecimals(data: string,
|
|
19
|
-
static getBalance(data: string, address: Address,
|
|
20
|
-
static getBalanceBN(data: string, address: Address,
|
|
21
|
-
static getApproval(data: string, owner: string, spender: string,
|
|
22
|
-
static getDecimalAmount(data: string, amount: number,
|
|
23
|
-
static approve(data: string, spender: string, amount: number,
|
|
24
|
-
static transfer(data: string, spender: string, amount: number,
|
|
9
|
+
constructor(input: Address | string, chain: Chain);
|
|
10
|
+
getAddress(): Promise<Address>;
|
|
11
|
+
getDecimals(): Promise<bigint>;
|
|
12
|
+
getBalance(address: Address): Promise<string>;
|
|
13
|
+
getBalanceBN(address: Address): Promise<bigint>;
|
|
14
|
+
getApproval(owner: string, spender: string): Promise<bigint>;
|
|
15
|
+
getDecimalAmount(amount: number | string): Promise<bigint>;
|
|
16
|
+
approve(spender: string, amount: number): Promise<TransactionParams>;
|
|
17
|
+
transfer(spender: string, amount: number): Promise<TransactionParams>;
|
|
18
|
+
static getAddress(data: string, chain: Chain): Promise<Address>;
|
|
19
|
+
static getDecimals(data: string, chain: Chain): Promise<bigint>;
|
|
20
|
+
static getBalance(data: string, address: Address, chain: Chain): Promise<string>;
|
|
21
|
+
static getBalanceBN(data: string, address: Address, chain: Chain): Promise<bigint>;
|
|
22
|
+
static getApproval(data: string, owner: string, spender: string, chain: Chain): Promise<bigint>;
|
|
23
|
+
static getDecimalAmount(data: string, amount: number, chain: Chain): Promise<bigint>;
|
|
24
|
+
static approve(data: string, spender: string, amount: number, chain: Chain): Promise<TransactionParams>;
|
|
25
|
+
static transfer(data: string, spender: string, amount: number, chain: Chain): Promise<TransactionParams>;
|
|
25
26
|
static isNative(data: string): boolean;
|
|
26
27
|
}
|
package/dist/src/data/Token.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Token = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
|
-
const Chain_1 = require("./Chain");
|
|
6
5
|
const apis_1 = require("../apis");
|
|
7
6
|
const common_1 = require("../common");
|
|
8
7
|
const errors_1 = require("../errors");
|
|
9
|
-
const wrappedNativeTokens = { eth:
|
|
8
|
+
const wrappedNativeTokens = { eth: 'weth', matic: 'wmatic' };
|
|
10
9
|
class Token {
|
|
11
|
-
constructor(input) {
|
|
10
|
+
constructor(input, chain) {
|
|
12
11
|
this.isNative = false;
|
|
13
|
-
this.symbol =
|
|
12
|
+
this.symbol = '';
|
|
13
|
+
this.chain = chain;
|
|
14
14
|
if ((0, viem_1.isAddress)(input)) {
|
|
15
15
|
this.address = input;
|
|
16
16
|
return;
|
|
@@ -20,9 +20,8 @@ class Token {
|
|
|
20
20
|
}
|
|
21
21
|
this.symbol = input.toLowerCase();
|
|
22
22
|
}
|
|
23
|
-
async getAddress(
|
|
24
|
-
const
|
|
25
|
-
const chainId = await chain.getChainId();
|
|
23
|
+
async getAddress() {
|
|
24
|
+
const chainId = await this.chain.getChainId();
|
|
26
25
|
if (this.isNative) {
|
|
27
26
|
const nativeName = wrappedNativeTokens[this.symbol];
|
|
28
27
|
return await (0, apis_1.getTokenInfo)(nativeName, chainId);
|
|
@@ -34,85 +33,84 @@ class Token {
|
|
|
34
33
|
return await (0, apis_1.getTokenInfo)(this.symbol, chainId);
|
|
35
34
|
}
|
|
36
35
|
else {
|
|
37
|
-
throw new errors_1.InternalFailureError(errors_1.ErrorCode.ServerMissingData,
|
|
36
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.ServerMissingData, 'server missing token symbol and address info', { symbol: this.symbol, address: this.address, isNative: this.isNative }, 'Please check token symbol and address. If things look correct, contract fun support for help', 'https://docs.fun.xyz');
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
async getDecimals(
|
|
39
|
+
async getDecimals() {
|
|
41
40
|
if (this.isNative) {
|
|
42
41
|
return 18n;
|
|
43
42
|
}
|
|
44
|
-
|
|
45
|
-
return await common_1.ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(options), "decimals", [], chain);
|
|
43
|
+
return await common_1.ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'decimals', [], this.chain);
|
|
46
44
|
}
|
|
47
|
-
async getBalance(address
|
|
48
|
-
const amount = await this.getBalanceBN(address
|
|
49
|
-
const decimals = await this.getDecimals(
|
|
45
|
+
async getBalance(address) {
|
|
46
|
+
const amount = await this.getBalanceBN(address);
|
|
47
|
+
const decimals = await this.getDecimals();
|
|
50
48
|
return (0, viem_1.formatUnits)(amount, Number(decimals));
|
|
51
49
|
}
|
|
52
|
-
async getBalanceBN(address
|
|
53
|
-
const chain =
|
|
50
|
+
async getBalanceBN(address) {
|
|
51
|
+
const chain = this.chain;
|
|
54
52
|
let amount = 0n;
|
|
55
53
|
if (this.isNative) {
|
|
56
54
|
const client = await chain.getClient();
|
|
57
55
|
amount = await client.getBalance({ address });
|
|
58
56
|
}
|
|
59
57
|
else {
|
|
60
|
-
amount = await common_1.ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(),
|
|
58
|
+
amount = await common_1.ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'balanceOf', [address], chain);
|
|
61
59
|
}
|
|
62
60
|
return amount;
|
|
63
61
|
}
|
|
64
|
-
async getApproval(owner, spender
|
|
62
|
+
async getApproval(owner, spender) {
|
|
65
63
|
if (this.isNative) {
|
|
66
|
-
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter,
|
|
64
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidParameter, 'Native token can not approve', { isNative: this.isNative }, 'No need to approve native token', 'https://docs.fun.xyz');
|
|
67
65
|
}
|
|
68
|
-
const chain =
|
|
69
|
-
return BigInt(await common_1.ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(
|
|
66
|
+
const chain = this.chain;
|
|
67
|
+
return BigInt(await common_1.ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'allowance', [owner, spender], chain));
|
|
70
68
|
}
|
|
71
|
-
async getDecimalAmount(amount
|
|
72
|
-
const decimals = await this.getDecimals(
|
|
69
|
+
async getDecimalAmount(amount) {
|
|
70
|
+
const decimals = await this.getDecimals();
|
|
73
71
|
return (0, viem_1.parseUnits)(`${amount}`, Number(decimals));
|
|
74
72
|
}
|
|
75
|
-
async approve(spender, amount
|
|
73
|
+
async approve(spender, amount) {
|
|
76
74
|
const amountDec = await this.getDecimalAmount(amount);
|
|
77
|
-
const calldata = common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(
|
|
75
|
+
const calldata = common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'approve', [spender, amountDec]);
|
|
78
76
|
const { to, data, value } = calldata;
|
|
79
77
|
return { to: to, data: data, value: value };
|
|
80
78
|
}
|
|
81
|
-
async transfer(spender, amount
|
|
79
|
+
async transfer(spender, amount) {
|
|
82
80
|
const amountDec = await this.getDecimalAmount(amount);
|
|
83
|
-
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(
|
|
81
|
+
return common_1.ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'transfer', [spender, amountDec]);
|
|
84
82
|
}
|
|
85
|
-
static async getAddress(data,
|
|
86
|
-
const token = new Token(data);
|
|
87
|
-
return await token.getAddress(
|
|
83
|
+
static async getAddress(data, chain) {
|
|
84
|
+
const token = new Token(data, chain);
|
|
85
|
+
return await token.getAddress();
|
|
88
86
|
}
|
|
89
|
-
static async getDecimals(data,
|
|
90
|
-
const token = new Token(data);
|
|
91
|
-
return await token.getDecimals(
|
|
87
|
+
static async getDecimals(data, chain) {
|
|
88
|
+
const token = new Token(data, chain);
|
|
89
|
+
return await token.getDecimals();
|
|
92
90
|
}
|
|
93
|
-
static async getBalance(data, address,
|
|
94
|
-
const token = new Token(data);
|
|
95
|
-
return await token.getBalance(address
|
|
91
|
+
static async getBalance(data, address, chain) {
|
|
92
|
+
const token = new Token(data, chain);
|
|
93
|
+
return await token.getBalance(address);
|
|
96
94
|
}
|
|
97
|
-
static async getBalanceBN(data, address,
|
|
98
|
-
const token = new Token(data);
|
|
99
|
-
return await token.getBalanceBN(address
|
|
95
|
+
static async getBalanceBN(data, address, chain) {
|
|
96
|
+
const token = new Token(data, chain);
|
|
97
|
+
return await token.getBalanceBN(address);
|
|
100
98
|
}
|
|
101
|
-
static async getApproval(data, owner, spender,
|
|
102
|
-
const token = new Token(data);
|
|
103
|
-
return await token.getApproval(owner, spender
|
|
99
|
+
static async getApproval(data, owner, spender, chain) {
|
|
100
|
+
const token = new Token(data, chain);
|
|
101
|
+
return await token.getApproval(owner, spender);
|
|
104
102
|
}
|
|
105
|
-
static async getDecimalAmount(data, amount,
|
|
106
|
-
const token = new Token(data);
|
|
107
|
-
return await token.getDecimalAmount(amount
|
|
103
|
+
static async getDecimalAmount(data, amount, chain) {
|
|
104
|
+
const token = new Token(data, chain);
|
|
105
|
+
return await token.getDecimalAmount(amount);
|
|
108
106
|
}
|
|
109
|
-
static async approve(data, spender, amount,
|
|
110
|
-
const token = new Token(data);
|
|
111
|
-
return await token.approve(spender, amount
|
|
107
|
+
static async approve(data, spender, amount, chain) {
|
|
108
|
+
const token = new Token(data, chain);
|
|
109
|
+
return await token.approve(spender, amount);
|
|
112
110
|
}
|
|
113
|
-
static async transfer(data, spender, amount,
|
|
114
|
-
const token = new Token(data);
|
|
115
|
-
return await token.transfer(spender, amount
|
|
111
|
+
static async transfer(data, spender, amount, chain) {
|
|
112
|
+
const token = new Token(data, chain);
|
|
113
|
+
return await token.transfer(spender, amount);
|
|
116
114
|
}
|
|
117
115
|
static isNative(data) {
|
|
118
116
|
return data.toLowerCase() in wrappedNativeTokens;
|