@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,153 @@
|
|
|
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.BYTES32_LENGTH = exports.VALID_PRIVATE_KEY_LENGTH = exports.ETH_TRANSFER_SELECTOR = exports.gasSpecificChain = exports.CONTRACT_ADDRESSES = exports.UNISWAP_V3_LIMIT_ORDER_CONTRACT_INTERFACE = exports.USER_AUTHENTICATION_CONTRACT_INTERFACE = exports.RBAC_CONTRACT_INTERFACE = exports.UNISWAPV2ROUTER02_INTERFACE = exports.UNISWAPV2FACTORY_INTERFACE = exports.APPROVE_AND_EXEC_CONTRACT_INTERFACE = exports.POOL_CONTRACT_INTERFACE = exports.WALLET_CONTRACT_INTERFACE = exports.TOKEN_PAYMASTER_CONTRACT_INTERFACE = exports.GASLESS_PAYMASTER_CONTRACT_INTERFACE = exports.FACTORY_CONTRACT_INTERFACE = exports.ERC20_CONTRACT_INTERFACE = exports.ERC721_CONTRACT_INTERFACE = exports.ENTRYPOINT_CONTRACT_INTERFACE = exports.ESTIMATION_PAYMASTER_ABI = exports.USER_AUTHENTICATION_ABI = exports.ROLE_BASED_ACCESS_CONTROL_ABI = exports.UNISWAPV2ROUTER02_ABI = exports.UNISWAPV2FACTORY_ABI = exports.UNISWAP_V3_LIMIT_ORDER_ABI = exports.ERC_721_ABI = exports.WITHDRAW_QUEUE_ABI = exports.TOKEN_PAYMASTER_ABI = exports.GASLESS_PAYMASTER_ABI = exports.FACTORY_ABI = exports.WALLET_ABI = exports.ERC20_ABI = exports.ENTRYPOINT_ABI = exports.APPROVE_AND_SWAP_ABI = exports.APPROVE_AND_EXEC_ABI = exports.HashZero = exports.AddressZero = exports.GASLESS_SPONSOR_SUPPORT_CHAINS = exports.TOKEN_SPONSOR_SUPPORT_CHAINS = exports.FUN_TOKEN_SPONSOR_ADDRESS = exports.FUN_GASLESS_SPONSOR_ADDRESS = exports.BASE_WRAP_TOKEN_ADDR = exports.DASHBOARD_API_URL = exports.API_URL = exports.LOCAL_API_URL = void 0;
|
|
7
|
+
const IUniswapV3Pool_json_1 = __importDefault(require("@uniswap/v3-core/artifacts/contracts/interfaces/IUniswapV3Pool.sol/IUniswapV3Pool.json"));
|
|
8
|
+
const viem_1 = require("viem");
|
|
9
|
+
const ApproveAndExec_json_1 = __importDefault(require("../abis/ApproveAndExec.json"));
|
|
10
|
+
const ApproveAndSwap_json_1 = __importDefault(require("../abis/ApproveAndSwap.json"));
|
|
11
|
+
const EntryPoint_json_1 = __importDefault(require("../abis/EntryPoint.json"));
|
|
12
|
+
const ERC20_json_1 = __importDefault(require("../abis/ERC20.json"));
|
|
13
|
+
const ERC721_json_1 = __importDefault(require("../abis/ERC721.json"));
|
|
14
|
+
const EstimationPaymaster_json_1 = __importDefault(require("../abis/EstimationPaymaster.json"));
|
|
15
|
+
const FeePercentOracle_json_1 = __importDefault(require("../abis/FeePercentOracle.json"));
|
|
16
|
+
const FunWallet_json_1 = __importDefault(require("../abis/FunWallet.json"));
|
|
17
|
+
const FunWalletFactory_json_1 = __importDefault(require("../abis/FunWalletFactory.json"));
|
|
18
|
+
const GaslessPaymaster_json_1 = __importDefault(require("../abis/GaslessPaymaster.json"));
|
|
19
|
+
const LidoWithdrawQueue_json_1 = __importDefault(require("../abis/LidoWithdrawQueue.json"));
|
|
20
|
+
const RoleBasedAccessControl_json_1 = __importDefault(require("../abis/RoleBasedAccessControl.json"));
|
|
21
|
+
const TestNFT_json_1 = __importDefault(require("../abis/TestNFT.json"));
|
|
22
|
+
const TokenPaymaster_json_1 = __importDefault(require("../abis/TokenPaymaster.json"));
|
|
23
|
+
const TokenPriceOracle_json_1 = __importDefault(require("../abis/TokenPriceOracle.json"));
|
|
24
|
+
const UniswapV2Factory_json_1 = __importDefault(require("../abis/UniswapV2Factory.json"));
|
|
25
|
+
const UniswapV2Router02_json_1 = __importDefault(require("../abis/UniswapV2Router02.json"));
|
|
26
|
+
const UniswapV3LimitOrder_json_1 = __importDefault(require("../abis/UniswapV3LimitOrder.json"));
|
|
27
|
+
const univ3factory_json_1 = __importDefault(require("../abis/univ3factory.json"));
|
|
28
|
+
const univ3quoter_json_1 = __importDefault(require("../abis/univ3quoter.json"));
|
|
29
|
+
const univ3router_json_1 = __importDefault(require("../abis/univ3router.json"));
|
|
30
|
+
const UserAuthentication_json_1 = __importDefault(require("../abis/UserAuthentication.json"));
|
|
31
|
+
const ContractInterface_1 = require("../viem/ContractInterface");
|
|
32
|
+
// local environment
|
|
33
|
+
exports.LOCAL_API_URL = "http://127.0.0.1:3000";
|
|
34
|
+
// prod
|
|
35
|
+
let API_URL = "https://api.fun.xyz/v1";
|
|
36
|
+
exports.API_URL = API_URL;
|
|
37
|
+
switch (process.env.NODE_ENV) {
|
|
38
|
+
case "staging":
|
|
39
|
+
exports.API_URL = API_URL = "https://api.fun.xyz/staging/v1";
|
|
40
|
+
break;
|
|
41
|
+
case "testing":
|
|
42
|
+
exports.API_URL = API_URL = "https://api.fun.xyz/testing";
|
|
43
|
+
break;
|
|
44
|
+
case "local":
|
|
45
|
+
exports.API_URL = API_URL = exports.LOCAL_API_URL;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
exports.DASHBOARD_API_URL = "https://api.fun.xyz/dashboard";
|
|
49
|
+
exports.BASE_WRAP_TOKEN_ADDR = {
|
|
50
|
+
"1": {
|
|
51
|
+
weth: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
|
|
52
|
+
},
|
|
53
|
+
"5": {
|
|
54
|
+
weth: "0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"
|
|
55
|
+
},
|
|
56
|
+
"10": {
|
|
57
|
+
weth: "0x4200000000000000000000000000000000000006"
|
|
58
|
+
},
|
|
59
|
+
"137": {
|
|
60
|
+
wmatic: "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"
|
|
61
|
+
},
|
|
62
|
+
"8453": {
|
|
63
|
+
weth: "0x4200000000000000000000000000000000000006"
|
|
64
|
+
},
|
|
65
|
+
"36865": {
|
|
66
|
+
weth: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
|
|
67
|
+
},
|
|
68
|
+
"42161": {
|
|
69
|
+
weth: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"
|
|
70
|
+
},
|
|
71
|
+
"43113": {
|
|
72
|
+
weth: "0x1D308089a2D1Ced3f1Ce36B1FcaF815b07217be3"
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
// When update this, also remember to update the address in api service
|
|
76
|
+
exports.FUN_GASLESS_SPONSOR_ADDRESS = "0xCB5D0b4569A39C217c243a436AC3feEe5dFeb9Ad";
|
|
77
|
+
exports.FUN_TOKEN_SPONSOR_ADDRESS = "0x40C0cCa76088D45106c2D74D0B4B6405865f22De";
|
|
78
|
+
exports.TOKEN_SPONSOR_SUPPORT_CHAINS = ["1", "5", "10", "137", "8453", "42161"];
|
|
79
|
+
exports.GASLESS_SPONSOR_SUPPORT_CHAINS = ["5"];
|
|
80
|
+
exports.AddressZero = (0, viem_1.padHex)("0x", { size: 20 });
|
|
81
|
+
exports.HashZero = (0, viem_1.padHex)("0x", { size: 32 });
|
|
82
|
+
// abis
|
|
83
|
+
exports.APPROVE_AND_EXEC_ABI = ApproveAndExec_json_1.default["abi"];
|
|
84
|
+
exports.APPROVE_AND_SWAP_ABI = ApproveAndSwap_json_1.default["abi"];
|
|
85
|
+
exports.ENTRYPOINT_ABI = EntryPoint_json_1.default["abi"];
|
|
86
|
+
exports.ERC20_ABI = ERC20_json_1.default["abi"];
|
|
87
|
+
exports.WALLET_ABI = FunWallet_json_1.default["abi"];
|
|
88
|
+
exports.FACTORY_ABI = FunWalletFactory_json_1.default["abi"];
|
|
89
|
+
exports.GASLESS_PAYMASTER_ABI = GaslessPaymaster_json_1.default["abi"];
|
|
90
|
+
exports.TOKEN_PAYMASTER_ABI = TokenPaymaster_json_1.default["abi"];
|
|
91
|
+
exports.WITHDRAW_QUEUE_ABI = LidoWithdrawQueue_json_1.default["abi"];
|
|
92
|
+
exports.ERC_721_ABI = ERC721_json_1.default["abi"];
|
|
93
|
+
exports.UNISWAP_V3_LIMIT_ORDER_ABI = UniswapV3LimitOrder_json_1.default["abi"];
|
|
94
|
+
exports.UNISWAPV2FACTORY_ABI = UniswapV2Factory_json_1.default["abi"];
|
|
95
|
+
exports.UNISWAPV2ROUTER02_ABI = UniswapV2Router02_json_1.default["abi"];
|
|
96
|
+
exports.ROLE_BASED_ACCESS_CONTROL_ABI = RoleBasedAccessControl_json_1.default["abi"];
|
|
97
|
+
exports.USER_AUTHENTICATION_ABI = UserAuthentication_json_1.default["abi"];
|
|
98
|
+
exports.ESTIMATION_PAYMASTER_ABI = EstimationPaymaster_json_1.default["abi"];
|
|
99
|
+
// contract interface
|
|
100
|
+
exports.ENTRYPOINT_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.ENTRYPOINT_ABI);
|
|
101
|
+
exports.ERC721_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.ERC_721_ABI);
|
|
102
|
+
exports.ERC20_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.ERC20_ABI);
|
|
103
|
+
exports.FACTORY_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.FACTORY_ABI);
|
|
104
|
+
exports.GASLESS_PAYMASTER_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.GASLESS_PAYMASTER_ABI);
|
|
105
|
+
exports.TOKEN_PAYMASTER_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.TOKEN_PAYMASTER_ABI);
|
|
106
|
+
exports.WALLET_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.WALLET_ABI);
|
|
107
|
+
exports.POOL_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(IUniswapV3Pool_json_1.default["abi"]);
|
|
108
|
+
exports.APPROVE_AND_EXEC_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.APPROVE_AND_EXEC_ABI);
|
|
109
|
+
exports.UNISWAPV2FACTORY_INTERFACE = new ContractInterface_1.ContractInterface(exports.UNISWAPV2FACTORY_ABI);
|
|
110
|
+
exports.UNISWAPV2ROUTER02_INTERFACE = new ContractInterface_1.ContractInterface(exports.UNISWAPV2ROUTER02_ABI);
|
|
111
|
+
exports.RBAC_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.ROLE_BASED_ACCESS_CONTROL_ABI);
|
|
112
|
+
exports.USER_AUTHENTICATION_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.USER_AUTHENTICATION_ABI);
|
|
113
|
+
exports.UNISWAP_V3_LIMIT_ORDER_CONTRACT_INTERFACE = new ContractInterface_1.ContractInterface(exports.UNISWAP_V3_LIMIT_ORDER_ABI);
|
|
114
|
+
exports.CONTRACT_ADDRESSES = {
|
|
115
|
+
approveAndExecAddress: ApproveAndExec_json_1.default["addresses"],
|
|
116
|
+
tokenSwapAddress: ApproveAndSwap_json_1.default["addresses"],
|
|
117
|
+
entryPointAddress: EntryPoint_json_1.default["addresses"],
|
|
118
|
+
factoryAddress: FunWalletFactory_json_1.default["addresses"],
|
|
119
|
+
gaslessPaymasterAddress: GaslessPaymaster_json_1.default["addresses"],
|
|
120
|
+
estimationPaymasterAddress: EstimationPaymaster_json_1.default["addresses"],
|
|
121
|
+
tokenPaymasterAddress: TokenPaymaster_json_1.default["addresses"],
|
|
122
|
+
oracle: TokenPriceOracle_json_1.default["addresses"],
|
|
123
|
+
userAuthAddress: UserAuthentication_json_1.default["addresses"],
|
|
124
|
+
rbacAddress: RoleBasedAccessControl_json_1.default["addresses"],
|
|
125
|
+
feeOracle: FeePercentOracle_json_1.default["addresses"],
|
|
126
|
+
uniswapv3LimitOrder: UniswapV3LimitOrder_json_1.default["addresses"],
|
|
127
|
+
univ3factory: univ3factory_json_1.default["addresses"],
|
|
128
|
+
univ3quoter: univ3quoter_json_1.default["addresses"],
|
|
129
|
+
univ3router: univ3router_json_1.default["addresses"],
|
|
130
|
+
UniswapV2Factory: UniswapV2Factory_json_1.default["addresses"],
|
|
131
|
+
UniswapV2Router02: UniswapV2Router02_json_1.default["addresses"],
|
|
132
|
+
TestNFT: TestNFT_json_1.default["addresses"],
|
|
133
|
+
funGaslessSponsorAddress: { "5": exports.FUN_GASLESS_SPONSOR_ADDRESS },
|
|
134
|
+
funTokenSponsorAddress: {
|
|
135
|
+
"1": exports.FUN_TOKEN_SPONSOR_ADDRESS,
|
|
136
|
+
"5": exports.FUN_TOKEN_SPONSOR_ADDRESS,
|
|
137
|
+
"10": exports.FUN_TOKEN_SPONSOR_ADDRESS,
|
|
138
|
+
"137": exports.FUN_TOKEN_SPONSOR_ADDRESS,
|
|
139
|
+
"8453": exports.FUN_TOKEN_SPONSOR_ADDRESS,
|
|
140
|
+
"42161": exports.FUN_TOKEN_SPONSOR_ADDRESS
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
exports.gasSpecificChain = {
|
|
144
|
+
"137": {
|
|
145
|
+
gasStationUrl: "https://gasstation.polygon.technology/v2",
|
|
146
|
+
backupPriorityFee: "1000",
|
|
147
|
+
backupFee: "200" // 200 gwei
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
exports.ETH_TRANSFER_SELECTOR = "0x00000000";
|
|
151
|
+
exports.VALID_PRIVATE_KEY_LENGTH = 64;
|
|
152
|
+
exports.BYTES32_LENGTH = 66;
|
|
153
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./constants"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,0CAAuB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Address, Hex } from "viem";
|
|
2
|
+
import { Chain } from "../data";
|
|
3
|
+
type BigIntIsh = bigint | number | string | undefined;
|
|
4
|
+
export type TransactionParams = {
|
|
5
|
+
to: Address;
|
|
6
|
+
value?: BigIntIsh;
|
|
7
|
+
data?: Hex;
|
|
8
|
+
};
|
|
9
|
+
export interface TransactionData extends TransactionParams {
|
|
10
|
+
chain?: Chain;
|
|
11
|
+
}
|
|
12
|
+
export interface TransactionDataWithFee extends TransactionData {
|
|
13
|
+
token?: string;
|
|
14
|
+
amount?: BigIntIsh;
|
|
15
|
+
gasPercent?: BigIntIsh;
|
|
16
|
+
recipient?: Address;
|
|
17
|
+
oracle?: Address;
|
|
18
|
+
}
|
|
19
|
+
export interface ExecutionReceipt {
|
|
20
|
+
userOpHash: string;
|
|
21
|
+
txId?: Hex;
|
|
22
|
+
gasUsed?: string;
|
|
23
|
+
opFeeUSD?: string;
|
|
24
|
+
opFee?: string;
|
|
25
|
+
}
|
|
26
|
+
export type EstimateGasResult = {
|
|
27
|
+
verificationGas?: bigint;
|
|
28
|
+
preVerificationGas: bigint;
|
|
29
|
+
verificationGasLimit: bigint;
|
|
30
|
+
callGasLimit: bigint;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configureEnvironment = exports.parseOptions = void 0;
|
|
4
|
+
const data_1 = require("../data");
|
|
5
|
+
const errors_1 = require("../errors");
|
|
6
|
+
function parseOptions(option) {
|
|
7
|
+
const globalOptions = globalThis.globalEnvOption;
|
|
8
|
+
return { ...globalOptions, ...option };
|
|
9
|
+
}
|
|
10
|
+
exports.parseOptions = parseOptions;
|
|
11
|
+
async function configureEnvironment(option) {
|
|
12
|
+
const global = globalThis;
|
|
13
|
+
if (!global.globalEnvOption) {
|
|
14
|
+
global.globalEnvOption = {};
|
|
15
|
+
}
|
|
16
|
+
const globalEnvOption = global.globalEnvOption;
|
|
17
|
+
if ((!option || !option.chain) && !globalEnvOption.chain) {
|
|
18
|
+
globalEnvOption.chain = await data_1.Chain.getChain({ chainIdentifier: 5 });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
globalEnvOption.chain = option.chain ? await data_1.Chain.getChain({ chainIdentifier: option.chain }) : globalEnvOption.chain;
|
|
22
|
+
}
|
|
23
|
+
globalEnvOption.apiKey = option.apiKey ? option.apiKey : globalEnvOption.apiKey;
|
|
24
|
+
if (!globalEnvOption.apiKey) {
|
|
25
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.MissingParameter, "apiKey is required", { option }, "Provide apiKey when configureEnvironment.", "https://docs.fun.xyz");
|
|
26
|
+
}
|
|
27
|
+
if (option.gasSponsor !== null && option.gasSponsor !== undefined) {
|
|
28
|
+
if (Object.keys(option.gasSponsor).length !== 0) {
|
|
29
|
+
if (option.gasSponsor.token) {
|
|
30
|
+
const usePermit = option.gasSponsor.usePermit === false ? false : true;
|
|
31
|
+
globalEnvOption.gasSponsor = { ...option.gasSponsor, usePermit };
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
globalEnvOption.gasSponsor = { ...option.gasSponsor };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
globalEnvOption.gasSponsor = {};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
globalEnvOption.fee = option.fee ? option.fee : globalEnvOption.fee;
|
|
42
|
+
globalEnvOption.skipDBAction =
|
|
43
|
+
option.skipDBAction === null || option.skipDBAction === undefined ? globalEnvOption.skipDBAction : option.skipDBAction;
|
|
44
|
+
}
|
|
45
|
+
exports.configureEnvironment = configureEnvironment;
|
|
46
|
+
//# sourceMappingURL=Config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/config/Config.ts"],"names":[],"mappings":";;;AACA,kCAA+B;AAC/B,sCAA4D;AAE5D,SAAgB,YAAY,CAAC,MAAiB;IAC1C,MAAM,aAAa,GAAI,UAAkB,CAAC,eAAe,CAAA;IACzD,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,CAAA;AAC1C,CAAC;AAHD,oCAGC;AAEM,KAAK,UAAU,oBAAoB,CAAC,MAAuB;IAC9D,MAAM,MAAM,GAAG,UAAiB,CAAA;IAChC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;QACzB,MAAM,CAAC,eAAe,GAAG,EAAE,CAAA;KAC9B;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;IAE9C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;QACtD,eAAe,CAAC,KAAK,GAAG,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAA;KACvE;SAAM;QACH,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,YAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAA;KACzH;IAED,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAA;IAC/E,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QACzB,MAAM,IAAI,8BAAqB,CAC3B,kBAAS,CAAC,gBAAgB,EAC1B,oBAAoB,EACpB,EAAE,MAAM,EAAE,EACV,2CAA2C,EAC3C,sBAAsB,CACzB,CAAA;KACJ;IAED,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;QAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE;gBACzB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;gBACtE,eAAe,CAAC,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,CAAA;aACnE;iBAAM;gBACH,eAAe,CAAC,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;aACxD;SACJ;aAAM;YACH,eAAe,CAAC,UAAU,GAAG,EAAE,CAAA;SAClC;KACJ;IACD,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAA;IACnE,eAAe,CAAC,YAAY;QACxB,MAAM,CAAC,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;AAC9H,CAAC;AAvCD,oDAuCC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./Config"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,0CAAuB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Address } from "viem";
|
|
2
|
+
import { Chain } from "../data";
|
|
3
|
+
export interface EnvOption {
|
|
4
|
+
chain: string | Chain | number;
|
|
5
|
+
gasSponsor?: {
|
|
6
|
+
sponsorAddress?: Address;
|
|
7
|
+
token?: string;
|
|
8
|
+
usePermit?: boolean;
|
|
9
|
+
};
|
|
10
|
+
fee?: {
|
|
11
|
+
token?: string;
|
|
12
|
+
amount?: number;
|
|
13
|
+
gasPercent?: number;
|
|
14
|
+
recipient: Address;
|
|
15
|
+
};
|
|
16
|
+
skipDBAction?: boolean;
|
|
17
|
+
nonce?: bigint;
|
|
18
|
+
}
|
|
19
|
+
export interface GlobalEnvOption extends EnvOption {
|
|
20
|
+
apiKey?: string;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Address, Hex, PublicClient } from "viem";
|
|
2
|
+
import { ChainInput, UserOperation } from "./types";
|
|
3
|
+
import { EstimateGasResult } from "../common";
|
|
4
|
+
export declare class Chain {
|
|
5
|
+
private initialized;
|
|
6
|
+
private id?;
|
|
7
|
+
private name?;
|
|
8
|
+
private addresses;
|
|
9
|
+
private currency?;
|
|
10
|
+
private rpcUrl?;
|
|
11
|
+
private client?;
|
|
12
|
+
private static chain;
|
|
13
|
+
private constructor();
|
|
14
|
+
static getChain(chainInput: ChainInput): Promise<Chain>;
|
|
15
|
+
private init;
|
|
16
|
+
private loadChainFromRpc;
|
|
17
|
+
private loadChain;
|
|
18
|
+
getChainId(): Promise<string>;
|
|
19
|
+
getChainName(): Promise<string>;
|
|
20
|
+
getRpcUrl(): Promise<string>;
|
|
21
|
+
getAddress(name: string): Promise<Address>;
|
|
22
|
+
getModuleAddresses(name: string): Promise<string[]>;
|
|
23
|
+
getCurrency(): Promise<string>;
|
|
24
|
+
getClient(): Promise<PublicClient>;
|
|
25
|
+
getFeeData(): Promise<bigint>;
|
|
26
|
+
estimateOpGas(partialOp: UserOperation): Promise<EstimateGasResult>;
|
|
27
|
+
getTxId(userOpHash: string, timeout?: number, interval?: number, fromBlock?: bigint): Promise<Hex | null>;
|
|
28
|
+
addressIsContract(address: Address): Promise<boolean>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Chain = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const apis_1 = require("../apis");
|
|
6
|
+
const common_1 = require("../common");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
|
+
class Chain {
|
|
10
|
+
constructor(chainInput) {
|
|
11
|
+
this.initialized = false;
|
|
12
|
+
this.addresses = {};
|
|
13
|
+
if (!chainInput.chainIdentifier && !chainInput.rpcUrl) {
|
|
14
|
+
throw new errors_1.InvalidParameterError(errors_1.ErrorCode.InvalidChainIdentifier, "valid chain identifier or rpcUrl is required, could be chainId, chainName, Fun Chain object, or rpcUrl", { chainInput }, "Please provide valid chain identifier or rpcUrl", "https://docs.fun.xyz");
|
|
15
|
+
}
|
|
16
|
+
if (chainInput.rpcUrl) {
|
|
17
|
+
this.rpcUrl = chainInput.rpcUrl;
|
|
18
|
+
}
|
|
19
|
+
else if (chainInput.chainIdentifier instanceof Chain) {
|
|
20
|
+
return chainInput.chainIdentifier;
|
|
21
|
+
}
|
|
22
|
+
else if (typeof chainInput.chainIdentifier === "number" || Number(chainInput.chainIdentifier)) {
|
|
23
|
+
this.id = chainInput.chainIdentifier.toString();
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
this.name = chainInput.chainIdentifier;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
static async getChain(chainInput) {
|
|
30
|
+
if (chainInput.chainIdentifier instanceof Chain) {
|
|
31
|
+
return chainInput.chainIdentifier;
|
|
32
|
+
}
|
|
33
|
+
else if (!Chain.chain ||
|
|
34
|
+
((await Chain.chain.getChainId()) !== chainInput.chainIdentifier?.toString() &&
|
|
35
|
+
(await Chain.chain.getChainName()) !== chainInput.chainIdentifier?.toString() &&
|
|
36
|
+
(await Chain.chain.getRpcUrl()) !== chainInput.rpcUrl)) {
|
|
37
|
+
if (typeof chainInput.chainIdentifier === "string") {
|
|
38
|
+
chainInput.chainIdentifier = chainInput.chainIdentifier.replace(/\s/g, "");
|
|
39
|
+
}
|
|
40
|
+
if (chainInput.chainIdentifier === "ethereum-goerli") {
|
|
41
|
+
chainInput.chainIdentifier = "goerli";
|
|
42
|
+
}
|
|
43
|
+
if (chainInput.chainIdentifier === "polygon") {
|
|
44
|
+
chainInput.chainIdentifier = "polygon-mainnet";
|
|
45
|
+
}
|
|
46
|
+
Chain.chain = new Chain(chainInput);
|
|
47
|
+
}
|
|
48
|
+
return Chain.chain;
|
|
49
|
+
}
|
|
50
|
+
async init() {
|
|
51
|
+
if (this.initialized)
|
|
52
|
+
return;
|
|
53
|
+
if (this.id) {
|
|
54
|
+
await this.loadChain(this.id);
|
|
55
|
+
}
|
|
56
|
+
else if (this.name) {
|
|
57
|
+
await this.loadChain(this.name);
|
|
58
|
+
}
|
|
59
|
+
else if (this.rpcUrl) {
|
|
60
|
+
await this.loadChainFromRpc();
|
|
61
|
+
}
|
|
62
|
+
this.initialized = true;
|
|
63
|
+
}
|
|
64
|
+
async loadChainFromRpc() {
|
|
65
|
+
this.client = (0, viem_1.createPublicClient)({
|
|
66
|
+
transport: (0, viem_1.http)(this.rpcUrl)
|
|
67
|
+
});
|
|
68
|
+
this.id = (await this.client.getChainId()).toString();
|
|
69
|
+
await this.loadChain(this.id);
|
|
70
|
+
}
|
|
71
|
+
async loadChain(identifier) {
|
|
72
|
+
let chain;
|
|
73
|
+
if (!Number(identifier)) {
|
|
74
|
+
chain = await (0, apis_1.getChainFromName)(identifier);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
chain = await (0, apis_1.getChainFromId)(identifier);
|
|
78
|
+
}
|
|
79
|
+
this.id = chain.id;
|
|
80
|
+
this.name = chain.name;
|
|
81
|
+
this.currency = chain.nativeCurrency.symbol;
|
|
82
|
+
const abisAddresses = Object.keys(common_1.CONTRACT_ADDRESSES).reduce((result, key) => {
|
|
83
|
+
result[key] = common_1.CONTRACT_ADDRESSES[key][this.id];
|
|
84
|
+
return result;
|
|
85
|
+
}, {});
|
|
86
|
+
const addresses = { ...abisAddresses };
|
|
87
|
+
this.rpcUrl = chain.rpcUrls.default;
|
|
88
|
+
this.client = (0, viem_1.createPublicClient)({
|
|
89
|
+
transport: (0, viem_1.http)(this.rpcUrl)
|
|
90
|
+
});
|
|
91
|
+
Object.assign(this, { ...this, addresses });
|
|
92
|
+
}
|
|
93
|
+
async getChainId() {
|
|
94
|
+
await this.init();
|
|
95
|
+
return this.id;
|
|
96
|
+
}
|
|
97
|
+
async getChainName() {
|
|
98
|
+
await this.init();
|
|
99
|
+
return this.name;
|
|
100
|
+
}
|
|
101
|
+
async getRpcUrl() {
|
|
102
|
+
await this.init();
|
|
103
|
+
return this.rpcUrl;
|
|
104
|
+
}
|
|
105
|
+
async getAddress(name) {
|
|
106
|
+
await this.init();
|
|
107
|
+
const res = this.addresses[name];
|
|
108
|
+
if (!res) {
|
|
109
|
+
throw new errors_1.ResourceNotFoundError(errors_1.ErrorCode.AddressNotFound, "address not found", { name }, "Provide correct name to query address", "https://docs.fun.xyz");
|
|
110
|
+
}
|
|
111
|
+
return res;
|
|
112
|
+
}
|
|
113
|
+
async getModuleAddresses(name) {
|
|
114
|
+
await this.init();
|
|
115
|
+
return await (0, apis_1.getModuleInfo)(name, this.id);
|
|
116
|
+
}
|
|
117
|
+
async getCurrency() {
|
|
118
|
+
await this.init();
|
|
119
|
+
return this.currency;
|
|
120
|
+
}
|
|
121
|
+
async getClient() {
|
|
122
|
+
await this.init();
|
|
123
|
+
return this.client;
|
|
124
|
+
}
|
|
125
|
+
async getFeeData() {
|
|
126
|
+
await this.init();
|
|
127
|
+
return this.client.getGasPrice();
|
|
128
|
+
}
|
|
129
|
+
async estimateOpGas(partialOp) {
|
|
130
|
+
await this.init();
|
|
131
|
+
if (!this.addresses || !this.addresses.entryPointAddress) {
|
|
132
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.AddressNotFound, "entryPointAddress is required", { partialOp }, "This is an internal error, please contact support.", "https://docs.fun.xyz");
|
|
133
|
+
}
|
|
134
|
+
let { preVerificationGas, callGasLimit, verificationGasLimit } = await (0, apis_1.estimateOp)({
|
|
135
|
+
chainId: this.id,
|
|
136
|
+
entryPointAddress: this.addresses.entryPointAddress,
|
|
137
|
+
userOp: partialOp
|
|
138
|
+
});
|
|
139
|
+
if (!preVerificationGas || !verificationGasLimit || !callGasLimit) {
|
|
140
|
+
throw new Error(JSON.stringify({ preVerificationGas, callGasLimit, verificationGasLimit }));
|
|
141
|
+
}
|
|
142
|
+
callGasLimit = BigInt(callGasLimit) * 2n;
|
|
143
|
+
preVerificationGas = BigInt(preVerificationGas) * 2n;
|
|
144
|
+
verificationGasLimit = BigInt(verificationGasLimit) + 200000n;
|
|
145
|
+
return { preVerificationGas, verificationGasLimit, callGasLimit };
|
|
146
|
+
}
|
|
147
|
+
async getTxId(userOpHash, timeout = 60000, interval = 5000, fromBlock) {
|
|
148
|
+
const endtime = Date.now() + timeout;
|
|
149
|
+
const client = await this.getClient();
|
|
150
|
+
const entryPointAddress = await this.getAddress("entryPointAddress");
|
|
151
|
+
fromBlock = fromBlock ? fromBlock : (await client.getBlockNumber()) - 100n;
|
|
152
|
+
let filter;
|
|
153
|
+
while (Date.now() < endtime) {
|
|
154
|
+
let events;
|
|
155
|
+
if ((await client.getChainId()) === 84531 || (await client.getChainId()) === 36865) {
|
|
156
|
+
events = await common_1.ENTRYPOINT_CONTRACT_INTERFACE.getLog(entryPointAddress, "UserOperationEvent", { userOpHash }, client, fromBlock);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
filter = await common_1.ENTRYPOINT_CONTRACT_INTERFACE.createFilter(entryPointAddress, "UserOperationEvent", [userOpHash], client, fromBlock);
|
|
160
|
+
events = await client.getFilterLogs({ filter });
|
|
161
|
+
}
|
|
162
|
+
if (events.length > 0) {
|
|
163
|
+
return events[0].transactionHash;
|
|
164
|
+
}
|
|
165
|
+
await new Promise((resolve) => setTimeout(resolve, interval));
|
|
166
|
+
}
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
async addressIsContract(address) {
|
|
170
|
+
return (0, utils_1.isContract)(address, await this.getClient());
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.Chain = Chain;
|
|
174
|
+
//# sourceMappingURL=Chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../src/data/Chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Address } from "viem";
|
|
2
|
+
import { TransactionData } from "../common";
|
|
3
|
+
import { EnvOption } from "../config";
|
|
4
|
+
export declare class NFT {
|
|
5
|
+
address?: Address;
|
|
6
|
+
name: string;
|
|
7
|
+
constructor(input: string);
|
|
8
|
+
approve(spender: string, tokenId: number, options?: EnvOption): Promise<TransactionData>;
|
|
9
|
+
ownerOf(tokenId: number, options?: EnvOption): Promise<Address>;
|
|
10
|
+
approveForAll(spender: string, options?: EnvOption): Promise<any>;
|
|
11
|
+
getAddress(): Promise<Address>;
|
|
12
|
+
getName(options?: EnvOption): Promise<string>;
|
|
13
|
+
getBalance(address: Address, options?: EnvOption): Promise<bigint>;
|
|
14
|
+
getApproved(tokenId: string, options?: EnvOption): Promise<Address>;
|
|
15
|
+
revokeForAll(spender: string, options?: EnvOption): Promise<TransactionData>;
|
|
16
|
+
transfer(sender: string, spender: string, tokenId: number, options?: EnvOption): Promise<any>;
|
|
17
|
+
static approve(data: string, spender: string, tokenId: number, options?: EnvOption): Promise<TransactionData>;
|
|
18
|
+
static approveForAll(data: string, spender: string, options?: EnvOption): Promise<TransactionData>;
|
|
19
|
+
static getAddress(data: string): Promise<string>;
|
|
20
|
+
static getApproved(data: string, tokenId: string, options?: EnvOption): Promise<string>;
|
|
21
|
+
static revokeForAll(data: string, spender: string, options?: EnvOption): Promise<TransactionData>;
|
|
22
|
+
static transfer(data: string, sender: string, spender: string, tokenId: number, options?: EnvOption): Promise<TransactionData>;
|
|
23
|
+
static ownerOf(data: string, tokenId: number, options?: EnvOption): Promise<Address>;
|
|
24
|
+
}
|