@turnkey/gas-station 3.0.1 → 3.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/abi/reimbursable-gas-station.d.ts +756 -0
- package/dist/abi/reimbursable-gas-station.d.ts.map +1 -0
- package/dist/abi/reimbursable-gas-station.js +625 -0
- package/dist/abi/reimbursable-gas-station.js.map +1 -0
- package/dist/abi/reimbursable-gas-station.mjs +623 -0
- package/dist/abi/reimbursable-gas-station.mjs.map +1 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/config.mjs +2 -1
- package/dist/config.mjs.map +1 -1
- package/dist/gasStationClient.d.ts +21 -1
- package/dist/gasStationClient.d.ts.map +1 -1
- package/dist/gasStationClient.js +89 -0
- package/dist/gasStationClient.js.map +1 -1
- package/dist/gasStationClient.mjs +90 -1
- package/dist/gasStationClient.mjs.map +1 -1
- package/dist/gasStationUtils.d.ts +15 -0
- package/dist/gasStationUtils.d.ts.map +1 -1
- package/dist/gasStationUtils.js +18 -0
- package/dist/gasStationUtils.js.map +1 -1
- package/dist/gasStationUtils.mjs +18 -1
- package/dist/gasStationUtils.mjs.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -2
- package/dist/index.mjs.map +1 -1
- package/dist/intentBuilder.d.ts +8 -0
- package/dist/intentBuilder.d.ts.map +1 -1
- package/dist/intentBuilder.js +43 -0
- package/dist/intentBuilder.js.map +1 -1
- package/dist/intentBuilder.mjs +44 -1
- package/dist/intentBuilder.mjs.map +1 -1
- package/package.json +1 -1
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAKzE,eAAO,MAAM,yBAAyB,EAAE,GACM,CAAC;AAC/C,eAAO,MAAM,0BAA0B,EAAE,GACK,CAAC;AAG/C,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,GAAG,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,CAAC;IACf,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmBrD,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAQnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,OAAO,aAAa,EACtC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC/B,WAAW,CAQb"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAKzE,eAAO,MAAM,yBAAyB,EAAE,GACM,CAAC;AAC/C,eAAO,MAAM,0BAA0B,EAAE,GACK,CAAC;AAC/C,eAAO,MAAM,kCAAkC,EAAE,GACH,CAAC;AAG/C,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,GAAG,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,CAAC;IACf,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,2BAA4B,SAAQ,eAAe;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmBrD,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAQnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,OAAO,aAAa,EACtC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC/B,WAAW,CAQb"}
|
package/dist/config.js
CHANGED
|
@@ -5,6 +5,7 @@ var chains = require('viem/chains');
|
|
|
5
5
|
// Default contract addresses (deterministically deployed across all chains)
|
|
6
6
|
const DEFAULT_DELEGATE_CONTRACT = "0x000066a00056CD44008768E2aF00696e19A30084";
|
|
7
7
|
const DEFAULT_EXECUTION_CONTRACT = "0x00000000008c57a1CE37836a5e9d36759D070d8c";
|
|
8
|
+
const DEFAULT_REIMBURSABLE_USDC_CONTRACT = "0x4c0a2998B4Dc7BAF418109b80E5dde7395703dcb";
|
|
8
9
|
// Chain preset configurations
|
|
9
10
|
const CHAIN_PRESETS = {
|
|
10
11
|
BASE_MAINNET: {
|
|
@@ -52,6 +53,7 @@ function getPreset(presetName, overrides) {
|
|
|
52
53
|
exports.CHAIN_PRESETS = CHAIN_PRESETS;
|
|
53
54
|
exports.DEFAULT_DELEGATE_CONTRACT = DEFAULT_DELEGATE_CONTRACT;
|
|
54
55
|
exports.DEFAULT_EXECUTION_CONTRACT = DEFAULT_EXECUTION_CONTRACT;
|
|
56
|
+
exports.DEFAULT_REIMBURSABLE_USDC_CONTRACT = DEFAULT_REIMBURSABLE_USDC_CONTRACT;
|
|
55
57
|
exports.createCustomPreset = createCustomPreset;
|
|
56
58
|
exports.getPreset = getPreset;
|
|
57
59
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../src/config.ts"],"sourcesContent":[null],"names":["base","mainnet","sepolia"],"mappings":";;;;AAIA;AACO,MAAM,yBAAyB,GACpC;AACK,MAAM,0BAA0B,GACrC;
|
|
1
|
+
{"version":3,"file":"config.js","sources":["../src/config.ts"],"sourcesContent":[null],"names":["base","mainnet","sepolia"],"mappings":";;;;AAIA;AACO,MAAM,yBAAyB,GACpC;AACK,MAAM,0BAA0B,GACrC;AACK,MAAM,kCAAkC,GAC7C;AAoDF;AACO,MAAM,aAAa,GAAgC;AACxD,IAAA,YAAY,EAAE;AACZ,QAAA,KAAK,EAAEA,WAAI;AACX,QAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;AACtC,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,4CAA4C;AACnD,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,KAAK,EAAEC,cAAO;AACd,QAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;AACrC,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,4CAA4C;AACnD,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAEC,cAAO;AACd,QAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;AAC1C,KAAA;;AAGH;;AAEG;AACG,SAAU,kBAAkB,CAAC,MAAmB,EAAA;AACpD,IAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;IACpD;AACA,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAClB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;AAEG;AACG,SAAU,SAAS,CACvB,UAAsC,EACtC,SAAgC,EAAA;AAEhC,IAAA,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,CAAA,aAAA,EAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACrF;IACH;AACA,IAAA,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE;AACpC;;;;;;;;;"}
|
package/dist/config.mjs
CHANGED
|
@@ -3,6 +3,7 @@ import { sepolia, mainnet, base } from 'viem/chains';
|
|
|
3
3
|
// Default contract addresses (deterministically deployed across all chains)
|
|
4
4
|
const DEFAULT_DELEGATE_CONTRACT = "0x000066a00056CD44008768E2aF00696e19A30084";
|
|
5
5
|
const DEFAULT_EXECUTION_CONTRACT = "0x00000000008c57a1CE37836a5e9d36759D070d8c";
|
|
6
|
+
const DEFAULT_REIMBURSABLE_USDC_CONTRACT = "0x4c0a2998B4Dc7BAF418109b80E5dde7395703dcb";
|
|
6
7
|
// Chain preset configurations
|
|
7
8
|
const CHAIN_PRESETS = {
|
|
8
9
|
BASE_MAINNET: {
|
|
@@ -47,5 +48,5 @@ function getPreset(presetName, overrides) {
|
|
|
47
48
|
return { ...preset, ...overrides };
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
export { CHAIN_PRESETS, DEFAULT_DELEGATE_CONTRACT, DEFAULT_EXECUTION_CONTRACT, createCustomPreset, getPreset };
|
|
51
|
+
export { CHAIN_PRESETS, DEFAULT_DELEGATE_CONTRACT, DEFAULT_EXECUTION_CONTRACT, DEFAULT_REIMBURSABLE_USDC_CONTRACT, createCustomPreset, getPreset };
|
|
51
52
|
//# sourceMappingURL=config.mjs.map
|
package/dist/config.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../src/config.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;AACO,MAAM,yBAAyB,GACpC;AACK,MAAM,0BAA0B,GACrC;
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../src/config.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;AACO,MAAM,yBAAyB,GACpC;AACK,MAAM,0BAA0B,GACrC;AACK,MAAM,kCAAkC,GAC7C;AAoDF;AACO,MAAM,aAAa,GAAgC;AACxD,IAAA,YAAY,EAAE;AACZ,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;AACtC,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,4CAA4C;AACnD,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;AACrC,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,4CAA4C;AACnD,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;AAC1C,KAAA;;AAGH;;AAEG;AACG,SAAU,kBAAkB,CAAC,MAAmB,EAAA;AACpD,IAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;IACpD;AACA,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAClB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;AAEG;AACG,SAAU,SAAS,CACvB,UAAsC,EACtC,SAAgC,EAAA;AAEhC,IAAA,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,CAAA,aAAA,EAAgB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACrF;IACH;AACA,IAAA,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE;AACpC;;;;"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type SignedAuthorization, type Hex } from "viem";
|
|
2
|
-
import type { GasStationConfig, ExecutionIntent, ApprovalExecutionIntent } from "./config";
|
|
2
|
+
import type { GasStationConfig, ExecutionIntent, ApprovalExecutionIntent, ReimbursableExecutionIntent } from "./config";
|
|
3
3
|
import { IntentBuilder } from "./intentBuilder";
|
|
4
4
|
export declare class GasStationClient {
|
|
5
5
|
private walletClient;
|
|
6
6
|
private publicClient;
|
|
7
7
|
private delegateContract;
|
|
8
8
|
private executionContract;
|
|
9
|
+
private reimbursableContract;
|
|
9
10
|
constructor(config: GasStationConfig);
|
|
10
11
|
/**
|
|
11
12
|
* Sign an EIP-7702 authorization to delegate control to the gas station contract
|
|
@@ -86,5 +87,24 @@ export declare class GasStationClient {
|
|
|
86
87
|
blockNumber: bigint;
|
|
87
88
|
gasUsed: bigint;
|
|
88
89
|
}>;
|
|
90
|
+
/**
|
|
91
|
+
* Sign a reimbursable execution transaction (paymaster signs, doesn't send).
|
|
92
|
+
* This is useful for testing policies - the paymaster attempts to sign the execution
|
|
93
|
+
* but doesn't actually broadcast it to the network.
|
|
94
|
+
* Call this with a paymaster client to test if the paymaster can sign the execution.
|
|
95
|
+
*/
|
|
96
|
+
signReimbursableExecution(intent: ReimbursableExecutionIntent): Promise<Hex>;
|
|
97
|
+
/**
|
|
98
|
+
* Execute with reimbursement through the reimbursable gas station contract.
|
|
99
|
+
* The EOA pays for gas in USDC rather than the paymaster covering the cost.
|
|
100
|
+
* The contract pulls initialDepositUSDC from the EOA, executes the transaction
|
|
101
|
+
* with a gas limit of transactionGasLimitWei, and refunds any unused USDC.
|
|
102
|
+
* Call this with a paymaster client to submit the transaction (paymaster only pays initial gas).
|
|
103
|
+
*/
|
|
104
|
+
executeWithReimbursement(intent: ReimbursableExecutionIntent): Promise<{
|
|
105
|
+
txHash: Hex;
|
|
106
|
+
blockNumber: bigint;
|
|
107
|
+
gasUsed: bigint;
|
|
108
|
+
}>;
|
|
89
109
|
}
|
|
90
110
|
//# sourceMappingURL=gasStationClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasStationClient.d.ts","sourceRoot":"","sources":["../src/gasStationClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EAMxB,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"gasStationClient.d.ts","sourceRoot":"","sources":["../src/gasStationClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EAMxB,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,oBAAoB,CAAM;gBAEtB,MAAM,EAAE,gBAAgB;IAcpC;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUvE;;;;;OAKG;IACG,oBAAoB,CACxB,cAAc,EAAE,mBAAmB,EAAE,GACpC,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BhD;;;OAGG;IACG,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAatD;;;OAGG;IACG,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAajD;;;;;;;;;OASG;YACW,eAAe;IAkD7B;;;OAGG;IACH,YAAY,IAAI,aAAa;IAa7B;;;;;OAKG;IACG,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAkC1D;;;;;OAKG;IACG,OAAO,CACX,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA+CjE;;;;;OAKG;IACG,wBAAwB,CAC5B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,GAAG,CAAC;IAqCf;;;;;;OAMG;IACG,kBAAkB,CACtB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkDjE;;;;;OAKG;IACG,yBAAyB,CAC7B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,GAAG,CAAC;IAmCf;;;;;;OAMG;IACG,wBAAwB,CAC5B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAgDlE"}
|
package/dist/gasStationClient.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var viem = require('viem');
|
|
4
4
|
var gasStation = require('./abi/gas-station.js');
|
|
5
|
+
var reimbursableGasStation = require('./abi/reimbursable-gas-station.js');
|
|
5
6
|
var config = require('./config.js');
|
|
6
7
|
var intentBuilder = require('./intentBuilder.js');
|
|
7
8
|
var gasStationUtils = require('./gasStationUtils.js');
|
|
@@ -14,6 +15,8 @@ class GasStationClient {
|
|
|
14
15
|
config$1.delegateContract ?? config.DEFAULT_DELEGATE_CONTRACT;
|
|
15
16
|
this.executionContract =
|
|
16
17
|
config$1.executionContract ?? config.DEFAULT_EXECUTION_CONTRACT;
|
|
18
|
+
this.reimbursableContract =
|
|
19
|
+
config$1.reimbursableContract ?? config.DEFAULT_REIMBURSABLE_USDC_CONTRACT;
|
|
17
20
|
}
|
|
18
21
|
/**
|
|
19
22
|
* Sign an EIP-7702 authorization to delegate control to the gas station contract
|
|
@@ -320,6 +323,92 @@ class GasStationClient {
|
|
|
320
323
|
gasUsed: receipt.gasUsed,
|
|
321
324
|
};
|
|
322
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Sign a reimbursable execution transaction (paymaster signs, doesn't send).
|
|
328
|
+
* This is useful for testing policies - the paymaster attempts to sign the execution
|
|
329
|
+
* but doesn't actually broadcast it to the network.
|
|
330
|
+
* Call this with a paymaster client to test if the paymaster can sign the execution.
|
|
331
|
+
*/
|
|
332
|
+
async signReimbursableExecution(intent) {
|
|
333
|
+
// Pack the execution data (signature, nonce, deadline, args)
|
|
334
|
+
const packedExecutionData = gasStationUtils.packExecutionData({
|
|
335
|
+
signature: intent.signature,
|
|
336
|
+
nonce: intent.nonce,
|
|
337
|
+
deadline: intent.deadline,
|
|
338
|
+
args: intent.callData,
|
|
339
|
+
});
|
|
340
|
+
const callData = viem.encodeFunctionData({
|
|
341
|
+
abi: reimbursableGasStation.reimbursableGasStationAbi,
|
|
342
|
+
functionName: "executeReturns",
|
|
343
|
+
args: [
|
|
344
|
+
intent.initialDepositUSDC,
|
|
345
|
+
intent.transactionGasLimitWei,
|
|
346
|
+
intent.sessionSignature,
|
|
347
|
+
intent.eoaAddress,
|
|
348
|
+
intent.outputContract,
|
|
349
|
+
intent.ethAmount,
|
|
350
|
+
packedExecutionData,
|
|
351
|
+
],
|
|
352
|
+
});
|
|
353
|
+
const signedTx = await this.walletClient.signTransaction({
|
|
354
|
+
to: this.reimbursableContract,
|
|
355
|
+
data: callData,
|
|
356
|
+
gas: BigInt(300000),
|
|
357
|
+
type: "eip1559",
|
|
358
|
+
account: this.walletClient.account,
|
|
359
|
+
chain: this.walletClient.chain,
|
|
360
|
+
});
|
|
361
|
+
return signedTx;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Execute with reimbursement through the reimbursable gas station contract.
|
|
365
|
+
* The EOA pays for gas in USDC rather than the paymaster covering the cost.
|
|
366
|
+
* The contract pulls initialDepositUSDC from the EOA, executes the transaction
|
|
367
|
+
* with a gas limit of transactionGasLimitWei, and refunds any unused USDC.
|
|
368
|
+
* Call this with a paymaster client to submit the transaction (paymaster only pays initial gas).
|
|
369
|
+
*/
|
|
370
|
+
async executeWithReimbursement(intent) {
|
|
371
|
+
// Pack the execution data (signature, nonce, deadline, args)
|
|
372
|
+
const packedExecutionData = gasStationUtils.packExecutionData({
|
|
373
|
+
signature: intent.signature,
|
|
374
|
+
nonce: intent.nonce,
|
|
375
|
+
deadline: intent.deadline,
|
|
376
|
+
args: intent.callData,
|
|
377
|
+
});
|
|
378
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
379
|
+
to: this.reimbursableContract,
|
|
380
|
+
data: viem.encodeFunctionData({
|
|
381
|
+
abi: reimbursableGasStation.reimbursableGasStationAbi,
|
|
382
|
+
functionName: "executeReturns",
|
|
383
|
+
args: [
|
|
384
|
+
intent.initialDepositUSDC,
|
|
385
|
+
intent.transactionGasLimitWei,
|
|
386
|
+
intent.sessionSignature,
|
|
387
|
+
intent.eoaAddress,
|
|
388
|
+
intent.outputContract,
|
|
389
|
+
intent.ethAmount,
|
|
390
|
+
packedExecutionData,
|
|
391
|
+
],
|
|
392
|
+
}),
|
|
393
|
+
gas: BigInt(300000),
|
|
394
|
+
account: this.walletClient.account,
|
|
395
|
+
});
|
|
396
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({
|
|
397
|
+
hash: txHash,
|
|
398
|
+
});
|
|
399
|
+
if (receipt.status !== "success") {
|
|
400
|
+
// Try to get the revert reason if available
|
|
401
|
+
const revertReason = await this.getRevertReason(txHash);
|
|
402
|
+
throw new Error(`Reimbursable execution failed: ${revertReason || "Transaction reverted"}. ` +
|
|
403
|
+
`Gas used: ${receipt.gasUsed}/${receipt.cumulativeGasUsed}. ` +
|
|
404
|
+
`Transaction hash: ${txHash}`);
|
|
405
|
+
}
|
|
406
|
+
return {
|
|
407
|
+
txHash,
|
|
408
|
+
blockNumber: receipt.blockNumber,
|
|
409
|
+
gasUsed: receipt.gasUsed,
|
|
410
|
+
};
|
|
411
|
+
}
|
|
323
412
|
}
|
|
324
413
|
|
|
325
414
|
exports.GasStationClient = GasStationClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasStationClient.js","sources":["../src/gasStationClient.ts"],"sourcesContent":[null],"names":["config","createPublicClientForChain","DEFAULT_DELEGATE_CONTRACT","DEFAULT_EXECUTION_CONTRACT","gasStationAbi","IntentBuilder","packExecutionData","encodeFunctionData"],"mappings":"
|
|
1
|
+
{"version":3,"file":"gasStationClient.js","sources":["../src/gasStationClient.ts"],"sourcesContent":[null],"names":["config","createPublicClientForChain","DEFAULT_DELEGATE_CONTRACT","DEFAULT_EXECUTION_CONTRACT","DEFAULT_REIMBURSABLE_USDC_CONTRACT","gasStationAbi","IntentBuilder","packExecutionData","encodeFunctionData","reimbursableGasStationAbi"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { encodeFunctionData } from 'viem';
|
|
2
2
|
import { gasStationAbi } from './abi/gas-station.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { reimbursableGasStationAbi } from './abi/reimbursable-gas-station.mjs';
|
|
4
|
+
import { DEFAULT_DELEGATE_CONTRACT, DEFAULT_EXECUTION_CONTRACT, DEFAULT_REIMBURSABLE_USDC_CONTRACT } from './config.mjs';
|
|
4
5
|
import { IntentBuilder } from './intentBuilder.mjs';
|
|
5
6
|
import { createPublicClientForChain, packExecutionData } from './gasStationUtils.mjs';
|
|
6
7
|
|
|
@@ -12,6 +13,8 @@ class GasStationClient {
|
|
|
12
13
|
config.delegateContract ?? DEFAULT_DELEGATE_CONTRACT;
|
|
13
14
|
this.executionContract =
|
|
14
15
|
config.executionContract ?? DEFAULT_EXECUTION_CONTRACT;
|
|
16
|
+
this.reimbursableContract =
|
|
17
|
+
config.reimbursableContract ?? DEFAULT_REIMBURSABLE_USDC_CONTRACT;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* Sign an EIP-7702 authorization to delegate control to the gas station contract
|
|
@@ -318,6 +321,92 @@ class GasStationClient {
|
|
|
318
321
|
gasUsed: receipt.gasUsed,
|
|
319
322
|
};
|
|
320
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* Sign a reimbursable execution transaction (paymaster signs, doesn't send).
|
|
326
|
+
* This is useful for testing policies - the paymaster attempts to sign the execution
|
|
327
|
+
* but doesn't actually broadcast it to the network.
|
|
328
|
+
* Call this with a paymaster client to test if the paymaster can sign the execution.
|
|
329
|
+
*/
|
|
330
|
+
async signReimbursableExecution(intent) {
|
|
331
|
+
// Pack the execution data (signature, nonce, deadline, args)
|
|
332
|
+
const packedExecutionData = packExecutionData({
|
|
333
|
+
signature: intent.signature,
|
|
334
|
+
nonce: intent.nonce,
|
|
335
|
+
deadline: intent.deadline,
|
|
336
|
+
args: intent.callData,
|
|
337
|
+
});
|
|
338
|
+
const callData = encodeFunctionData({
|
|
339
|
+
abi: reimbursableGasStationAbi,
|
|
340
|
+
functionName: "executeReturns",
|
|
341
|
+
args: [
|
|
342
|
+
intent.initialDepositUSDC,
|
|
343
|
+
intent.transactionGasLimitWei,
|
|
344
|
+
intent.sessionSignature,
|
|
345
|
+
intent.eoaAddress,
|
|
346
|
+
intent.outputContract,
|
|
347
|
+
intent.ethAmount,
|
|
348
|
+
packedExecutionData,
|
|
349
|
+
],
|
|
350
|
+
});
|
|
351
|
+
const signedTx = await this.walletClient.signTransaction({
|
|
352
|
+
to: this.reimbursableContract,
|
|
353
|
+
data: callData,
|
|
354
|
+
gas: BigInt(300000),
|
|
355
|
+
type: "eip1559",
|
|
356
|
+
account: this.walletClient.account,
|
|
357
|
+
chain: this.walletClient.chain,
|
|
358
|
+
});
|
|
359
|
+
return signedTx;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Execute with reimbursement through the reimbursable gas station contract.
|
|
363
|
+
* The EOA pays for gas in USDC rather than the paymaster covering the cost.
|
|
364
|
+
* The contract pulls initialDepositUSDC from the EOA, executes the transaction
|
|
365
|
+
* with a gas limit of transactionGasLimitWei, and refunds any unused USDC.
|
|
366
|
+
* Call this with a paymaster client to submit the transaction (paymaster only pays initial gas).
|
|
367
|
+
*/
|
|
368
|
+
async executeWithReimbursement(intent) {
|
|
369
|
+
// Pack the execution data (signature, nonce, deadline, args)
|
|
370
|
+
const packedExecutionData = packExecutionData({
|
|
371
|
+
signature: intent.signature,
|
|
372
|
+
nonce: intent.nonce,
|
|
373
|
+
deadline: intent.deadline,
|
|
374
|
+
args: intent.callData,
|
|
375
|
+
});
|
|
376
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
377
|
+
to: this.reimbursableContract,
|
|
378
|
+
data: encodeFunctionData({
|
|
379
|
+
abi: reimbursableGasStationAbi,
|
|
380
|
+
functionName: "executeReturns",
|
|
381
|
+
args: [
|
|
382
|
+
intent.initialDepositUSDC,
|
|
383
|
+
intent.transactionGasLimitWei,
|
|
384
|
+
intent.sessionSignature,
|
|
385
|
+
intent.eoaAddress,
|
|
386
|
+
intent.outputContract,
|
|
387
|
+
intent.ethAmount,
|
|
388
|
+
packedExecutionData,
|
|
389
|
+
],
|
|
390
|
+
}),
|
|
391
|
+
gas: BigInt(300000),
|
|
392
|
+
account: this.walletClient.account,
|
|
393
|
+
});
|
|
394
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({
|
|
395
|
+
hash: txHash,
|
|
396
|
+
});
|
|
397
|
+
if (receipt.status !== "success") {
|
|
398
|
+
// Try to get the revert reason if available
|
|
399
|
+
const revertReason = await this.getRevertReason(txHash);
|
|
400
|
+
throw new Error(`Reimbursable execution failed: ${revertReason || "Transaction reverted"}. ` +
|
|
401
|
+
`Gas used: ${receipt.gasUsed}/${receipt.cumulativeGasUsed}. ` +
|
|
402
|
+
`Transaction hash: ${txHash}`);
|
|
403
|
+
}
|
|
404
|
+
return {
|
|
405
|
+
txHash,
|
|
406
|
+
blockNumber: receipt.blockNumber,
|
|
407
|
+
gasUsed: receipt.gasUsed,
|
|
408
|
+
};
|
|
409
|
+
}
|
|
321
410
|
}
|
|
322
411
|
|
|
323
412
|
export { GasStationClient };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasStationClient.mjs","sources":["../src/gasStationClient.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gasStationClient.mjs","sources":["../src/gasStationClient.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -7232,4 +7232,19 @@ export declare function packExecutionData({ signature, nonce, deadline, args, }:
|
|
|
7232
7232
|
deadline: number;
|
|
7233
7233
|
args: Hex;
|
|
7234
7234
|
}): Hex;
|
|
7235
|
+
/**
|
|
7236
|
+
* Packs session signature data for the reimbursable gas station.
|
|
7237
|
+
* Used to authorize USDC transfers for gas payment.
|
|
7238
|
+
*
|
|
7239
|
+
* Packed data format:
|
|
7240
|
+
* Layout: [signature(65)][nonce(16)][deadline(4)]
|
|
7241
|
+
* - signature: bytes 0-64 (65 bytes)
|
|
7242
|
+
* - nonce: bytes 65-80 (16 bytes, uint128)
|
|
7243
|
+
* - deadline: bytes 81-84 (4 bytes, uint32)
|
|
7244
|
+
*/
|
|
7245
|
+
export declare function packSessionSignature({ signature, nonce, deadline, }: {
|
|
7246
|
+
signature: Hex;
|
|
7247
|
+
nonce: bigint;
|
|
7248
|
+
deadline: number;
|
|
7249
|
+
}): Hex;
|
|
7235
7250
|
//# sourceMappingURL=gasStationUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasStationUtils.d.ts","sourceRoot":"","sources":["../src/gasStationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EAIT,MAAM,MAAM,CAAC;AAGd,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8EvE;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA3EF;AAGD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BZ,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,GAAG,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,GACb,eAAe,CAUjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAM7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,eAAe,CAUjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,eAAe,CAUlB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,OAAO,EACX,WAAW,EAAE,MAAM,GAClB,eAAe,CAEjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,IAAI,GACL,EAAE;IACD,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;CACX,GAAG,GAAG,CAON"}
|
|
1
|
+
{"version":3,"file":"gasStationUtils.d.ts","sourceRoot":"","sources":["../src/gasStationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EAIT,MAAM,MAAM,CAAC;AAGd,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8EvE;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAFH;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"}
|
package/dist/gasStationUtils.js
CHANGED
|
@@ -117,6 +117,23 @@ function packExecutionData({ signature, nonce, deadline, args, }) {
|
|
|
117
117
|
args, // variable length
|
|
118
118
|
]);
|
|
119
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Packs session signature data for the reimbursable gas station.
|
|
122
|
+
* Used to authorize USDC transfers for gas payment.
|
|
123
|
+
*
|
|
124
|
+
* Packed data format:
|
|
125
|
+
* Layout: [signature(65)][nonce(16)][deadline(4)]
|
|
126
|
+
* - signature: bytes 0-64 (65 bytes)
|
|
127
|
+
* - nonce: bytes 65-80 (16 bytes, uint128)
|
|
128
|
+
* - deadline: bytes 81-84 (4 bytes, uint32)
|
|
129
|
+
*/
|
|
130
|
+
function packSessionSignature({ signature, nonce, deadline, }) {
|
|
131
|
+
return viem.concat([
|
|
132
|
+
signature, // 65 bytes
|
|
133
|
+
viem.pad(viem.toHex(nonce), { size: 16 }), // 16 bytes (uint128)
|
|
134
|
+
viem.pad(viem.toHex(deadline), { size: 4 }), // 4 bytes (uint32)
|
|
135
|
+
]);
|
|
136
|
+
}
|
|
120
137
|
|
|
121
138
|
exports.ERC20_ABI = ERC20_ABI;
|
|
122
139
|
exports.buildContractCall = buildContractCall;
|
|
@@ -126,4 +143,5 @@ exports.buildTokenApproval = buildTokenApproval;
|
|
|
126
143
|
exports.buildTokenTransfer = buildTokenTransfer;
|
|
127
144
|
exports.createPublicClientForChain = createPublicClientForChain;
|
|
128
145
|
exports.packExecutionData = packExecutionData;
|
|
146
|
+
exports.packSessionSignature = packSessionSignature;
|
|
129
147
|
//# sourceMappingURL=gasStationUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasStationUtils.js","sources":["../src/gasStationUtils.ts"],"sourcesContent":[null],"names":["createPublicClient","http","encodeFunctionData","parseEther","concat","pad","toHex"],"mappings":";;;;AAkBM,SAAU,0BAA0B,CAAC,KAAY,EAAE,MAAc,EAAA;AACrE,IAAA,OAAOA,uBAAkB,CAAC;QACxB,KAAK;AACL,QAAA,SAAS,EAAEC,SAAI,CAAC,MAAM,CAAC;AACxB,KAAA,CAAC;AACJ;AAEA;AACO,MAAM,SAAS,GAAG;AACvB,IAAA;AACE,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,eAAe,EAAE,YAAY;AAC7B,QAAA,MAAM,EAAE;AACN,YAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;AAC/B,YAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;AACpC,SAAA;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7C,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAChD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,eAAe,EAAE,YAAY;AAC7B,QAAA,MAAM,EAAE;AACN,YAAA,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;AACpC,YAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;AACpC,SAAA;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7C,KAAA;;AAaH;;AAEG;SACa,kBAAkB,CAChC,KAAc,EACd,EAAW,EACX,MAAc,EAAA;IAEd,OAAO;AACL,QAAA,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAEC,uBAAkB,CAAC;AAC3B,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;SACnB,CAAC;AACF,QAAA,KAAK,EAAE,EAAE;KACV;AACH;AAEA;;AAEG;AACG,SAAU,gBAAgB,CAAC,EAAW,EAAE,MAAc,EAAA;IAC1D,OAAO;AACL,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,KAAK,EAAE,MAAM;KACd;AACH;AAEA;;AAEG;SACa,kBAAkB,CAChC,KAAc,EACd,OAAgB,EAChB,MAAc,EAAA;IAEd,OAAO;AACL,QAAA,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAEA,uBAAkB,CAAC;AAC3B,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SACxB,CAAC;AACF,QAAA,KAAK,EAAE,EAAE;KACV;AACH;AAEA;;AAEG;AACG,SAAU,iBAAiB,CAAC,MAMjC,EAAA;IACC,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,QAAQ;QAC/B,QAAQ,EAAEA,uBAAkB,CAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;AACF,QAAA,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;KAC1B;AACH;AAEA;;AAEG;AACG,SAAU,yBAAyB,CACvC,EAAW,EACX,WAAmB,EAAA;IAEnB,OAAO,gBAAgB,CAAC,EAAE,EAAEC,eAAU,CAAC,WAAW,CAAC,CAAC;AACtD;AAEA;;;;;;;;;;;;AAYG;AACG,SAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,IAAI,GAML,EAAA;AACC,IAAA,OAAOC,WAAM,CAAC;AACZ,QAAA,SAAS;AACT,QAAAC,QAAG,CAACC,UAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC/B,QAAAD,QAAG,CAACC,UAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACjC,QAAA,IAAI;AACL,KAAA,CAAC;AACJ
|
|
1
|
+
{"version":3,"file":"gasStationUtils.js","sources":["../src/gasStationUtils.ts"],"sourcesContent":[null],"names":["createPublicClient","http","encodeFunctionData","parseEther","concat","pad","toHex"],"mappings":"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"}
|
package/dist/gasStationUtils.mjs
CHANGED
|
@@ -115,6 +115,23 @@ function packExecutionData({ signature, nonce, deadline, args, }) {
|
|
|
115
115
|
args, // variable length
|
|
116
116
|
]);
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Packs session signature data for the reimbursable gas station.
|
|
120
|
+
* Used to authorize USDC transfers for gas payment.
|
|
121
|
+
*
|
|
122
|
+
* Packed data format:
|
|
123
|
+
* Layout: [signature(65)][nonce(16)][deadline(4)]
|
|
124
|
+
* - signature: bytes 0-64 (65 bytes)
|
|
125
|
+
* - nonce: bytes 65-80 (16 bytes, uint128)
|
|
126
|
+
* - deadline: bytes 81-84 (4 bytes, uint32)
|
|
127
|
+
*/
|
|
128
|
+
function packSessionSignature({ signature, nonce, deadline, }) {
|
|
129
|
+
return concat([
|
|
130
|
+
signature, // 65 bytes
|
|
131
|
+
pad(toHex(nonce), { size: 16 }), // 16 bytes (uint128)
|
|
132
|
+
pad(toHex(deadline), { size: 4 }), // 4 bytes (uint32)
|
|
133
|
+
]);
|
|
134
|
+
}
|
|
118
135
|
|
|
119
|
-
export { ERC20_ABI, buildContractCall, buildETHTransfer, buildETHTransferFromEther, buildTokenApproval, buildTokenTransfer, createPublicClientForChain, packExecutionData };
|
|
136
|
+
export { ERC20_ABI, buildContractCall, buildETHTransfer, buildETHTransferFromEther, buildTokenApproval, buildTokenTransfer, createPublicClientForChain, packExecutionData, packSessionSignature };
|
|
120
137
|
//# sourceMappingURL=gasStationUtils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasStationUtils.mjs","sources":["../src/gasStationUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gasStationUtils.mjs","sources":["../src/gasStationUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { GasStationClient } from "./gasStationClient";
|
|
2
2
|
export { IntentBuilder } from "./intentBuilder";
|
|
3
|
-
export { buildTokenTransfer, buildETHTransfer, buildTokenApproval, buildETHTransferFromEther, buildContractCall, packExecutionData, ERC20_ABI, } from "./gasStationUtils";
|
|
3
|
+
export { buildTokenTransfer, buildETHTransfer, buildTokenApproval, buildETHTransferFromEther, buildContractCall, packExecutionData, packSessionSignature, ERC20_ABI, } from "./gasStationUtils";
|
|
4
4
|
export type { ExecutionParams } from "./gasStationUtils";
|
|
5
|
-
export { CHAIN_PRESETS, getPreset, createCustomPreset, DEFAULT_EXECUTION_CONTRACT, DEFAULT_DELEGATE_CONTRACT, } from "./config";
|
|
5
|
+
export { CHAIN_PRESETS, getPreset, createCustomPreset, DEFAULT_EXECUTION_CONTRACT, DEFAULT_DELEGATE_CONTRACT, DEFAULT_REIMBURSABLE_USDC_CONTRACT, } from "./config";
|
|
6
6
|
export { buildIntentSigningPolicy, buildPaymasterExecutionPolicy, ensureGasStationInterface, uploadGasStationInterface, getSmartContractInterface, } from "./policyUtils";
|
|
7
|
-
export type { GasStationConfig, ChainPreset, ContractCallParams, ExecutionIntent, ApprovalExecutionIntent, } from "./config";
|
|
7
|
+
export type { GasStationConfig, ChainPreset, ContractCallParams, ExecutionIntent, ApprovalExecutionIntent, ReimbursableExecutionIntent, } from "./config";
|
|
8
|
+
export { gasStationAbi } from "./abi/gas-station";
|
|
9
|
+
export { reimbursableGasStationAbi } from "./abi/reimbursable-gas-station";
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EACL,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EACL,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,kCAAkC,GACnC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,8 @@ var intentBuilder = require('./intentBuilder.js');
|
|
|
5
5
|
var gasStationUtils = require('./gasStationUtils.js');
|
|
6
6
|
var config = require('./config.js');
|
|
7
7
|
var policyUtils = require('./policyUtils.js');
|
|
8
|
+
var gasStation = require('./abi/gas-station.js');
|
|
9
|
+
var reimbursableGasStation = require('./abi/reimbursable-gas-station.js');
|
|
8
10
|
|
|
9
11
|
|
|
10
12
|
|
|
@@ -17,9 +19,11 @@ exports.buildETHTransferFromEther = gasStationUtils.buildETHTransferFromEther;
|
|
|
17
19
|
exports.buildTokenApproval = gasStationUtils.buildTokenApproval;
|
|
18
20
|
exports.buildTokenTransfer = gasStationUtils.buildTokenTransfer;
|
|
19
21
|
exports.packExecutionData = gasStationUtils.packExecutionData;
|
|
22
|
+
exports.packSessionSignature = gasStationUtils.packSessionSignature;
|
|
20
23
|
exports.CHAIN_PRESETS = config.CHAIN_PRESETS;
|
|
21
24
|
exports.DEFAULT_DELEGATE_CONTRACT = config.DEFAULT_DELEGATE_CONTRACT;
|
|
22
25
|
exports.DEFAULT_EXECUTION_CONTRACT = config.DEFAULT_EXECUTION_CONTRACT;
|
|
26
|
+
exports.DEFAULT_REIMBURSABLE_USDC_CONTRACT = config.DEFAULT_REIMBURSABLE_USDC_CONTRACT;
|
|
23
27
|
exports.createCustomPreset = config.createCustomPreset;
|
|
24
28
|
exports.getPreset = config.getPreset;
|
|
25
29
|
exports.buildIntentSigningPolicy = policyUtils.buildIntentSigningPolicy;
|
|
@@ -27,4 +31,6 @@ exports.buildPaymasterExecutionPolicy = policyUtils.buildPaymasterExecutionPolic
|
|
|
27
31
|
exports.ensureGasStationInterface = policyUtils.ensureGasStationInterface;
|
|
28
32
|
exports.getSmartContractInterface = policyUtils.getSmartContractInterface;
|
|
29
33
|
exports.uploadGasStationInterface = policyUtils.uploadGasStationInterface;
|
|
34
|
+
exports.gasStationAbi = gasStation.gasStationAbi;
|
|
35
|
+
exports.reimbursableGasStationAbi = reimbursableGasStation.reimbursableGasStationAbi;
|
|
30
36
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|