@tradestack/paymaster 1.0.22 → 1.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/sdk/index.d.ts +1 -4
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +39 -76
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/types.d.ts +1 -0
- package/dist/sdk/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/sdk/index.d.ts
CHANGED
|
@@ -6,11 +6,8 @@ export declare class HalalPaymaster extends EventEmitter {
|
|
|
6
6
|
private db;
|
|
7
7
|
private workers;
|
|
8
8
|
private running;
|
|
9
|
-
private originalLog;
|
|
10
|
-
private originalError;
|
|
11
|
-
private originalWarn;
|
|
12
|
-
private isLogging;
|
|
13
9
|
constructor(config: HalalPaymasterConfig);
|
|
10
|
+
private log;
|
|
14
11
|
private validateConfig;
|
|
15
12
|
start(): Promise<void>;
|
|
16
13
|
private runSweepCycle;
|
package/dist/sdk/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACL,oBAAoB,EAIrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAOvD,qBAAa,cAAe,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACL,oBAAoB,EAIrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAOvD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,oBAAoB;IAwBxC,OAAO,CAAC,GAAG;IAaX,OAAO,CAAC,cAAc;IAwBhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA6Bd,aAAa;IAsCrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrB,kBAAkB,CACtB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,eAAe,GAAE,MAAc,GAC9B,OAAO,CAAC;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAoEI,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBxD,eAAe,CAAC,OAAO,EAAE,MAAM;CAGtC;AAED,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC"}
|
package/dist/sdk/index.js
CHANGED
|
@@ -47,14 +47,9 @@ const entryPointAbi_json_1 = __importDefault(require("../backend/contract/abi/en
|
|
|
47
47
|
const ethers_1 = require("ethers");
|
|
48
48
|
class HalalPaymaster extends events_1.EventEmitter {
|
|
49
49
|
constructor(config) {
|
|
50
|
-
super();
|
|
50
|
+
super();
|
|
51
51
|
this.workers = new Map();
|
|
52
52
|
this.running = false;
|
|
53
|
-
// save original console methods for restore on stop
|
|
54
|
-
this.originalLog = console.log.bind(console);
|
|
55
|
-
this.originalError = console.error.bind(console);
|
|
56
|
-
this.originalWarn = console.warn.bind(console);
|
|
57
|
-
this.isLogging = false; // ← class property here
|
|
58
53
|
this.validateConfig(config);
|
|
59
54
|
this.config = config;
|
|
60
55
|
this.db = new adapter_1.DBAdapter(config.database.url, config.database.type, config.database.tables);
|
|
@@ -71,6 +66,15 @@ class HalalPaymaster extends events_1.EventEmitter {
|
|
|
71
66
|
process.env.DATABASE_URL = config.database.url;
|
|
72
67
|
process.env.SWEEP_THRESHOLD_USD = String(config.sweepThresholdUSD ?? 1);
|
|
73
68
|
}
|
|
69
|
+
// ─── internal logger ───────────────────────────────────────────────────────
|
|
70
|
+
log(level, message, chain = "system") {
|
|
71
|
+
const event = { chain, level, message, timestamp: new Date() };
|
|
72
|
+
this.emit("log", event);
|
|
73
|
+
if (this.config.onLog) {
|
|
74
|
+
this.config.onLog(event);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// ─── validation ────────────────────────────────────────────────────────────
|
|
74
78
|
validateConfig(config) {
|
|
75
79
|
if (!config.database?.url)
|
|
76
80
|
throw new Error("[SDK] database.url is required");
|
|
@@ -93,61 +97,22 @@ class HalalPaymaster extends events_1.EventEmitter {
|
|
|
93
97
|
if (!config.chains?.length)
|
|
94
98
|
throw new Error("[SDK] at least one chain is required");
|
|
95
99
|
}
|
|
100
|
+
// ─── start ─────────────────────────────────────────────────────────────────
|
|
96
101
|
async start() {
|
|
97
102
|
if (this.running) {
|
|
98
|
-
|
|
103
|
+
this.log("warn", "Already running");
|
|
99
104
|
return;
|
|
100
105
|
}
|
|
101
|
-
// in start():
|
|
102
|
-
console.log = (...args) => {
|
|
103
|
-
this.originalLog(...args);
|
|
104
|
-
if (this.isLogging)
|
|
105
|
-
return;
|
|
106
|
-
this.isLogging = true;
|
|
107
|
-
this.emit("log", {
|
|
108
|
-
chain: "system",
|
|
109
|
-
level: "info",
|
|
110
|
-
message: args.join(" "),
|
|
111
|
-
timestamp: new Date(),
|
|
112
|
-
});
|
|
113
|
-
this.isLogging = false;
|
|
114
|
-
};
|
|
115
|
-
console.error = (...args) => {
|
|
116
|
-
this.originalError(...args);
|
|
117
|
-
if (this.isLogging)
|
|
118
|
-
return;
|
|
119
|
-
this.isLogging = true;
|
|
120
|
-
this.emit("log", {
|
|
121
|
-
chain: "system",
|
|
122
|
-
level: "error",
|
|
123
|
-
message: args.join(" "),
|
|
124
|
-
timestamp: new Date(),
|
|
125
|
-
});
|
|
126
|
-
this.isLogging = false;
|
|
127
|
-
};
|
|
128
|
-
console.warn = (...args) => {
|
|
129
|
-
this.originalWarn(...args);
|
|
130
|
-
if (this.isLogging)
|
|
131
|
-
return;
|
|
132
|
-
this.isLogging = true;
|
|
133
|
-
this.emit("log", {
|
|
134
|
-
chain: "system",
|
|
135
|
-
level: "warn",
|
|
136
|
-
message: args.join(" "),
|
|
137
|
-
timestamp: new Date(),
|
|
138
|
-
});
|
|
139
|
-
this.isLogging = false;
|
|
140
|
-
};
|
|
141
106
|
await this.db.connect();
|
|
142
107
|
this.running = true;
|
|
143
108
|
const intervalMs = (this.config.sweepInterval ?? 300) * 1000;
|
|
144
109
|
for (const chainKey of this.config.chains) {
|
|
145
110
|
const chainConfig = chains_1.CHAIN_CONFIGS[chainKey];
|
|
146
111
|
if (!chainConfig) {
|
|
147
|
-
|
|
112
|
+
this.log("warn", `Unknown chain: ${chainKey}, skipping`);
|
|
148
113
|
continue;
|
|
149
114
|
}
|
|
150
|
-
|
|
115
|
+
this.log("info", `Starting sweep worker for ${chainConfig.name}`);
|
|
151
116
|
await this.runSweepCycle(chainKey);
|
|
152
117
|
const timer = setInterval(async () => {
|
|
153
118
|
await this.runSweepCycle(chainKey);
|
|
@@ -157,6 +122,7 @@ class HalalPaymaster extends events_1.EventEmitter {
|
|
|
157
122
|
process.on("SIGINT", () => this.stop());
|
|
158
123
|
process.on("SIGTERM", () => this.stop());
|
|
159
124
|
}
|
|
125
|
+
// ─── sweep cycle ───────────────────────────────────────────────────────────
|
|
160
126
|
async runSweepCycle(chainKey) {
|
|
161
127
|
try {
|
|
162
128
|
const { runSweepCycle } = await Promise.resolve().then(() => __importStar(require("../backend/services/sweep.worker")));
|
|
@@ -179,26 +145,24 @@ class HalalPaymaster extends events_1.EventEmitter {
|
|
|
179
145
|
});
|
|
180
146
|
}
|
|
181
147
|
catch (err) {
|
|
182
|
-
|
|
148
|
+
this.log("error", `Sweep cycle error for ${chainKey}: ${err}`, chainKey);
|
|
183
149
|
}
|
|
184
150
|
}
|
|
151
|
+
// ─── stop ──────────────────────────────────────────────────────────────────
|
|
185
152
|
async stop() {
|
|
186
153
|
if (!this.running)
|
|
187
|
-
return;
|
|
188
|
-
|
|
154
|
+
return;
|
|
155
|
+
this.log("info", "Stopping sweep workers...");
|
|
189
156
|
this.running = false;
|
|
190
157
|
for (const [chainKey, timer] of this.workers) {
|
|
191
158
|
clearInterval(timer);
|
|
192
|
-
|
|
159
|
+
this.log("info", `Stopped worker for ${chainKey}`);
|
|
193
160
|
}
|
|
194
161
|
this.workers.clear();
|
|
195
162
|
await this.db.disconnect();
|
|
196
|
-
|
|
197
|
-
// restore original console
|
|
198
|
-
console.log = this.originalLog;
|
|
199
|
-
console.error = this.originalError;
|
|
200
|
-
console.warn = this.originalWarn;
|
|
163
|
+
this.log("info", "All workers stopped");
|
|
201
164
|
}
|
|
165
|
+
// ─── deposit to paymaster ──────────────────────────────────────────────────
|
|
202
166
|
async depositToPaymaster(chainKey, depositAmountEth, stakeAmountEth, unstakeDelaySec = 86400) {
|
|
203
167
|
const chainConfig = chains_1.CHAIN_CONFIGS[chainKey];
|
|
204
168
|
if (!chainConfig)
|
|
@@ -214,47 +178,44 @@ class HalalPaymaster extends events_1.EventEmitter {
|
|
|
214
178
|
const signer = new ethers_1.ethers.Wallet(signerKey, provider);
|
|
215
179
|
const paymasterContract = new ethers_1.ethers.Contract(chainConfig.paymasterAddress, HalalPaymasterAbi_json_1.default, signer);
|
|
216
180
|
const entryPoint = new ethers_1.ethers.Contract(chainConfig.entryPointAddress, entryPointAbi_json_1.default, provider);
|
|
217
|
-
// ─── deposit
|
|
218
|
-
|
|
181
|
+
// ─── deposit ─────────────────────────────────────────────────────────────
|
|
182
|
+
this.log("info", `Simulating deposit of ${depositAmountEth} ETH...`, chainConfig.name);
|
|
219
183
|
await paymasterContract.deposit.staticCall({
|
|
220
184
|
value: ethers_1.ethers.parseEther(depositAmountEth),
|
|
221
185
|
});
|
|
222
|
-
|
|
223
|
-
|
|
186
|
+
this.log("info", `Deposit simulation passed`, chainConfig.name);
|
|
187
|
+
this.log("info", `Depositing ${depositAmountEth} ETH into paymaster...`, chainConfig.name);
|
|
224
188
|
const depositTx = await paymasterContract.deposit({
|
|
225
189
|
value: ethers_1.ethers.parseEther(depositAmountEth),
|
|
226
190
|
});
|
|
227
191
|
await depositTx.wait();
|
|
228
|
-
|
|
229
|
-
// ─── stake only if amount > 0
|
|
192
|
+
this.log("info", `Deposited ${depositAmountEth} ETH | tx: ${depositTx.hash}`, chainConfig.name);
|
|
193
|
+
// ─── stake only if amount > 0 ─────────────────────────────────────────────
|
|
230
194
|
let stakeTxHash = "";
|
|
231
195
|
if (parseFloat(stakeAmountEth) > 0) {
|
|
232
|
-
|
|
196
|
+
this.log("info", `Simulating stake of ${stakeAmountEth} ETH...`, chainConfig.name);
|
|
233
197
|
await paymasterContract.addStake.staticCall(unstakeDelaySec, {
|
|
234
198
|
value: ethers_1.ethers.parseEther(stakeAmountEth),
|
|
235
199
|
});
|
|
236
|
-
|
|
237
|
-
|
|
200
|
+
this.log("info", `Stake simulation passed`, chainConfig.name);
|
|
201
|
+
this.log("info", `Staking ${stakeAmountEth} ETH...`, chainConfig.name);
|
|
238
202
|
const stakeTx = await paymasterContract.addStake(unstakeDelaySec, {
|
|
239
203
|
value: ethers_1.ethers.parseEther(stakeAmountEth),
|
|
240
204
|
});
|
|
241
205
|
await stakeTx.wait();
|
|
242
206
|
stakeTxHash = stakeTx.hash;
|
|
243
|
-
|
|
207
|
+
this.log("info", `Staked ${stakeAmountEth} ETH | tx: ${stakeTxHash}`, chainConfig.name);
|
|
244
208
|
}
|
|
245
209
|
else {
|
|
246
|
-
|
|
210
|
+
this.log("info", `Skipping stake`, chainConfig.name);
|
|
247
211
|
}
|
|
248
|
-
// ─── check balance
|
|
212
|
+
// ─── check balance ────────────────────────────────────────────────────────
|
|
249
213
|
const balance = await entryPoint.balanceOf(chainConfig.paymasterAddress);
|
|
250
214
|
const currentBalance = ethers_1.ethers.formatEther(balance);
|
|
251
|
-
|
|
252
|
-
return {
|
|
253
|
-
depositTxHash: depositTx.hash,
|
|
254
|
-
stakeTxHash,
|
|
255
|
-
currentBalance,
|
|
256
|
-
};
|
|
215
|
+
this.log("info", `Paymaster balance: ${currentBalance} ETH`, chainConfig.name);
|
|
216
|
+
return { depositTxHash: depositTx.hash, stakeTxHash, currentBalance };
|
|
257
217
|
}
|
|
218
|
+
// ─── get paymaster balance ─────────────────────────────────────────────────
|
|
258
219
|
async getPaymasterBalance(chainKey) {
|
|
259
220
|
const chainConfig = chains_1.CHAIN_CONFIGS[chainKey];
|
|
260
221
|
if (!chainConfig || !(0, chains_2.isEVMConfig)(chainConfig))
|
|
@@ -264,8 +225,10 @@ class HalalPaymaster extends events_1.EventEmitter {
|
|
|
264
225
|
const provider = new ethers_1.ethers.JsonRpcProvider(chainConfig.rpcUrl);
|
|
265
226
|
const entryPoint = new ethers_1.ethers.Contract(chainConfig.entryPointAddress, entryPointAbi_json_1.default, provider);
|
|
266
227
|
const balance = await entryPoint.balanceOf(chainConfig.paymasterAddress);
|
|
228
|
+
this.log("info", `Paymaster balance: ${ethers_1.ethers.formatEther(balance)} ETH`, chainConfig.name);
|
|
267
229
|
return ethers_1.ethers.formatEther(balance);
|
|
268
230
|
}
|
|
231
|
+
// ─── get sweep history ─────────────────────────────────────────────────────
|
|
269
232
|
async getSweepHistory(address) {
|
|
270
233
|
return this.db.getSweepHistory(address);
|
|
271
234
|
}
|
package/dist/sdk/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAsC;AAOtC,0CAAyC;AACzC,qDAAyD;AAEzD,6DAA4D;AAC5D,qDAAuD;AACvD,4GAA2E;AAC3E,oGAAyE;AACzE,mCAAgC;AAEhC,MAAa,cAAe,SAAQ,qBAAY;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/types.d.ts
CHANGED
|
@@ -62,5 +62,6 @@ export interface HalalPaymasterConfig {
|
|
|
62
62
|
sweepThresholdUSD?: number;
|
|
63
63
|
onSweepComplete?: (event: SweepCompleteEvent) => Promise<void>;
|
|
64
64
|
onSweepFailed?: (event: SweepFailedEvent) => Promise<void>;
|
|
65
|
+
onLog?: (event: SweepLogEvent) => void;
|
|
65
66
|
}
|
|
66
67
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/sdk/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC;AAGD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC;AAGD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,YAAY,CAAC;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradestack/paymaster",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Multi-chain sweep and paymaster SDK: EVM, Solana, Tron. Gasless transactions for your users.",
|
|
5
5
|
"main": "dist/sdk/index.js",
|
|
6
6
|
"types": "dist/sdk/index.d.ts",
|
|
@@ -52,4 +52,4 @@
|
|
|
52
52
|
"engines": {
|
|
53
53
|
"node": ">=18.0.0"
|
|
54
54
|
}
|
|
55
|
-
}
|
|
55
|
+
}
|