@funkit/core 2.0.1 → 2.1.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/index.js +11 -27
- package/dist/index.js.map +1 -1
- package/dist/src/actions/AccessControl.js +39 -48
- package/dist/src/actions/AccessControl.js.map +1 -1
- package/dist/src/actions/BatchActions.js +3 -7
- package/dist/src/actions/BatchActions.js.map +1 -1
- package/dist/src/actions/Bridge.js +16 -20
- package/dist/src/actions/Bridge.js.map +1 -1
- package/dist/src/actions/FirstClassActions.js +74 -77
- package/dist/src/actions/FirstClassActions.js.map +1 -1
- package/dist/src/actions/Group.js +14 -20
- package/dist/src/actions/Group.js.map +1 -1
- package/dist/src/actions/LimitOrder.js +18 -22
- package/dist/src/actions/LimitOrder.js.map +1 -1
- package/dist/src/actions/Stake.js +40 -43
- package/dist/src/actions/Stake.js.map +1 -1
- package/dist/src/actions/Swap.js +40 -46
- package/dist/src/actions/Swap.js.map +1 -1
- package/dist/src/actions/Token.js +41 -53
- package/dist/src/actions/Token.js.map +1 -1
- package/dist/src/actions/index.js +7 -23
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/actions/types.js +4 -7
- package/dist/src/actions/types.js.map +1 -1
- package/dist/src/apis/AccessControlApis.js +10 -16
- package/dist/src/apis/AccessControlApis.js.map +1 -1
- package/dist/src/apis/BridgeApis.js +14 -20
- package/dist/src/apis/BridgeApis.js.map +1 -1
- package/dist/src/apis/ContractApis.js +4 -7
- package/dist/src/apis/ContractApis.js.map +1 -1
- package/dist/src/apis/GroupApis.js +6 -10
- package/dist/src/apis/GroupApis.js.map +1 -1
- package/dist/src/apis/InfoApis.js +16 -23
- package/dist/src/apis/InfoApis.js.map +1 -1
- package/dist/src/apis/ListenerApis.js +9 -13
- package/dist/src/apis/ListenerApis.js.map +1 -1
- package/dist/src/apis/NFTApis.js +6 -10
- package/dist/src/apis/NFTApis.js.map +1 -1
- package/dist/src/apis/OperationApis.js +26 -40
- package/dist/src/apis/OperationApis.js.map +1 -1
- package/dist/src/apis/PaymasterApis.js +4 -7
- package/dist/src/apis/PaymasterApis.js.map +1 -1
- package/dist/src/apis/SwapApis.js +8 -13
- package/dist/src/apis/SwapApis.js.map +1 -1
- package/dist/src/apis/UserApis.js +20 -29
- package/dist/src/apis/UserApis.js.map +1 -1
- package/dist/src/apis/index.js +8 -24
- package/dist/src/apis/index.js.map +1 -1
- package/dist/src/apis/types.js +1 -2
- package/dist/src/auth/Auth.js +52 -74
- package/dist/src/auth/Auth.js.map +1 -1
- package/dist/src/auth/SessionKeyAuth.js +30 -33
- package/dist/src/auth/SessionKeyAuth.js.map +1 -1
- package/dist/src/auth/index.js +2 -18
- package/dist/src/auth/index.js.map +1 -1
- package/dist/src/auth/types.js +1 -2
- package/dist/src/common/constants.js +184 -191
- package/dist/src/common/constants.js.map +1 -1
- package/dist/src/common/index.js +2 -18
- package/dist/src/common/index.js.map +1 -1
- package/dist/src/common/types.js +1 -2
- package/dist/src/config/Config.js +8 -13
- package/dist/src/config/Config.js.map +1 -1
- package/dist/src/config/index.js +2 -18
- package/dist/src/config/index.js.map +1 -1
- package/dist/src/config/types.js +1 -2
- package/dist/src/data/Chain.js +35 -33
- package/dist/src/data/Chain.js.map +1 -1
- package/dist/src/data/NFT.js +28 -31
- package/dist/src/data/NFT.js.map +1 -1
- package/dist/src/data/Operation.js +28 -11
- package/dist/src/data/Operation.js.map +1 -1
- package/dist/src/data/SolidityData.js +23 -30
- package/dist/src/data/SolidityData.js.map +1 -1
- package/dist/src/data/Token.js +21 -23
- package/dist/src/data/Token.js.map +1 -1
- package/dist/src/data/index.js +6 -22
- package/dist/src/data/index.js.map +1 -1
- package/dist/src/data/types.js +6 -9
- package/dist/src/data/types.js.map +1 -1
- package/dist/src/errors/BaseError.js +6 -5
- package/dist/src/errors/BaseError.js.map +1 -1
- package/dist/src/errors/ClientError.js +21 -34
- package/dist/src/errors/ClientError.js.map +1 -1
- package/dist/src/errors/ServerError.js +6 -11
- package/dist/src/errors/ServerError.js.map +1 -1
- package/dist/src/errors/index.js +4 -20
- package/dist/src/errors/index.js.map +1 -1
- package/dist/src/errors/types.js +6 -9
- package/dist/src/errors/types.js.map +1 -1
- package/dist/src/sponsors/CheckoutSponsor.js +10 -14
- package/dist/src/sponsors/CheckoutSponsor.js.map +1 -1
- package/dist/src/sponsors/GaslessSponsor.js +23 -27
- package/dist/src/sponsors/GaslessSponsor.js.map +1 -1
- package/dist/src/sponsors/Sponsor.js +10 -8
- package/dist/src/sponsors/Sponsor.js.map +1 -1
- package/dist/src/sponsors/TokenSponsor.js +79 -82
- package/dist/src/sponsors/TokenSponsor.js.map +1 -1
- package/dist/src/sponsors/index.js +4 -20
- package/dist/src/sponsors/index.js.map +1 -1
- package/dist/src/sponsors/types.js +2 -5
- package/dist/src/sponsors/types.js.map +1 -1
- package/dist/src/utils/ApiUtils.js +30 -38
- package/dist/src/utils/ApiUtils.js.map +1 -1
- package/dist/src/utils/AuthUtils.js +9 -14
- package/dist/src/utils/AuthUtils.js.map +1 -1
- package/dist/src/utils/ChainUtils.js +38 -49
- package/dist/src/utils/ChainUtils.js.map +1 -1
- package/dist/src/utils/CheckoutUtils.js +13 -18
- package/dist/src/utils/CheckoutUtils.js.map +1 -1
- package/dist/src/utils/GroupUtils.js +6 -9
- package/dist/src/utils/GroupUtils.js.map +1 -1
- package/dist/src/utils/MerkleUtils.js +34 -47
- package/dist/src/utils/MerkleUtils.js.map +1 -1
- package/dist/src/utils/PaymasterUtils.js +5 -9
- package/dist/src/utils/PaymasterUtils.js.map +1 -1
- package/dist/src/utils/SwapUtils.js +44 -43
- package/dist/src/utils/SwapUtils.js.map +1 -1
- package/dist/src/utils/TypeUtils.js +5 -9
- package/dist/src/utils/TypeUtils.js.map +1 -1
- package/dist/src/utils/UserOpUtils.js +20 -29
- package/dist/src/utils/UserOpUtils.js.map +1 -1
- package/dist/src/utils/ViemUtils.js +6 -12
- package/dist/src/utils/ViemUtils.js.map +1 -1
- package/dist/src/utils/WalletUtils.js +28 -42
- package/dist/src/utils/WalletUtils.js.map +1 -1
- package/dist/src/utils/index.js +8 -24
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/viem/ContractInterface.js +14 -18
- package/dist/src/viem/ContractInterface.js.map +1 -1
- package/dist/src/viem/Converter.d.ts +16 -16
- package/dist/src/viem/Converter.js +15 -20
- package/dist/src/viem/Converter.js.map +1 -1
- package/dist/src/viem/index.js +2 -18
- package/dist/src/viem/index.js.map +1 -1
- package/dist/src/wallet/FunWallet.d.ts +1 -1
- package/dist/src/wallet/FunWallet.js +141 -142
- package/dist/src/wallet/FunWallet.js.map +1 -1
- package/dist/src/wallet/index.js +2 -18
- package/dist/src/wallet/index.js.map +1 -1
- package/dist/src/wallet/types.js +1 -2
- package/package.json +3 -2
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.encodeWalletSignature = encodeWalletSignature;
|
|
5
|
-
exports.encodeUserAuthInitData = encodeUserAuthInitData;
|
|
6
|
-
exports.addresstoBytes32 = addresstoBytes32;
|
|
7
|
-
exports.toBytes32Arr = toBytes32Arr;
|
|
8
|
-
const abi_1 = require("@ethersproject/abi");
|
|
9
|
-
const viem_1 = require("viem");
|
|
10
|
-
const common_1 = require("../common");
|
|
1
|
+
import { defaultAbiCoder } from '@ethersproject/abi';
|
|
2
|
+
import { encodeAbiParameters, pad } from 'viem';
|
|
3
|
+
import { AddressZero, HashZero } from '../common';
|
|
11
4
|
const extraDataStructType = {
|
|
12
5
|
type: 'tuple',
|
|
13
6
|
components: [
|
|
@@ -25,14 +18,14 @@ const walletSigEncodingTypes = [
|
|
|
25
18
|
{ type: 'bytes' },
|
|
26
19
|
extraDataStructType,
|
|
27
20
|
];
|
|
28
|
-
function encodeLoginData(data) {
|
|
21
|
+
export function encodeLoginData(data) {
|
|
29
22
|
let { loginType, newFunWalletOwner, index, socialHandle, salt } = data;
|
|
30
|
-
newFunWalletOwner = newFunWalletOwner ? newFunWalletOwner :
|
|
23
|
+
newFunWalletOwner = newFunWalletOwner ? newFunWalletOwner : AddressZero;
|
|
31
24
|
index = index ? BigInt(index) : 0n;
|
|
32
25
|
socialHandle = socialHandle ? socialHandle : '0x';
|
|
33
|
-
salt = salt ? salt :
|
|
26
|
+
salt = salt ? salt : HashZero;
|
|
34
27
|
loginType = loginType ? loginType : 0;
|
|
35
|
-
return
|
|
28
|
+
return encodeAbiParameters([
|
|
36
29
|
{
|
|
37
30
|
type: 'tuple',
|
|
38
31
|
components: [
|
|
@@ -47,22 +40,22 @@ function encodeLoginData(data) {
|
|
|
47
40
|
}
|
|
48
41
|
const parseExtraData = (data) => {
|
|
49
42
|
let { targetPath, selectorPath, feeRecipientPath, tokenPath } = data;
|
|
50
|
-
targetPath
|
|
51
|
-
selectorPath
|
|
52
|
-
feeRecipientPath
|
|
53
|
-
tokenPath
|
|
43
|
+
targetPath ??= [];
|
|
44
|
+
selectorPath ??= [];
|
|
45
|
+
feeRecipientPath ??= [];
|
|
46
|
+
tokenPath ??= [];
|
|
54
47
|
return [targetPath, selectorPath, feeRecipientPath, tokenPath];
|
|
55
48
|
};
|
|
56
|
-
function encodeWalletSignature(data) {
|
|
49
|
+
export function encodeWalletSignature(data) {
|
|
57
50
|
const { userId, signature, extraData } = data;
|
|
58
51
|
let { authType, roleId, ruleId } = data;
|
|
59
|
-
roleId
|
|
60
|
-
ruleId
|
|
61
|
-
authType
|
|
52
|
+
roleId ??= HashZero;
|
|
53
|
+
ruleId ??= HashZero;
|
|
54
|
+
authType ??= 0;
|
|
62
55
|
const extraDataEncoded = extraData
|
|
63
56
|
? parseExtraData(extraData)
|
|
64
57
|
: [[], [], [], []];
|
|
65
|
-
return
|
|
58
|
+
return encodeAbiParameters(walletSigEncodingTypes, [
|
|
66
59
|
authType,
|
|
67
60
|
userId,
|
|
68
61
|
roleId,
|
|
@@ -71,21 +64,21 @@ function encodeWalletSignature(data) {
|
|
|
71
64
|
extraDataEncoded,
|
|
72
65
|
]).toLowerCase();
|
|
73
66
|
}
|
|
74
|
-
function encodeUserAuthInitData(groupUsers) {
|
|
67
|
+
export function encodeUserAuthInitData(groupUsers) {
|
|
75
68
|
const groupIds = [];
|
|
76
69
|
const groupInfos = [];
|
|
77
70
|
groupUsers.forEach((user) => {
|
|
78
71
|
groupIds.push(user.userId);
|
|
79
|
-
const paddedMemberIds = user.groupInfo.memberIds.map((memberId) =>
|
|
72
|
+
const paddedMemberIds = user.groupInfo.memberIds.map((memberId) => pad(memberId, { size: 32 }));
|
|
80
73
|
const sortedMemberIds = paddedMemberIds.sort((a, b) => (a > b ? -1 : 1));
|
|
81
74
|
groupInfos.push([sortedMemberIds, user.groupInfo.threshold]);
|
|
82
75
|
});
|
|
83
|
-
return
|
|
76
|
+
return defaultAbiCoder.encode(['bytes32[]', 'tuple(bytes32[],uint256)[]'], [groupIds, groupInfos]);
|
|
84
77
|
}
|
|
85
|
-
function addresstoBytes32(data) {
|
|
86
|
-
return
|
|
78
|
+
export function addresstoBytes32(data) {
|
|
79
|
+
return encodeAbiParameters([{ type: 'address' }], [data]);
|
|
87
80
|
}
|
|
88
|
-
function toBytes32Arr(data) {
|
|
89
|
-
return
|
|
81
|
+
export function toBytes32Arr(data) {
|
|
82
|
+
return encodeAbiParameters([{ type: 'bytes32[]' }], [data]);
|
|
90
83
|
}
|
|
91
84
|
//# sourceMappingURL=SolidityData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidityData.js","sourceRoot":"","sources":["../../../src/data/SolidityData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SolidityData.js","sourceRoot":"","sources":["../../../src/data/SolidityData.ts"],"names":[],"mappings":"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"}
|
package/dist/src/data/Token.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const apis_1 = require("../apis");
|
|
6
|
-
const common_1 = require("../common");
|
|
7
|
-
const errors_1 = require("../errors");
|
|
1
|
+
import { formatUnits, isAddress, parseUnits } from 'viem';
|
|
2
|
+
import { getTokenInfo } from '../apis';
|
|
3
|
+
import { ERC20_CONTRACT_INTERFACE } from '../common';
|
|
4
|
+
import { ErrorCode, InternalFailureError, InvalidParameterError, } from '../errors';
|
|
8
5
|
const wrappedNativeTokens = { eth: 'weth', matic: 'wmatic', mnt: 'wmnt' };
|
|
9
|
-
class Token {
|
|
6
|
+
export class Token {
|
|
7
|
+
address;
|
|
8
|
+
chain;
|
|
9
|
+
isNative = false;
|
|
10
|
+
symbol = '';
|
|
10
11
|
constructor(input, chain) {
|
|
11
|
-
this.isNative = false;
|
|
12
|
-
this.symbol = '';
|
|
13
12
|
this.chain = chain;
|
|
14
|
-
if (
|
|
13
|
+
if (isAddress(input)) {
|
|
15
14
|
this.address = input;
|
|
16
15
|
return;
|
|
17
16
|
}
|
|
@@ -24,28 +23,28 @@ class Token {
|
|
|
24
23
|
const chainId = await this.chain.getChainId();
|
|
25
24
|
if (this.isNative) {
|
|
26
25
|
const nativeName = wrappedNativeTokens[this.symbol];
|
|
27
|
-
return await
|
|
26
|
+
return await getTokenInfo(nativeName, chainId);
|
|
28
27
|
}
|
|
29
28
|
else if (this.address) {
|
|
30
29
|
return this.address;
|
|
31
30
|
}
|
|
32
31
|
else if (this.symbol) {
|
|
33
|
-
return await
|
|
32
|
+
return await getTokenInfo(this.symbol, chainId);
|
|
34
33
|
}
|
|
35
34
|
else {
|
|
36
|
-
throw new
|
|
35
|
+
throw new InternalFailureError(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');
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
async getDecimals() {
|
|
40
39
|
if (this.isNative) {
|
|
41
40
|
return 18n;
|
|
42
41
|
}
|
|
43
|
-
return await
|
|
42
|
+
return await ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'decimals', [], this.chain);
|
|
44
43
|
}
|
|
45
44
|
async getBalance(address) {
|
|
46
45
|
const amount = await this.getBalanceBN(address);
|
|
47
46
|
const decimals = await this.getDecimals();
|
|
48
|
-
return
|
|
47
|
+
return formatUnits(amount, Number(decimals));
|
|
49
48
|
}
|
|
50
49
|
async getBalanceBN(address) {
|
|
51
50
|
const chain = this.chain;
|
|
@@ -55,30 +54,30 @@ class Token {
|
|
|
55
54
|
amount = await client.getBalance({ address });
|
|
56
55
|
}
|
|
57
56
|
else {
|
|
58
|
-
amount = await
|
|
57
|
+
amount = await ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'balanceOf', [address], chain);
|
|
59
58
|
}
|
|
60
59
|
return amount;
|
|
61
60
|
}
|
|
62
61
|
async getApproval(owner, spender) {
|
|
63
62
|
if (this.isNative) {
|
|
64
|
-
throw new
|
|
63
|
+
throw new InvalidParameterError(ErrorCode.InvalidParameter, 'Native token can not approve', { isNative: this.isNative }, 'No need to approve native token', 'https://docs.fun.xyz');
|
|
65
64
|
}
|
|
66
65
|
const chain = this.chain;
|
|
67
|
-
return BigInt(await
|
|
66
|
+
return BigInt(await ERC20_CONTRACT_INTERFACE.readFromChain(await this.getAddress(), 'allowance', [owner, spender], chain));
|
|
68
67
|
}
|
|
69
68
|
async getDecimalAmount(amount) {
|
|
70
69
|
const decimals = await this.getDecimals();
|
|
71
|
-
return
|
|
70
|
+
return parseUnits(`${amount}`, Number(decimals));
|
|
72
71
|
}
|
|
73
72
|
async approve(spender, amount) {
|
|
74
73
|
const amountDec = await this.getDecimalAmount(amount);
|
|
75
|
-
const calldata =
|
|
74
|
+
const calldata = ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'approve', [spender, amountDec]);
|
|
76
75
|
const { to, data, value } = calldata;
|
|
77
76
|
return { to: to, data: data, value: value };
|
|
78
77
|
}
|
|
79
78
|
async transfer(spender, amount) {
|
|
80
79
|
const amountDec = await this.getDecimalAmount(amount);
|
|
81
|
-
return
|
|
80
|
+
return ERC20_CONTRACT_INTERFACE.encodeTransactionParams(await this.getAddress(), 'transfer', [spender, amountDec]);
|
|
82
81
|
}
|
|
83
82
|
static async getAddress(data, chain) {
|
|
84
83
|
const token = new Token(data, chain);
|
|
@@ -116,5 +115,4 @@ class Token {
|
|
|
116
115
|
return data.toLowerCase() in wrappedNativeTokens;
|
|
117
116
|
}
|
|
118
117
|
}
|
|
119
|
-
exports.Token = Token;
|
|
120
118
|
//# sourceMappingURL=Token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../../src/data/Token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../../src/data/Token.ts"],"names":[],"mappings":"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"}
|
package/dist/src/data/index.js
CHANGED
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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("./Chain"), exports);
|
|
18
|
-
__exportStar(require("./NFT"), exports);
|
|
19
|
-
__exportStar(require("./Operation"), exports);
|
|
20
|
-
__exportStar(require("./SolidityData"), exports);
|
|
21
|
-
__exportStar(require("./Token"), exports);
|
|
22
|
-
__exportStar(require("./types"), exports);
|
|
1
|
+
export * from './Chain';
|
|
2
|
+
export * from './NFT';
|
|
3
|
+
export * from './Operation';
|
|
4
|
+
export * from './SolidityData';
|
|
5
|
+
export * from './Token';
|
|
6
|
+
export * from './types';
|
|
23
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
package/dist/src/data/types.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OperationStatus = exports.OperationType = exports.AuthType = void 0;
|
|
4
|
-
var AuthType;
|
|
1
|
+
export var AuthType;
|
|
5
2
|
(function (AuthType) {
|
|
6
3
|
AuthType[AuthType["ECDSA"] = 0] = "ECDSA";
|
|
7
4
|
AuthType[AuthType["MULTI_SIG"] = 1] = "MULTI_SIG";
|
|
8
|
-
})(AuthType || (
|
|
9
|
-
var OperationType;
|
|
5
|
+
})(AuthType || (AuthType = {}));
|
|
6
|
+
export var OperationType;
|
|
10
7
|
(function (OperationType) {
|
|
11
8
|
OperationType["SINGLE_OPERATION"] = "SINGLE_OPERATION";
|
|
12
9
|
OperationType["GROUP_OPERATION"] = "GROUP_OPERATION";
|
|
13
10
|
OperationType["REJECTION"] = "REJECTION";
|
|
14
|
-
})(OperationType || (
|
|
15
|
-
var OperationStatus;
|
|
11
|
+
})(OperationType || (OperationType = {}));
|
|
12
|
+
export var OperationStatus;
|
|
16
13
|
(function (OperationStatus) {
|
|
17
14
|
OperationStatus["ALL"] = "";
|
|
18
15
|
OperationStatus["PENDING_APPROVED"] = "PENDING_APPROVED";
|
|
@@ -21,5 +18,5 @@ var OperationStatus;
|
|
|
21
18
|
OperationStatus["OP_SUCCEED"] = "OP_SUCCEED";
|
|
22
19
|
OperationStatus["OP_REVERTED"] = "OP_REVERTED";
|
|
23
20
|
OperationStatus["SCHEDULED"] = "SCHEDULED";
|
|
24
|
-
})(OperationStatus || (
|
|
21
|
+
})(OperationStatus || (OperationStatus = {}));
|
|
25
22
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/data/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/data/types.ts"],"names":[],"mappings":"AA+EA,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,iDAAa,CAAA;AACf,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAQD,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;IACnC,wCAAuB,CAAA;AACzB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,2BAAQ,CAAA;IACR,wDAAqC,CAAA;IACrC,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,4CAAyB,CAAA;IACzB,8CAA2B,CAAA;IAC3B,0CAAuB,CAAA;AACzB,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseError = void 0;
|
|
4
1
|
const discord = 'https://discord.gg/mvQunrx6NG';
|
|
5
|
-
class BaseError extends Error {
|
|
2
|
+
export class BaseError extends Error {
|
|
3
|
+
baseType;
|
|
4
|
+
type;
|
|
5
|
+
code;
|
|
6
|
+
paramsUsed;
|
|
7
|
+
timestamp;
|
|
6
8
|
constructor(baseType, type, code, msg, paramsUsed, fixSuggestion, docLink, isInternal = false) {
|
|
7
9
|
super(`${msg}\n\n${fixSuggestion}\nDocs: ${docLink}\nDiscord: ${discord}`);
|
|
8
10
|
this.baseType = baseType;
|
|
@@ -20,5 +22,4 @@ class BaseError extends Error {
|
|
|
20
22
|
'\n\nThis is an internal sdk error. Please contact the fun team at our Discord for the fastest response.';
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
|
-
exports.BaseError = BaseError;
|
|
24
25
|
//# sourceMappingURL=BaseError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../../src/errors/BaseError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../../src/errors/BaseError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,+BAA+B,CAAA;AAC/C,MAAM,OAAO,SAAU,SAAQ,KAAK;IAIzB;IACA;IACA;IAGA;IART,SAAS,CAAQ;IAEjB,YACS,QAAgB,EAChB,IAAY,EACZ,IAAY,EACnB,GAAW,EAEJ,UAAe,EACtB,aAAqB,EACrB,OAAe,EACf,UAAU,GAAG,KAAK;QAElB,KAAK,CAAC,GAAG,GAAG,OAAO,aAAa,WAAW,OAAO,cAAc,OAAO,EAAE,CAAC,CAAA;QAVnE,aAAQ,GAAR,QAAQ,CAAQ;QAChB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QAGZ,eAAU,GAAV,UAAU,CAAK;QAMtB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,YAAY,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC3C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO;YACV,yGAAyG,CAAA;IAC7G,CAAC;CACF"}
|
|
@@ -1,71 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.UserOpFailureError = exports.AccessDeniedError = exports.ThrottlingError = exports.InvalidActionError = exports.ResourceNotFoundError = exports.InvalidParameterError = exports.ClientError = void 0;
|
|
7
|
-
const BaseError_1 = require("./BaseError");
|
|
8
|
-
const errors_json_1 = __importDefault(require("./errors.json"));
|
|
9
|
-
const types_1 = require("./types");
|
|
10
|
-
class ClientError extends BaseError_1.BaseError {
|
|
1
|
+
import { BaseError } from './BaseError';
|
|
2
|
+
import FWErrors from './errors.json' assert { type: 'json' };
|
|
3
|
+
import { ErrorBaseType, ErrorCode, ErrorType } from './types';
|
|
4
|
+
export class ClientError extends BaseError {
|
|
11
5
|
constructor(type, code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
12
|
-
super(
|
|
6
|
+
super(ErrorBaseType.ClientError, type, code, msg, paramsUsed, fixSuggestion, docLink, false);
|
|
13
7
|
}
|
|
14
8
|
}
|
|
15
|
-
|
|
16
|
-
class InvalidParameterError extends ClientError {
|
|
9
|
+
export class InvalidParameterError extends ClientError {
|
|
17
10
|
constructor(code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
18
|
-
super(
|
|
11
|
+
super(ErrorType.InvalidParameter, code, msg, paramsUsed, fixSuggestion, docLink);
|
|
19
12
|
}
|
|
20
13
|
}
|
|
21
|
-
|
|
22
|
-
class ResourceNotFoundError extends ClientError {
|
|
14
|
+
export class ResourceNotFoundError extends ClientError {
|
|
23
15
|
constructor(code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
24
16
|
if (msg.includes('Chain name not found')) {
|
|
25
17
|
const { reqId } = JSON.parse(msg);
|
|
26
18
|
msg = ': Chain name not found or not supported.';
|
|
27
19
|
fixSuggestion = 'Change your EnvOptions to the correct chain identifier.';
|
|
28
|
-
super(
|
|
20
|
+
super(ErrorType.ResourceNotFound, ErrorCode.ChainNotSupported, msg, { reqId }, fixSuggestion, docLink);
|
|
29
21
|
}
|
|
30
22
|
else {
|
|
31
|
-
super(
|
|
23
|
+
super(ErrorType.ResourceNotFound, code, msg, paramsUsed, fixSuggestion, docLink);
|
|
32
24
|
}
|
|
33
25
|
}
|
|
34
26
|
}
|
|
35
|
-
|
|
36
|
-
class InvalidActionError extends ClientError {
|
|
27
|
+
export class InvalidActionError extends ClientError {
|
|
37
28
|
constructor(code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
38
|
-
super(
|
|
29
|
+
super(ErrorType.InvalidAction, code, msg, paramsUsed, fixSuggestion, docLink);
|
|
39
30
|
}
|
|
40
31
|
}
|
|
41
|
-
|
|
42
|
-
class ThrottlingError extends ClientError {
|
|
32
|
+
export class ThrottlingError extends ClientError {
|
|
43
33
|
constructor(code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
44
|
-
super(
|
|
34
|
+
super(ErrorType.ThrottlingError, code, msg, paramsUsed, fixSuggestion, docLink);
|
|
45
35
|
}
|
|
46
36
|
}
|
|
47
|
-
|
|
48
|
-
class AccessDeniedError extends ClientError {
|
|
37
|
+
export class AccessDeniedError extends ClientError {
|
|
49
38
|
constructor(code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
50
|
-
super(
|
|
39
|
+
super(ErrorType.AccessDeniedError, code, msg, paramsUsed, fixSuggestion, docLink);
|
|
51
40
|
}
|
|
52
41
|
}
|
|
53
|
-
|
|
54
|
-
class UserOpFailureError extends ClientError {
|
|
42
|
+
export class UserOpFailureError extends ClientError {
|
|
55
43
|
constructor(code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
56
44
|
const FWCode = findFWContractError(msg);
|
|
57
45
|
if (FWCode) {
|
|
58
46
|
const { reqId } = JSON.parse(msg);
|
|
59
|
-
msg =
|
|
60
|
-
fixSuggestion =
|
|
61
|
-
super(
|
|
47
|
+
msg = FWErrors[FWCode].info;
|
|
48
|
+
fixSuggestion = FWErrors[FWCode].suggestion;
|
|
49
|
+
super(ErrorType.UserOpFailureError, ErrorCode.FunWalletErrorCode, msg, { reqId }, fixSuggestion, docLink);
|
|
62
50
|
}
|
|
63
51
|
else {
|
|
64
|
-
super(
|
|
52
|
+
super(ErrorType.UserOpFailureError, code, msg, paramsUsed, fixSuggestion, docLink);
|
|
65
53
|
}
|
|
66
54
|
}
|
|
67
55
|
}
|
|
68
|
-
exports.UserOpFailureError = UserOpFailureError;
|
|
69
56
|
const findFWContractError = (msg) => {
|
|
70
57
|
let match = msg.match(/FW\d{3}/);
|
|
71
58
|
if (!match) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientError.js","sourceRoot":"","sources":["../../../src/errors/ClientError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClientError.js","sourceRoot":"","sources":["../../../src/errors/ClientError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,QAAQ,MAAM,eAAe,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC7D,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YACE,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,KAAK,CACH,aAAa,CAAC,WAAW,EACzB,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,EACP,KAAK,CACN,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IACpD,YACE,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,KAAK,CACH,SAAS,CAAC,gBAAgB,EAC1B,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IACpD,YACE,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,GAAG,GAAG,0CAA0C,CAAA;YAChD,aAAa,GAAG,yDAAyD,CAAA;YACzE,KAAK,CACH,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,iBAAiB,EAC3B,GAAG,EACH,EAAE,KAAK,EAAE,EACT,aAAa,EACb,OAAO,CACR,CAAA;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CACH,SAAS,CAAC,gBAAgB,EAC1B,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YACE,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,KAAK,CACH,SAAS,CAAC,aAAa,EACvB,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,YACE,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,KAAK,CACH,SAAS,CAAC,eAAe,EACzB,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YACE,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,KAAK,CACH,SAAS,CAAC,iBAAiB,EAC3B,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YACE,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;YAC3B,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAA;YAC3C,KAAK,CACH,SAAS,CAAC,kBAAkB,EAC5B,SAAS,CAAC,kBAAkB,EAC5B,GAAG,EACH,EAAE,KAAK,EAAE,EACT,aAAa,EACb,OAAO,CACR,CAAA;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CACH,SAAS,CAAC,kBAAkB,EAC5B,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1C,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const BaseError_1 = require("./BaseError");
|
|
5
|
-
const types_1 = require("./types");
|
|
6
|
-
class ServerError extends BaseError_1.BaseError {
|
|
1
|
+
import { BaseError } from './BaseError';
|
|
2
|
+
import { ErrorBaseType, ErrorType } from './types';
|
|
3
|
+
export class ServerError extends BaseError {
|
|
7
4
|
constructor(type, code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
8
|
-
super(
|
|
5
|
+
super(ErrorBaseType.ServerError, type, code, msg, paramsUsed, fixSuggestion, docLink, true);
|
|
9
6
|
}
|
|
10
7
|
}
|
|
11
|
-
|
|
12
|
-
class InternalFailureError extends ServerError {
|
|
8
|
+
export class InternalFailureError extends ServerError {
|
|
13
9
|
constructor(code, msg, paramsUsed, fixSuggestion, docLink) {
|
|
14
|
-
super(
|
|
10
|
+
super(ErrorType.InternalServerFailure, code, msg, paramsUsed, fixSuggestion, docLink);
|
|
15
11
|
}
|
|
16
12
|
}
|
|
17
|
-
exports.InternalFailureError = InternalFailureError;
|
|
18
13
|
//# sourceMappingURL=ServerError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerError.js","sourceRoot":"","sources":["../../../src/errors/ServerError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServerError.js","sourceRoot":"","sources":["../../../src/errors/ServerError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YACE,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,KAAK,CACH,aAAa,CAAC,WAAW,EACzB,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,EACP,IAAI,CACL,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IACnD,YACE,IAAY,EACZ,GAAW,EACX,UAAe,EACf,aAAqB,EACrB,OAAe;QAEf,KAAK,CACH,SAAS,CAAC,qBAAqB,EAC/B,IAAI,EACJ,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;IACH,CAAC;CACF"}
|
package/dist/src/errors/index.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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("./BaseError"), exports);
|
|
18
|
-
__exportStar(require("./ClientError"), exports);
|
|
19
|
-
__exportStar(require("./ServerError"), exports);
|
|
20
|
-
__exportStar(require("./types"), exports);
|
|
1
|
+
export * from './BaseError';
|
|
2
|
+
export * from './ClientError';
|
|
3
|
+
export * from './ServerError';
|
|
4
|
+
export * from './types';
|
|
21
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA"}
|
package/dist/src/errors/types.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrorCode = exports.ErrorType = exports.ErrorBaseType = void 0;
|
|
4
|
-
var ErrorBaseType;
|
|
1
|
+
export var ErrorBaseType;
|
|
5
2
|
(function (ErrorBaseType) {
|
|
6
3
|
ErrorBaseType["ClientError"] = "ClientError";
|
|
7
4
|
ErrorBaseType["ServerError"] = "ServerError";
|
|
8
|
-
})(ErrorBaseType || (
|
|
9
|
-
var ErrorType;
|
|
5
|
+
})(ErrorBaseType || (ErrorBaseType = {}));
|
|
6
|
+
export var ErrorType;
|
|
10
7
|
(function (ErrorType) {
|
|
11
8
|
ErrorType["InvalidParameter"] = "InvalidParameter";
|
|
12
9
|
ErrorType["InternalServerFailure"] = "InternalServerFailure";
|
|
@@ -15,8 +12,8 @@ var ErrorType;
|
|
|
15
12
|
ErrorType["ThrottlingError"] = "ThrottlingError";
|
|
16
13
|
ErrorType["AccessDeniedError"] = "AccessDeniedError";
|
|
17
14
|
ErrorType["UserOpFailureError"] = "UserOpFailureError";
|
|
18
|
-
})(ErrorType || (
|
|
19
|
-
var ErrorCode;
|
|
15
|
+
})(ErrorType || (ErrorType = {}));
|
|
16
|
+
export var ErrorCode;
|
|
20
17
|
(function (ErrorCode) {
|
|
21
18
|
ErrorCode["MissingParameter"] = "MissingParameter";
|
|
22
19
|
ErrorCode["InvalidParameter"] = "InvalidParameter";
|
|
@@ -47,5 +44,5 @@ var ErrorCode;
|
|
|
47
44
|
ErrorCode["BridgeAllowanceDataNotFound"] = "BridgeAllowanceDataNotFound";
|
|
48
45
|
ErrorCode["BridgeApproveTxDataNotFound"] = "BridgeApproveTxDataNotFound";
|
|
49
46
|
ErrorCode["CheckoutInitDepositAddrNotFound"] = "CheckoutInitDepositAddrNotFound";
|
|
50
|
-
})(ErrorCode || (
|
|
47
|
+
})(ErrorCode || (ErrorCode = {}));
|
|
51
48
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/errors/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/errors/types.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;AAC7B,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;IAC/C,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;AAC3C,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAED,MAAM,CAAN,IAAY,SA8BX;AA9BD,WAAY,SAAS;IACnB,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,8DAAiD,CAAA;IACjD,0DAA6C,CAAA;IAC7C,8DAAiD,CAAA;IACjD,wEAA2D,CAAA;IAC3D,gEAAmD,CAAA;IACnD,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;IAC7B,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,sDAAyC,CAAA;IACzC,4DAA+C,CAAA;IAC/C,sDAAyC,CAAA;IACzC,0CAA6B,CAAA;IAC7B,0DAA6C,CAAA;IAC7C,gDAAmC,CAAA;IACnC,wDAA2C,CAAA;IAC3C,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,wEAA2D,CAAA;IAC3D,wEAA2D,CAAA;IAC3D,gFAAmE,CAAA;AACrE,CAAC,EA9BW,SAAS,KAAT,SAAS,QA8BpB"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const Sponsor_1 = require("./Sponsor");
|
|
7
|
-
const types_1 = require("./types");
|
|
8
|
-
class CheckoutSponsor extends Sponsor_1.Sponsor {
|
|
1
|
+
import { CHECKOUT_PAYMASTER_CONTRACT_INTERFACE, } from '../common';
|
|
2
|
+
import { Chain, Token } from '../data';
|
|
3
|
+
import { Sponsor } from './Sponsor';
|
|
4
|
+
import { PaymasterType } from './types';
|
|
5
|
+
export class CheckoutSponsor extends Sponsor {
|
|
9
6
|
constructor(options = globalThis.globalEnvOption) {
|
|
10
|
-
super(options,
|
|
7
|
+
super(options, CHECKOUT_PAYMASTER_CONTRACT_INTERFACE, 'checkoutPaymasterAddress', PaymasterType.CheckoutSponsor);
|
|
11
8
|
}
|
|
12
9
|
async getPaymasterAndData(options) {
|
|
13
10
|
const paymasterAddress = await this.getPaymasterAddress(options);
|
|
14
11
|
return paymasterAddress.toLowerCase();
|
|
15
12
|
}
|
|
16
13
|
async stake(_sponsor, amount, options) {
|
|
17
|
-
const chain = await
|
|
18
|
-
const amountdec = await
|
|
14
|
+
const chain = await Chain.getChain({ chainIdentifier: options.chain });
|
|
15
|
+
const amountdec = await Token.getDecimalAmount('eth', amount, chain);
|
|
19
16
|
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'deposit', [], BigInt(amountdec));
|
|
20
17
|
}
|
|
21
18
|
async unstake(receiver, amount, options) {
|
|
22
|
-
const chain = await
|
|
23
|
-
const amountdec = await
|
|
19
|
+
const chain = await Chain.getChain({ chainIdentifier: options.chain });
|
|
20
|
+
const amountdec = await Token.getDecimalAmount('eth', amount, chain);
|
|
24
21
|
return this.contractInterface.encodeTransactionParams(await this.getPaymasterAddress(), 'withdrawTo', [receiver, amountdec]);
|
|
25
22
|
}
|
|
26
23
|
async lockDeposit() {
|
|
@@ -61,5 +58,4 @@ class CheckoutSponsor extends Sponsor_1.Sponsor {
|
|
|
61
58
|
throw new Error(`batchBlacklistSpenders is not supported on Checkout Sponsor`);
|
|
62
59
|
}
|
|
63
60
|
}
|
|
64
|
-
exports.CheckoutSponsor = CheckoutSponsor;
|
|
65
61
|
//# sourceMappingURL=CheckoutSponsor.js.map
|