@pushchain/core 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/package.json +1 -1
- package/src/lib/constants/abi/feeLocker.json +132 -17
- package/src/lib/constants/chain.js +1 -1
- package/src/lib/constants/index.d.ts +1 -0
- package/src/lib/constants/viem-push-testnet.d.ts +1 -0
- package/src/lib/generated/v1/tx.d.ts +2 -2
- package/src/lib/generated/v1/tx.js +110 -140
- package/src/lib/generated/v1/tx.js.map +1 -1
- package/src/lib/orchestrator/orchestrator.d.ts +1 -0
- package/src/lib/orchestrator/orchestrator.js +42 -10
- package/src/lib/orchestrator/orchestrator.js.map +1 -1
- package/src/lib/price-fetch/price-fetch.d.ts +0 -7
- package/src/lib/price-fetch/price-fetch.js +13 -73
- package/src/lib/price-fetch/price-fetch.js.map +1 -1
- package/src/lib/push-client/push-client.js +3 -3
- package/src/lib/push-client/push-client.js.map +1 -1
- package/src/lib/pushChain.d.ts +1 -0
- package/src/lib/universal/account/account.js +15 -6
- package/src/lib/universal/account/account.js.map +1 -1
- package/src/lib/universal/signer/signer.d.ts +7 -7
- package/src/lib/universal/signer/signer.js +61 -116
- package/src/lib/universal/signer/signer.js.map +1 -1
- package/src/lib/universal/universal.types.d.ts +6 -5
- package/src/lib/vm-client/evm-client.d.ts +12 -0
- package/src/lib/vm-client/evm-client.js +35 -12
- package/src/lib/vm-client/evm-client.js.map +1 -1
- package/src/lib/vm-client/svm-client.d.ts +12 -0
- package/src/lib/vm-client/svm-client.js +69 -45
- package/src/lib/vm-client/svm-client.js.map +1 -1
|
@@ -4,6 +4,7 @@ exports.SvmClient = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
6
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
7
|
+
const bytes_1 = require("@coral-xyz/anchor/dist/cjs/utils/bytes");
|
|
7
8
|
/**
|
|
8
9
|
* Solana-compatible VM client for reading and writing SVM-based chains.
|
|
9
10
|
*/
|
|
@@ -82,32 +83,30 @@ class SvmClient {
|
|
|
82
83
|
*/
|
|
83
84
|
writeContract(_a) {
|
|
84
85
|
return tslib_1.__awaiter(this, arguments, void 0, function* ({ abi, signer, functionName, args = [], accounts = {}, extraSigners = [], }) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
});
|
|
110
|
-
}), 'writeContract');
|
|
86
|
+
// 1. Grab or build your RPC connection however your class manages it
|
|
87
|
+
const connection = this.connections[this.currentConnectionIndex];
|
|
88
|
+
// 2. Create an AnchorProvider
|
|
89
|
+
const provider = new anchor_1.AnchorProvider(connection, new anchor_1.Wallet(new web3_js_1.Keypair()), // replace with your payer wallet
|
|
90
|
+
{ preflightCommitment: 'confirmed' });
|
|
91
|
+
// 3. Instantiate the program (Anchor v0.31 will infer programId from IDL.metadata.address)
|
|
92
|
+
const program = new anchor_1.Program(abi, provider);
|
|
93
|
+
// 4. Convert any BigInt args into BN for Anchor
|
|
94
|
+
const convertedArgs = args.map((arg) => typeof arg === 'bigint' ? new anchor_1.BN(arg.toString()) : arg);
|
|
95
|
+
// 5. Build the method call
|
|
96
|
+
let builder = convertedArgs.length > 0
|
|
97
|
+
? program.methods[functionName](...convertedArgs)
|
|
98
|
+
: program.methods[functionName]();
|
|
99
|
+
if (Object.keys(accounts).length > 0) {
|
|
100
|
+
builder = builder.accounts(accounts);
|
|
101
|
+
}
|
|
102
|
+
// 6. Get the actual instruction
|
|
103
|
+
const instruction = yield builder.instruction();
|
|
104
|
+
// 7. Send it and return the tx signature
|
|
105
|
+
return this.sendTransaction({
|
|
106
|
+
instruction,
|
|
107
|
+
signer,
|
|
108
|
+
extraSigners,
|
|
109
|
+
});
|
|
111
110
|
});
|
|
112
111
|
}
|
|
113
112
|
/**
|
|
@@ -115,26 +114,26 @@ class SvmClient {
|
|
|
115
114
|
*/
|
|
116
115
|
sendTransaction(_a) {
|
|
117
116
|
return tslib_1.__awaiter(this, arguments, void 0, function* ({ instruction, signer, extraSigners = [], }) {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
tx.addSignature(feePayerPubkey, Buffer.from(signature));
|
|
133
|
-
const rawTx = tx.serialize();
|
|
134
|
-
return yield conn.sendRawTransaction(rawTx);
|
|
117
|
+
const connection = this.connections[this.currentConnectionIndex];
|
|
118
|
+
const feePayer = new web3_js_1.PublicKey(signer.account.address);
|
|
119
|
+
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash('finalized');
|
|
120
|
+
const tx = new web3_js_1.Transaction({
|
|
121
|
+
feePayer,
|
|
122
|
+
blockhash,
|
|
123
|
+
lastValidBlockHeight,
|
|
124
|
+
}).add(instruction);
|
|
125
|
+
if (extraSigners.length > 0) {
|
|
126
|
+
tx.partialSign(...extraSigners);
|
|
127
|
+
}
|
|
128
|
+
const txBytes = tx.serialize({
|
|
129
|
+
requireAllSignatures: false,
|
|
130
|
+
verifySignatures: false,
|
|
135
131
|
});
|
|
136
|
-
|
|
137
|
-
|
|
132
|
+
if (!signer.signAndSendTransaction) {
|
|
133
|
+
throw new Error('signer.signTransaction is undefined');
|
|
134
|
+
}
|
|
135
|
+
const txHashBytes = yield signer.signAndSendTransaction(txBytes);
|
|
136
|
+
return bytes_1.bs58.encode(txHashBytes); // Clean, readable tx hash
|
|
138
137
|
});
|
|
139
138
|
}
|
|
140
139
|
/**
|
|
@@ -180,6 +179,31 @@ class SvmClient {
|
|
|
180
179
|
}), 'estimateGas');
|
|
181
180
|
});
|
|
182
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Waits for a Solana transaction to reach the desired confirmations.
|
|
184
|
+
*
|
|
185
|
+
* @param txSignature - The transaction signature to monitor
|
|
186
|
+
* @param confirmations - Desired confirmation count (default: 6)
|
|
187
|
+
* @param timeoutMs - Max wait time in milliseconds (default: 90_000)
|
|
188
|
+
*/
|
|
189
|
+
waitForConfirmations(_a) {
|
|
190
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ txSignature, confirmations = 2, timeoutMs = 90000, }) {
|
|
191
|
+
return this.executeWithFallback((connection) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
const start = Date.now();
|
|
193
|
+
while (Date.now() - start < timeoutMs) {
|
|
194
|
+
const result = yield connection.getSignatureStatuses([txSignature]);
|
|
195
|
+
const status = result.value[0];
|
|
196
|
+
if (status &&
|
|
197
|
+
status.confirmations !== null &&
|
|
198
|
+
status.confirmations >= confirmations) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
yield new Promise((r) => setTimeout(r, 500));
|
|
202
|
+
}
|
|
203
|
+
throw new Error(`Solana tx ${txSignature} not confirmed after ${timeoutMs}ms`);
|
|
204
|
+
}), 'waitForConfirmations');
|
|
205
|
+
});
|
|
206
|
+
}
|
|
183
207
|
}
|
|
184
208
|
exports.SvmClient = SvmClient;
|
|
185
209
|
//# sourceMappingURL=svm-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svm-client.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/vm-client/svm-client.ts"],"names":[],"mappings":";;;;AAAA,6CAMyB;AAMzB,8CAAwE;
|
|
1
|
+
{"version":3,"file":"svm-client.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/vm-client/svm-client.ts"],"names":[],"mappings":"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"}
|