@funkit/core 0.10.11 → 1.0.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/src/apis/CheckoutApis.d.ts +3 -2
- package/dist/src/apis/CheckoutApis.js +17 -3
- package/dist/src/apis/CheckoutApis.js.map +1 -1
- package/dist/src/apis/types.d.ts +19 -1
- package/dist/src/apis/types.js.map +1 -1
- package/dist/src/auth/SessionKeyAuth.js +2 -2
- package/dist/src/auth/SessionKeyAuth.js.map +1 -1
- package/dist/src/common/constants.d.ts +2518 -0
- package/dist/src/common/constants.js +8 -1
- package/dist/src/common/constants.js.map +1 -1
- package/dist/src/utils/ViemUtils.js +3 -1
- package/dist/src/utils/ViemUtils.js.map +1 -1
- package/dist/src/viem/Converter.d.ts +6271 -579
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Address } from 'viem';
|
|
2
|
-
import { CheckoutCoreInitParams, CheckoutCoreQuoteParams, CheckoutCoreQuoteResponse, CheckoutHistoryItem, CheckoutTransferSponsorshipCoreParams, CheckoutTransferSponsorshipResponse } from './types';
|
|
2
|
+
import { CheckoutCoreInitParams, CheckoutCoreQuoteParams, CheckoutCoreQuoteResponse, CheckoutHistoryItem, CheckoutRequestRefuelCoreParams, CheckoutRequestRefuelResponse, CheckoutTransferSponsorshipCoreParams, CheckoutTransferSponsorshipResponse } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Gets a checkout quote (estimation).
|
|
5
5
|
* @param fromChainId The ID of the chain where funds will be provided from.
|
|
@@ -11,7 +11,7 @@ import { CheckoutCoreInitParams, CheckoutCoreQuoteParams, CheckoutCoreQuoteRespo
|
|
|
11
11
|
* @param apiKey A valid fun api key.
|
|
12
12
|
* @return {Promise<CheckoutCoreQuoteResponse>} The formatted quote object
|
|
13
13
|
*/
|
|
14
|
-
export declare function getCheckoutQuote({ fromChainId, fromTokenAddress, toChainId, toTokenAddress, toTokenAmount, expirationTimestampMs, sponsorInitialTransferGasLimit, recipientAddr, apiKey, }: CheckoutCoreQuoteParams): Promise<CheckoutCoreQuoteResponse>;
|
|
14
|
+
export declare function getCheckoutQuote({ fromChainId, fromTokenAddress, toChainId, toTokenAddress, toTokenAmount, expirationTimestampMs, sponsorInitialTransferGasLimit, recipientAddr, needsRefuel, apiKey, }: CheckoutCoreQuoteParams): Promise<CheckoutCoreQuoteResponse>;
|
|
15
15
|
/**
|
|
16
16
|
* Initializes a checkout
|
|
17
17
|
* @param userOp The checkout UserOp, signed.
|
|
@@ -52,3 +52,4 @@ export declare function getCheckoutsByRecipientAddress({ recipientAddress, apiKe
|
|
|
52
52
|
apiKey: string;
|
|
53
53
|
}): Promise<CheckoutHistoryItem[]>;
|
|
54
54
|
export declare function getPaymasterDataForCheckoutSponsoredTransfer({ depositAddress, transferUserOp, apiKey, }: CheckoutTransferSponsorshipCoreParams): Promise<CheckoutTransferSponsorshipResponse>;
|
|
55
|
+
export declare function requestCheckoutRefuel({ signedTxData, depositAddress, apiKey, }: CheckoutRequestRefuelCoreParams): Promise<CheckoutRequestRefuelResponse>;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getPaymasterDataForCheckoutSponsoredTransfer = exports.getCheckoutsByRecipientAddress = exports.getCheckoutsByFunWalletAddress = exports.getCheckoutByDepositAddress = exports.initializeCheckout = exports.getCheckoutQuote = void 0;
|
|
6
|
+
exports.requestCheckoutRefuel = exports.getPaymasterDataForCheckoutSponsoredTransfer = exports.getCheckoutsByRecipientAddress = exports.getCheckoutsByFunWalletAddress = exports.getCheckoutByDepositAddress = exports.initializeCheckout = exports.getCheckoutQuote = void 0;
|
|
7
7
|
const big_js_1 = __importDefault(require("big.js"));
|
|
8
8
|
const viem_1 = require("viem");
|
|
9
9
|
const constants_1 = require("../common/constants");
|
|
@@ -21,7 +21,7 @@ const CheckoutUtils_1 = require("../utils/CheckoutUtils");
|
|
|
21
21
|
* @param apiKey A valid fun api key.
|
|
22
22
|
* @return {Promise<CheckoutCoreQuoteResponse>} The formatted quote object
|
|
23
23
|
*/
|
|
24
|
-
async function getCheckoutQuote({ fromChainId, fromTokenAddress, toChainId, toTokenAddress, toTokenAmount, expirationTimestampMs, sponsorInitialTransferGasLimit, recipientAddr, apiKey, }) {
|
|
24
|
+
async function getCheckoutQuote({ fromChainId, fromTokenAddress, toChainId, toTokenAddress, toTokenAmount, expirationTimestampMs, sponsorInitialTransferGasLimit, recipientAddr, needsRefuel, apiKey, }) {
|
|
25
25
|
try {
|
|
26
26
|
const toDecimals = await (0, CheckoutUtils_1.getDecimals)({
|
|
27
27
|
chainId: toChainId,
|
|
@@ -33,7 +33,7 @@ async function getCheckoutQuote({ fromChainId, fromTokenAddress, toChainId, toTo
|
|
|
33
33
|
fromTokenAddress,
|
|
34
34
|
toChainId,
|
|
35
35
|
toTokenAddress,
|
|
36
|
-
toAmountBaseUnit: (toTokenAmount * toMultipler).toString(),
|
|
36
|
+
toAmountBaseUnit: Math.floor(toTokenAmount * toMultipler).toString(),
|
|
37
37
|
// Only pass in recipientAddr if specified
|
|
38
38
|
...((0, viem_1.isAddress)(recipientAddr || '') ? { recipientAddr } : {}),
|
|
39
39
|
// Rounding nearest tenth second (instead of seconds) to better support backend quote caching feature
|
|
@@ -41,6 +41,7 @@ async function getCheckoutQuote({ fromChainId, fromTokenAddress, toChainId, toTo
|
|
|
41
41
|
// Note: Rounding *down* instead of a regular round to safeguard against edge case of timing passing frontend range validation but failing backend range validation
|
|
42
42
|
checkoutExpirationTimestampSeconds: (0, CheckoutUtils_1.roundToNearestBottomTenth)(Math.round((Date.now() + expirationTimestampMs) / 1000)).toString(),
|
|
43
43
|
sponsorInitialTransferGasLimit,
|
|
44
|
+
refuel: needsRefuel.toString(),
|
|
44
45
|
};
|
|
45
46
|
const searchParams = new URLSearchParams(queryParams);
|
|
46
47
|
const url = `checkout/quote?${searchParams}`;
|
|
@@ -150,4 +151,17 @@ async function getPaymasterDataForCheckoutSponsoredTransfer({ depositAddress, tr
|
|
|
150
151
|
return res;
|
|
151
152
|
}
|
|
152
153
|
exports.getPaymasterDataForCheckoutSponsoredTransfer = getPaymasterDataForCheckoutSponsoredTransfer;
|
|
154
|
+
async function requestCheckoutRefuel({ signedTxData, depositAddress, apiKey, }) {
|
|
155
|
+
const body = {
|
|
156
|
+
depositAddr: depositAddress,
|
|
157
|
+
signedTx: signedTxData,
|
|
158
|
+
};
|
|
159
|
+
const res = await (0, ApiUtils_1.sendPostRequest)(constants_1.API_URL, 'checkout/refuel', body, apiKey);
|
|
160
|
+
if (!res) {
|
|
161
|
+
// TODO: Better error handling
|
|
162
|
+
throw new Error('Unable to perform refuelling');
|
|
163
|
+
}
|
|
164
|
+
return res;
|
|
165
|
+
}
|
|
166
|
+
exports.requestCheckoutRefuel = requestCheckoutRefuel;
|
|
153
167
|
//# sourceMappingURL=CheckoutApis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutApis.js","sourceRoot":"","sources":["../../../src/apis/CheckoutApis.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAwB;AACxB,+BAAyC;AAEzC,mDAA6C;AAC7C,sCAA4D;AAC5D,gDAAmE;AACnE,0DAI+B;
|
|
1
|
+
{"version":3,"file":"CheckoutApis.js","sourceRoot":"","sources":["../../../src/apis/CheckoutApis.ts"],"names":[],"mappings":"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"}
|
package/dist/src/apis/types.d.ts
CHANGED
|
@@ -63,11 +63,13 @@ export type CheckoutApiQuoteParams = {
|
|
|
63
63
|
toAmountBaseUnit: string;
|
|
64
64
|
checkoutExpirationTimestampSeconds: string;
|
|
65
65
|
sponsorInitialTransferGasLimit: string;
|
|
66
|
+
refuel: string;
|
|
66
67
|
recipientAddr?: Address;
|
|
67
68
|
};
|
|
68
|
-
export type CheckoutCoreQuoteParams = Omit<CheckoutApiQuoteParams, 'toAmountBaseUnit' | 'checkoutExpirationTimestampSeconds'> & {
|
|
69
|
+
export type CheckoutCoreQuoteParams = Omit<CheckoutApiQuoteParams, 'toAmountBaseUnit' | 'checkoutExpirationTimestampSeconds' | 'refuel'> & {
|
|
69
70
|
toTokenAmount: number;
|
|
70
71
|
expirationTimestampMs: number;
|
|
72
|
+
needsRefuel: boolean;
|
|
71
73
|
apiKey: string;
|
|
72
74
|
};
|
|
73
75
|
export type CheckoutApiQuoteResponse = {
|
|
@@ -145,3 +147,19 @@ export type CheckoutTransferSponsorshipResponse = {
|
|
|
145
147
|
deadline: number;
|
|
146
148
|
paymasterAndData: Hex;
|
|
147
149
|
};
|
|
150
|
+
/**===============================*
|
|
151
|
+
* CHECKOUT REFUELLING (FOR EOAs) *
|
|
152
|
+
*================================*/
|
|
153
|
+
export type CheckoutRequestRefuelCoreParams = {
|
|
154
|
+
signedTxData: Hex;
|
|
155
|
+
depositAddress: Address;
|
|
156
|
+
apiKey: string;
|
|
157
|
+
};
|
|
158
|
+
export type CheckoutRequestRefuelApiParams = {
|
|
159
|
+
signedTx: Hex;
|
|
160
|
+
depositAddr: Address;
|
|
161
|
+
};
|
|
162
|
+
export type CheckoutRequestRefuelResponse = {
|
|
163
|
+
refuelTxHash: Hex;
|
|
164
|
+
depositTxHash: Hex;
|
|
165
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/apis/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/apis/types.ts"],"names":[],"mappings":";;;AA+HA,6HAA6H;AAC7H,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,qBAAqB;IACrB,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;IACvB,kBAAkB;IAClB,wCAAuB,CAAA;IACvB,kDAAiC,CAAA;IACjC,oCAAmB,CAAA;AACrB,CAAC,EAZW,aAAa,6BAAb,aAAa,QAYxB"}
|
|
@@ -7,8 +7,6 @@ const data_1 = require("../data");
|
|
|
7
7
|
const ViemUtils_1 = require("../utils/ViemUtils");
|
|
8
8
|
const Auth_1 = require("./Auth");
|
|
9
9
|
const SELECTOR_LENGTH = 10;
|
|
10
|
-
const execFromEntryPointSelector = (0, ViemUtils_1.getSigHash)(common_1.WALLET_ABI, 'execFromEntryPoint');
|
|
11
|
-
const execFromEntryPointFeeSelector = (0, ViemUtils_1.getSigHash)(common_1.WALLET_ABI, 'execFromEntryPointWithFee');
|
|
12
10
|
class SessionKeyAuth extends Auth_1.Auth {
|
|
13
11
|
constructor(authInput, ruleId, roleId, targetSelectorMerkleTree, feeRecipientMerkleTree) {
|
|
14
12
|
super(authInput);
|
|
@@ -88,6 +86,8 @@ const getSelectorFromCall = (callData) => {
|
|
|
88
86
|
};
|
|
89
87
|
exports.getSelectorFromCall = getSelectorFromCall;
|
|
90
88
|
const decodeCalldata = (callData) => {
|
|
89
|
+
const execFromEntryPointFeeSelector = (0, ViemUtils_1.getSigHash)(common_1.WALLET_ABI, 'execFromEntryPointWithFee');
|
|
90
|
+
const execFromEntryPointSelector = (0, ViemUtils_1.getSigHash)(common_1.WALLET_ABI, 'execFromEntryPoint');
|
|
91
91
|
if (callData.includes(execFromEntryPointFeeSelector)) {
|
|
92
92
|
return _decodeExecWithFee(callData);
|
|
93
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionKeyAuth.js","sourceRoot":"","sources":["../../../src/auth/SessionKeyAuth.ts"],"names":[],"mappings":";;;AAAA,+BAA6D;AAE7D,sCAA6D;AAC7D,kCAKgB;AAEhB,kDAA+C;AAC/C,iCAA6B;AAG7B,MAAM,eAAe,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"SessionKeyAuth.js","sourceRoot":"","sources":["../../../src/auth/SessionKeyAuth.ts"],"names":[],"mappings":"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"}
|