@bounded-sh/core 0.0.51 → 0.0.53-next.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/client/operations.d.ts +2 -0
- package/dist/client/subscribe-query.d.ts +101 -0
- package/dist/{index-DpfaeNTQ.mjs → index-DHigIn6m.mjs} +598 -11
- package/dist/index-DHigIn6m.mjs.map +1 -0
- package/dist/{index-BaSw33ec.js → index-Dmnzhzk1.js} +603 -10
- package/dist/index-Dmnzhzk1.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{realtime-store-PVPxsvPr.js → realtime-store-4Yr6LyTX.js} +2 -2
- package/dist/{realtime-store-PVPxsvPr.js.map → realtime-store-4Yr6LyTX.js.map} +1 -1
- package/dist/{realtime-store-CBdRkQfZ.mjs → realtime-store-DkvVNYdn.mjs} +2 -2
- package/dist/{realtime-store-CBdRkQfZ.mjs.map → realtime-store-DkvVNYdn.mjs.map} +1 -1
- package/dist/{sol-utils-pVrt7VOx.js → sol-utils-Dni65Z63.js} +3 -4
- package/dist/sol-utils-Dni65Z63.js.map +1 -0
- package/dist/{sol-utils-D0Tdlpsc.mjs → sol-utils-v8cCs2pm.mjs} +3 -4
- package/dist/sol-utils-v8cCs2pm.mjs.map +1 -0
- package/dist/{solana-message-BVJWVB6C.js → solana-message-BP0L24CQ.js} +2 -2
- package/dist/{solana-message-BVJWVB6C.js.map → solana-message-BP0L24CQ.js.map} +1 -1
- package/dist/{solana-message-kTeT43eQ.mjs → solana-message-DoiFXEx_.mjs} +2 -2
- package/dist/{solana-message-kTeT43eQ.mjs.map → solana-message-DoiFXEx_.mjs.map} +1 -1
- package/dist/{solana-operations-bXuuPlov.js → solana-operations-DZldDVeJ.js} +2 -2
- package/dist/{solana-operations-bXuuPlov.js.map → solana-operations-DZldDVeJ.js.map} +1 -1
- package/dist/{solana-operations-B8UyHL26.mjs → solana-operations-SSv6xHs-.mjs} +2 -2
- package/dist/{solana-operations-B8UyHL26.mjs.map → solana-operations-SSv6xHs-.mjs.map} +1 -1
- package/package.json +2 -2
- package/dist/index-BaSw33ec.js.map +0 -1
- package/dist/index-DpfaeNTQ.mjs.map +0 -1
- package/dist/sol-utils-D0Tdlpsc.mjs.map +0 -1
- package/dist/sol-utils-pVrt7VOx.js.map +0 -1
|
@@ -190,7 +190,6 @@ async function buildSetDocumentsTransaction(connection, idl, programProvider, pa
|
|
|
190
190
|
// Resolve LUTs: additionalLutAddresses (when present) is the authoritative set.
|
|
191
191
|
// Falls back to lutKey alone for backwards compatibility.
|
|
192
192
|
const lookupTables = [];
|
|
193
|
-
const isSurfnet = programProvider.connection.rpcEndpoint == "https://surfpool.fly.dev";
|
|
194
193
|
if (additionalLutAddresses && additionalLutAddresses.length > 0) {
|
|
195
194
|
const results = await Promise.all(additionalLutAddresses.map(addr => connection.getAddressLookupTable(new PublicKey(addr)).catch(() => null)));
|
|
196
195
|
for (const result of results) {
|
|
@@ -218,14 +217,14 @@ async function buildSetDocumentsTransaction(connection, idl, programProvider, pa
|
|
|
218
217
|
lookupTables.push(table);
|
|
219
218
|
}
|
|
220
219
|
if (lookupTables.length === 0) {
|
|
221
|
-
const computeUnits =
|
|
220
|
+
const computeUnits = await getSimulationComputeUnits(connection, tx.instructions, payerPublicKey, [], chainSdk);
|
|
222
221
|
const computeBudgetIxOptimized = ComputeBudgetProgram.setComputeUnitLimit({
|
|
223
222
|
units: computeUnits ? computeUnits * 1.2 : 1400000,
|
|
224
223
|
}); // 20% buffer
|
|
225
224
|
tx.instructions[0] = computeBudgetIxOptimized;
|
|
226
225
|
return { tx, blockhash, lastValidBlockHeight };
|
|
227
226
|
}
|
|
228
|
-
const computeUnits =
|
|
227
|
+
const computeUnits = await getSimulationComputeUnits(connection, tx.instructions, payerPublicKey, lookupTables, chainSdk);
|
|
229
228
|
const computeBudgetIxOptimized = ComputeBudgetProgram.setComputeUnitLimit({
|
|
230
229
|
units: computeUnits ? computeUnits * 1.2 : 1400000,
|
|
231
230
|
}); // 20% buffer
|
|
@@ -240,4 +239,4 @@ async function buildSetDocumentsTransaction(connection, idl, programProvider, pa
|
|
|
240
239
|
}
|
|
241
240
|
|
|
242
241
|
export { buildSetDocumentsTransaction, isHexString };
|
|
243
|
-
//# sourceMappingURL=sol-utils-
|
|
242
|
+
//# sourceMappingURL=sol-utils-v8cCs2pm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sol-utils-v8cCs2pm.mjs","sources":["../.rollup-tmp/utils/sol/sol-utils.js"],"sourcesContent":["import BN from \"bn.js\";\n// ─────────────────────────────────────────────────────────────\n// Local implementation of getSimulationComputeUnits\n// (Replaces @solana-developers/helpers to avoid Wallet import issue in browser/ESM builds)\n// Source: https://github.com/solana-developers/helpers/blob/main/src/lib/transaction.ts\n// ─────────────────────────────────────────────────────────────\n/**\n * Check if a given instruction is a SetComputeUnitLimit instruction\n * See https://github.com/solana-program/compute-budget/blob/main/clients/js/src/generated/programs/computeBudget.ts#L29\n */\nfunction isSetComputeLimitInstruction(ix, computeBudgetProgram) {\n return (ix.programId.equals(computeBudgetProgram.programId) &&\n ix.data[0] === 2 // opcode for setComputeUnitLimit is 2\n );\n}\n/**\n * Get the compute units required for a set of instructions via simulation.\n * Credit https://twitter.com/stegabob, originally from https://x.com/stegaBOB/status/1766662289392889920\n */\nasync function getSimulationComputeUnits(connection, instructions, payer, lookupTables, chainSdk, commitment = \"confirmed\") {\n var _a, _b, _c;\n const simulationInstructions = [...instructions];\n // Replace or add compute limit instruction\n const computeLimitIndex = simulationInstructions.findIndex(ix => isSetComputeLimitInstruction(ix, chainSdk.ComputeBudgetProgram));\n const simulationLimitIx = chainSdk.ComputeBudgetProgram.setComputeUnitLimit({\n units: 1400000,\n });\n if (computeLimitIndex >= 0) {\n simulationInstructions[computeLimitIndex] = simulationLimitIx;\n }\n else {\n simulationInstructions.unshift(simulationLimitIx);\n }\n const testTransaction = new chainSdk.VersionedTransaction(new chainSdk.TransactionMessage({\n instructions: simulationInstructions,\n payerKey: payer,\n // RecentBlockhash can by any public key during simulation\n // since 'replaceRecentBlockhash' is set to 'true' below\n recentBlockhash: chainSdk.PublicKey.default.toString(),\n }).compileToV0Message(lookupTables));\n const rpcResponse = await connection.simulateTransaction(testTransaction, {\n replaceRecentBlockhash: true,\n sigVerify: false,\n commitment,\n });\n if ((_a = rpcResponse === null || rpcResponse === void 0 ? void 0 : rpcResponse.value) === null || _a === void 0 ? void 0 : _a.err) {\n const logs = ((_b = rpcResponse.value.logs) === null || _b === void 0 ? void 0 : _b.join(\"\\n • \")) || \"No logs available\";\n throw new Error(`Transaction simulation failed:\\n •${logs}` +\n JSON.stringify((_c = rpcResponse === null || rpcResponse === void 0 ? void 0 : rpcResponse.value) === null || _c === void 0 ? void 0 : _c.err));\n }\n return rpcResponse.value.unitsConsumed || null;\n}\n// ─────────────────────────────────────────────────────────────\n// Serialization Helpers\n// ─────────────────────────────────────────────────────────────\nexport function isHexString(value) {\n // Only strings can be hex-encoded. Numbers, BNs, and other shapes coming back\n // from the API for u64Val/i64Val should fall through to `new BN(value)` which\n // accepts those shapes natively. Without this guard, calling .startsWith on a\n // non-string blows up with TypeError.\n if (typeof value !== \"string\")\n return false;\n // Matches strings containing only 0-9, a-f, or A-F (optionally prefixed with 0x)\n let testValue = value;\n // Handle negative values\n if (value.startsWith(\"-\")) {\n testValue = value.slice(1);\n }\n const hexRegex = /^(0x)?[0-9a-fA-F]+$/;\n return hexRegex.test(testValue);\n}\nfunction prepareProgramArgs(documents, PublicKeyClass) {\n return documents.map((doc) => ({\n path: doc.path,\n operations: doc.operations.map((op) => {\n let preparedValue = null;\n if (op.value) {\n if (\"u64Val\" in op.value) {\n if (isHexString(op.value.u64Val.value)) {\n preparedValue = { u64Val: { value: new BN(op.value.u64Val.value, \"hex\") } };\n }\n else {\n preparedValue = { u64Val: { value: new BN(op.value.u64Val.value) } };\n }\n }\n else if (\"i64Val\" in op.value) {\n if (isHexString(op.value.i64Val.value)) {\n if (op.value.i64Val.value.startsWith(\"-\")) {\n preparedValue = { i64Val: { value: new BN(op.value.i64Val.value.slice(1), \"hex\").mul(new BN(-1)) } };\n }\n else {\n preparedValue = { i64Val: { value: new BN(op.value.i64Val.value, \"hex\") } };\n }\n }\n else {\n preparedValue = { i64Val: { value: new BN(op.value.i64Val.value) } };\n }\n }\n else if (op.value.boolVal) {\n preparedValue = { boolVal: { value: !!op.value.boolVal.value } };\n }\n else if (op.value.stringVal) {\n preparedValue = { stringVal: { value: String(op.value.stringVal.value) } };\n }\n else if (op.value.addressVal) {\n preparedValue = { addressVal: { value: new PublicKeyClass(op.value.addressVal.value) } };\n }\n else {\n preparedValue = op.value;\n }\n }\n return {\n key: op.key,\n value: preparedValue,\n operation: op.operation,\n };\n }),\n }));\n}\n// ─────────────────────────────────────────────────────────────\n// Updated Transaction Builder: It now accepts a PublicKey for the payer\n// ─────────────────────────────────────────────────────────────\nexport async function buildSetDocumentsTransaction(connection, idl, programProvider, payerPublicKey, args, remainingAccounts, lutKey, preInstructions, simulate, additionalLutAddresses) {\n // LITERAL dynamic import specifiers on purpose: bundlers can only code-split\n // a lazy chunk when the specifier is statically analyzable. (An earlier pass\n // obfuscated these to satisfy a bundle-grep check — that breaks Vite/webpack\n // consumers at runtime. Verify laziness with esbuild --splitting instead.)\n const [chainSdk, programSdk] = await Promise.all([\n import(\"@solana/web3.js\"),\n import(\"@coral-xyz/anchor\"),\n ]);\n const { ComputeBudgetProgram, PublicKey } = chainSdk;\n const { Program } = programSdk;\n // The sync convertRemainingAccounts facade produces PublicKey DUCK-TYPES\n // (base58/bytes/equals only) so callers can dedupe without loading web3.\n // Anything entering Anchor/web3 internals must be a REAL PublicKey —\n // instanceof checks and _bn internals are not part of the duck contract.\n // web3 is loaded here, so rehydrate at this seam.\n const asRealPublicKey = (value) => value instanceof PublicKey ? value : new PublicKey(value.toBytes());\n remainingAccounts = remainingAccounts.map((account) => ({\n pubkey: asRealPublicKey(account.pubkey),\n isWritable: account.isWritable,\n isSigner: account.isSigner,\n }));\n payerPublicKey = asRealPublicKey(payerPublicKey);\n const computeBudgetIx = ComputeBudgetProgram.setComputeUnitLimit({\n units: 1400000,\n });\n //TODO: Figure out long term solution to estimate heap frame size\n const requestHeapFrameIx = ComputeBudgetProgram.requestHeapFrame({\n bytes: 1024 * 160,\n });\n const instructions = [];\n instructions.unshift(requestHeapFrameIx);\n instructions.unshift(computeBudgetIx);\n instructions.push(...preInstructions);\n let tx = null;\n if (idl.address === \"taro6CvKqwrYrDc16ufYgzQ2NZcyyVKStffbtudrhRu\") {\n const program = new Program(idl, programProvider);\n tx = await program.methods\n .setDocuments(args.app_id, prepareProgramArgs(args.documents, PublicKey), args.delete_paths, simulate)\n .preInstructions(instructions)\n .accounts({\n payer: payerPublicKey\n })\n .remainingAccounts(remainingAccounts)\n .transaction();\n }\n else if (idl.address === \"poof4b5pk1L9tmThvBmaABjcyjfhFGbMbQP5BXk2QZp\") {\n const program = new Program(idl, programProvider);\n // Targets `set_documents_v2` (Vec<u8> ra_indices). The on-chain program\n // also exposes the legacy `set_documents` (Vec<u64>) so SDKs already on npm\n // continue to work — but new releases of this SDK speak v2 only.\n tx = await program.methods\n .setDocumentsV2(args.app_id, prepareProgramArgs(args.documents, PublicKey), args.delete_paths, args.txData, simulate)\n .preInstructions(instructions)\n .accounts({\n payer: payerPublicKey\n })\n .remainingAccounts(remainingAccounts)\n .transaction();\n }\n else {\n throw new Error(`Invalid program id: ${idl.address}`);\n }\n tx.feePayer = payerPublicKey;\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash(\"confirmed\");\n tx.recentBlockhash = blockhash;\n // Resolve LUTs: additionalLutAddresses (when present) is the authoritative set.\n // Falls back to lutKey alone for backwards compatibility.\n const lookupTables = [];\n if (additionalLutAddresses && additionalLutAddresses.length > 0) {\n const results = await Promise.all(additionalLutAddresses.map(addr => connection.getAddressLookupTable(new PublicKey(addr)).catch(() => null)));\n for (const result of results) {\n if (result === null || result === void 0 ? void 0 : result.value) {\n lookupTables.push(result.value);\n }\n }\n }\n else if (lutKey != null) {\n // The LUT may have just been created server-side and the client's RPC node\n // may not have indexed it yet (load-balancer split). Retry with exponential\n // back-off; first retry at 100 ms almost always resolves it.\n let table = null;\n for (let attempt = 0; attempt < 5; attempt++) {\n const { value } = await connection.getAddressLookupTable(new PublicKey(lutKey));\n if (value) {\n table = value;\n break;\n }\n if (attempt < 4)\n await new Promise(r => setTimeout(r, 100 * Math.pow(2, attempt)));\n }\n if (!table)\n throw new Error('LUT not found after creation/extend');\n lookupTables.push(table);\n }\n if (lookupTables.length === 0) {\n const computeUnits = await getSimulationComputeUnits(connection, tx.instructions, payerPublicKey, [], chainSdk);\n const computeBudgetIxOptimized = ComputeBudgetProgram.setComputeUnitLimit({\n units: computeUnits ? computeUnits * 1.2 : 1400000,\n }); // 20% buffer\n tx.instructions[0] = computeBudgetIxOptimized;\n return { tx, blockhash, lastValidBlockHeight };\n }\n const computeUnits = await getSimulationComputeUnits(connection, tx.instructions, payerPublicKey, lookupTables, chainSdk);\n const computeBudgetIxOptimized = ComputeBudgetProgram.setComputeUnitLimit({\n units: computeUnits ? computeUnits * 1.2 : 1400000,\n }); // 20% buffer\n tx.instructions[0] = computeBudgetIxOptimized;\n const msgV0 = new chainSdk.TransactionMessage({\n payerKey: payerPublicKey,\n recentBlockhash: blockhash,\n instructions: tx.instructions,\n }).compileToV0Message(lookupTables);\n const vTx = new chainSdk.VersionedTransaction(msgV0);\n return { tx: vTx, blockhash, lastValidBlockHeight };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Dmnzhzk1.js');
|
|
4
4
|
require('axios');
|
|
5
5
|
require('tweetnacl');
|
|
6
6
|
require('reconnecting-websocket');
|
|
@@ -34,4 +34,4 @@ async function genSolanaMessage(address, nonce) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
exports.genSolanaMessage = genSolanaMessage;
|
|
37
|
-
//# sourceMappingURL=solana-message-
|
|
37
|
+
//# sourceMappingURL=solana-message-BP0L24CQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-message-
|
|
1
|
+
{"version":3,"file":"solana-message-BP0L24CQ.js","sources":["../.rollup-tmp/utils/sol/solana-message.js"],"sourcesContent":["import { getConfig } from \"../../client/config\";\n// NOTE: this message text must stay BYTE-IDENTICAL to what the wallet-auth\n// verifier reconstructs — any drift breaks every SIWS login.\nexport async function genSolanaMessage(address, nonce) {\n var _a, _b;\n /* Domain / origin aren't available server-side – fall back to envs\n or simple placeholders. */\n const domain = (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.SESSION_DOMAIN)) || \"server\";\n const origin = (typeof process !== 'undefined' && ((_b = process.env) === null || _b === void 0 ? void 0 : _b.SESSION_ORIGIN)) || \"server\";\n // SECURITY (audit-4 CRITICAL-1): bind the signed prompt to the target app.\n // appId is read from the SAME global config that genAuthNonce + /session use,\n // so the signed \"App ID\" is guaranteed to equal the app the session is minted\n // for; the server verifier rejects any mismatch.\n const appId = (await getConfig()).appId;\n const statement = \"Sign this message to authenticate with our application.\";\n const currentDate = new Date();\n const issuedAt = currentDate.toISOString();\n const expirationTime = new Date(currentDate.getTime() + 5 * 60 * 1000).toISOString();\n return `${statement}\\n\\n` +\n `Wallet address:\\n${address}\\n\\n` +\n `App ID: ${appId}\\n` +\n `Domain: ${domain}\\n` +\n `Origin: ${origin}\\n` +\n `Nonce: ${nonce}\\n` +\n `Issued At: ${issuedAt}\\n` +\n `Expiration Time: ${expirationTime}`;\n}\n"],"names":["getConfig"],"mappings":";;;;;;;;AACA;AACA;AACO,eAAe,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;AACvD,IAAI,IAAI,EAAE,EAAE,EAAE;AACd;AACA;AACA,IAAI,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,KAAK,WAAW,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,QAAQ;AAC9I,IAAI,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,KAAK,WAAW,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,QAAQ;AAC9I;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG,CAAC,MAAMA,eAAS,EAAE,EAAE,KAAK;AAC3C,IAAI,MAAM,SAAS,GAAG,yDAAyD;AAC/E,IAAI,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE;AAClC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE;AAC9C,IAAI,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;AACxF,IAAI,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;AAC7B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC;AACzC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;AAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAC7B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;AAC3B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;AAClC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAC5C;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getConfig } from './index-
|
|
1
|
+
import { g as getConfig } from './index-DHigIn6m.mjs';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import 'tweetnacl';
|
|
4
4
|
import 'reconnecting-websocket';
|
|
@@ -32,4 +32,4 @@ async function genSolanaMessage(address, nonce) {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
export { genSolanaMessage };
|
|
35
|
-
//# sourceMappingURL=solana-message-
|
|
35
|
+
//# sourceMappingURL=solana-message-DoiFXEx_.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-message-
|
|
1
|
+
{"version":3,"file":"solana-message-DoiFXEx_.mjs","sources":["../.rollup-tmp/utils/sol/solana-message.js"],"sourcesContent":["import { getConfig } from \"../../client/config\";\n// NOTE: this message text must stay BYTE-IDENTICAL to what the wallet-auth\n// verifier reconstructs — any drift breaks every SIWS login.\nexport async function genSolanaMessage(address, nonce) {\n var _a, _b;\n /* Domain / origin aren't available server-side – fall back to envs\n or simple placeholders. */\n const domain = (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.SESSION_DOMAIN)) || \"server\";\n const origin = (typeof process !== 'undefined' && ((_b = process.env) === null || _b === void 0 ? void 0 : _b.SESSION_ORIGIN)) || \"server\";\n // SECURITY (audit-4 CRITICAL-1): bind the signed prompt to the target app.\n // appId is read from the SAME global config that genAuthNonce + /session use,\n // so the signed \"App ID\" is guaranteed to equal the app the session is minted\n // for; the server verifier rejects any mismatch.\n const appId = (await getConfig()).appId;\n const statement = \"Sign this message to authenticate with our application.\";\n const currentDate = new Date();\n const issuedAt = currentDate.toISOString();\n const expirationTime = new Date(currentDate.getTime() + 5 * 60 * 1000).toISOString();\n return `${statement}\\n\\n` +\n `Wallet address:\\n${address}\\n\\n` +\n `App ID: ${appId}\\n` +\n `Domain: ${domain}\\n` +\n `Origin: ${origin}\\n` +\n `Nonce: ${nonce}\\n` +\n `Issued At: ${issuedAt}\\n` +\n `Expiration Time: ${expirationTime}`;\n}\n"],"names":[],"mappings":";;;;;;AACA;AACA;AACO,eAAe,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;AACvD,IAAI,IAAI,EAAE,EAAE,EAAE;AACd;AACA;AACA,IAAI,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,KAAK,WAAW,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,QAAQ;AAC9I,IAAI,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,KAAK,WAAW,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,QAAQ;AAC9I;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK;AAC3C,IAAI,MAAM,SAAS,GAAG,yDAAyD;AAC/E,IAAI,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE;AAClC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE;AAC9C,IAAI,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;AACxF,IAAI,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;AAC7B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC;AACzC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;AAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAC7B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;AAC3B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;AAClC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAC5C;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Dmnzhzk1.js');
|
|
4
4
|
require('axios');
|
|
5
5
|
require('tweetnacl');
|
|
6
6
|
require('reconnecting-websocket');
|
|
@@ -255,4 +255,4 @@ async function handlePreBuiltTransaction(tx, authProvider, options, expectedWrit
|
|
|
255
255
|
|
|
256
256
|
exports.handlePreBuiltTransaction = handlePreBuiltTransaction;
|
|
257
257
|
exports.handleSolanaTransaction = handleSolanaTransaction;
|
|
258
|
-
//# sourceMappingURL=solana-operations-
|
|
258
|
+
//# sourceMappingURL=solana-operations-DZldDVeJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-operations-bXuuPlov.js","sources":["../.rollup-tmp/client/solana-operations.js"],"sourcesContent":["import { Buffer } from 'buffer';\nimport { getConfig } from './config';\nconst BOUNDED_PROGRAM_MAINNET = ['poof', '4b5pk1L9tmThvBmaABjcyjfhFGbMbQP5BXk2QZp'].join('');\nconst BOUNDED_PROGRAM_DEVNET = ['taro', '6CvKqwrYrDc16ufYgzQ2NZcyyVKStffbtudrhRu'].join('');\nconst COMPUTE_BUDGET_PROGRAM = 'ComputeBudget111111111111111111111111111111';\nconst SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';\nconst ALLOWED_SERVER_TX_PROGRAMS = new Set([\n BOUNDED_PROGRAM_MAINNET,\n BOUNDED_PROGRAM_DEVNET,\n COMPUTE_BUDGET_PROGRAM,\n SYSTEM_PROGRAM_ID,\n]);\nconst SET_DOCUMENTS_DISCRIMINATOR = '79,46,72,73,24,79,66,245';\nconst SET_DOCUMENTS_V2_DISCRIMINATOR = '22,236,242,185,145,61,26,39';\nconst ALLOWED_BOUNDED_SET_DISCRIMINATORS = new Set([\n SET_DOCUMENTS_DISCRIMINATOR,\n SET_DOCUMENTS_V2_DISCRIMINATOR,\n]);\nclass BorshCursor {\n constructor(data, offset, label) {\n this.data = data;\n this.offset = offset;\n this.label = label;\n }\n requireBytes(length, field) {\n if (this.offset + length > this.data.length) {\n throw new Error(`${this.label} has malformed Bounded instruction data while reading ${field}`);\n }\n }\n readU8(field) { this.requireBytes(1, field); return this.data[this.offset++]; }\n readU32(field) {\n this.requireBytes(4, field);\n const value = this.data[this.offset] | (this.data[this.offset + 1] << 8) |\n (this.data[this.offset + 2] << 16) | (this.data[this.offset + 3] << 24);\n this.offset += 4;\n return value >>> 0;\n }\n skip(length, field) { this.requireBytes(length, field); this.offset += length; }\n readString(field) {\n const length = this.readU32(`${field} length`);\n this.requireBytes(length, field);\n const raw = this.data.slice(this.offset, this.offset + length);\n this.offset += length;\n return Buffer.from(raw).toString('utf8');\n }\n skipBytes(field) { this.skip(this.readU32(`${field} length`), field); }\n isAtEnd() { return this.offset === this.data.length; }\n}\nfunction skipBoundedFieldValue(cursor) {\n const option = cursor.readU8('operation value option');\n if (option === 0)\n return;\n if (option !== 1)\n throw new Error('Server transaction has malformed Bounded field value option');\n const variant = cursor.readU8('operation value variant');\n if (variant === 0 || variant === 1)\n cursor.skip(8, 'operation numeric value');\n else if (variant === 2)\n cursor.skip(1, 'operation bool value');\n else if (variant === 3)\n cursor.readString('operation string value');\n else if (variant === 4)\n cursor.skip(32, 'operation address value');\n else\n throw new Error(`Server transaction has unsupported Bounded field value variant: ${variant}`);\n}\nfunction normalizeOnchainPath(path) {\n let normalized = path.startsWith('/') ? path.slice(1) : path;\n if (normalized.endsWith('*') && normalized.length > 1)\n normalized = normalized.slice(0, -1);\n if (normalized.endsWith('/'))\n normalized = normalized.slice(0, -1);\n return normalized;\n}\nfunction parseBoundedSetDocumentsInstruction(data, label) {\n if (data.length < 8)\n throw new Error(`${label} has malformed Bounded instruction data`);\n const discriminator = Array.from(data.slice(0, 8)).join(',');\n if (!ALLOWED_BOUNDED_SET_DISCRIMINATORS.has(discriminator)) {\n throw new Error(`${label} contains unsupported Bounded instruction`);\n }\n const isV2 = discriminator === SET_DOCUMENTS_V2_DISCRIMINATOR;\n const cursor = new BorshCursor(data, 8, label);\n const appId = cursor.readString('appId');\n const documentPaths = [];\n const documentCount = cursor.readU32('documents length');\n for (let i = 0; i < documentCount; i++) {\n documentPaths.push(normalizeOnchainPath(cursor.readString('document path')));\n const operationCount = cursor.readU32('operations length');\n for (let j = 0; j < operationCount; j++) {\n cursor.readString('operation key');\n skipBoundedFieldValue(cursor);\n cursor.skip(1, 'operation kind');\n }\n }\n const deletePaths = [];\n const deleteCount = cursor.readU32('delete paths length');\n for (let i = 0; i < deleteCount; i++)\n deletePaths.push(normalizeOnchainPath(cursor.readString('delete path')));\n const txDataCount = cursor.readU32('txData length');\n for (let i = 0; i < txDataCount; i++) {\n cursor.readString('txData plugin function key');\n cursor.skipBytes('txData bytes');\n if (isV2)\n cursor.skipBytes('txData raIndices');\n else\n cursor.skip(cursor.readU32('txData raIndices length') * 8, 'txData raIndices');\n }\n const simulate = cursor.readU8('simulate');\n if (simulate !== 0 && simulate !== 1)\n throw new Error(`${label} has malformed Bounded simulate flag`);\n if (!cursor.isAtEnd())\n throw new Error(`${label} has trailing Bounded instruction data`);\n return { appId, documentPaths, deletePaths };\n}\nfunction assertSamePathSet(label, expectedPaths, actualPaths) {\n const expected = new Set(expectedPaths.map(normalizeOnchainPath).filter(Boolean));\n const actual = new Set(actualPaths.map(normalizeOnchainPath).filter(Boolean));\n const missing = [...expected].filter(path => !actual.has(path));\n const extra = [...actual].filter(path => !expected.has(path));\n if (missing.length || extra.length) {\n const details = [missing.length ? `missing paths: ${missing.join(', ')}` : '', extra.length ? `unexpected paths: ${extra.join(', ')}` : '']\n .filter(Boolean).join('; ');\n throw new Error(`${label} Bounded instruction paths do not match requested write paths (${details})`);\n }\n}\nfunction deserializeAndValidateServerTransaction(serializedTransaction, VersionedTransactionClass, options) {\n var _a;\n const transaction = VersionedTransactionClass.deserialize(Buffer.from(serializedTransaction, 'base64'));\n const { label, expectedAppId, expectedWritePaths } = options;\n const accountKeys = transaction.message.staticAccountKeys;\n let boundedInstructionCount = 0;\n const actualWritePaths = [];\n for (const ix of transaction.message.compiledInstructions) {\n if (ix.programIdIndex >= accountKeys.length)\n throw new Error(`${label} has program ID in lookup table (not allowed)`);\n const programId = accountKeys[ix.programIdIndex].toBase58();\n if (!ALLOWED_SERVER_TX_PROGRAMS.has(programId))\n throw new Error(`${label} contains unauthorized program: ${programId}`);\n const data = ix.data instanceof Uint8Array ? ix.data : Buffer.from((_a = ix.data) !== null && _a !== void 0 ? _a : []);\n if (programId === SYSTEM_PROGRAM_ID)\n throw new Error(`${label} contains unauthorized System Program instruction`);\n if (programId === BOUNDED_PROGRAM_MAINNET || programId === BOUNDED_PROGRAM_DEVNET) {\n boundedInstructionCount++;\n const parsed = parseBoundedSetDocumentsInstruction(data, label);\n if (parsed.appId !== expectedAppId)\n throw new Error(`${label} Bounded instruction appId does not match configured appId`);\n actualWritePaths.push(...parsed.documentPaths, ...parsed.deletePaths);\n }\n }\n if (boundedInstructionCount !== 1)\n throw new Error(`${label} must contain exactly one Bounded set-documents instruction`);\n assertSamePathSet(label, expectedWritePaths, actualWritePaths);\n return transaction;\n}\nfunction isHexString(value) {\n if (typeof value !== 'string')\n return false;\n const testValue = value.startsWith('-') ? value.slice(1) : value;\n return /^(0x)?[0-9a-fA-F]+$/.test(testValue);\n}\nexport async function handleSolanaTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c, _d, _e;\n const chainSdk = await import(\"@solana/web3.js\");\n const { PublicKey, SystemProgram, TransactionInstruction, VersionedTransaction } = chainSdk;\n const solTransactionData = {\n remainingAccounts: tx.remainingAccounts,\n setDocumentData: tx.transactionArgs.setDocumentData,\n deletePaths: tx.transactionArgs.deletePaths,\n idl: tx.idl,\n txData: (_b = (_a = tx.txData) === null || _a === void 0 ? void 0 : _a.map((txData) => ({\n pluginFunctionKey: txData.pluginFunctionKey,\n txData: Buffer.from(txData.txData),\n raIndices: (() => {\n const raw = txData.raIndices;\n if (raw == null)\n return Buffer.alloc(0);\n if (Buffer.isBuffer(raw))\n return raw;\n if (raw instanceof Uint8Array)\n return Buffer.from(raw);\n const arrayLike = Array.isArray(raw) ? raw :\n raw && typeof raw === 'object' && Array.isArray(raw.data) ? raw.data :\n (() => { throw new Error(`raIndices has unexpected shape: ${typeof raw}`); })();\n return Buffer.from(arrayLike.map((raIndex) => {\n const value = isHexString(raIndex) ? parseInt(raIndex, 16) : Number(raIndex);\n if (!Number.isInteger(value) || value < 0 || value > 255) {\n throw new Error(`raIndex ${raIndex} is not a valid u8 (must be integer in 0..255)`);\n }\n return value;\n }));\n })(),\n }))) !== null && _b !== void 0 ? _b : [],\n };\n const config = await getConfig();\n if (tx.signedTransaction) {\n deserializeAndValidateServerTransaction(tx.signedTransaction, VersionedTransaction, {\n label: 'Server signedTransaction', expectedAppId: config.appId, expectedWritePaths,\n });\n }\n const solTransaction = {\n appId: config.appId,\n txArgs: [solTransactionData],\n lutKey: (_c = tx.lutAddress) !== null && _c !== void 0 ? _c : null,\n additionalLutAddresses: tx.additionalLutAddresses,\n network: tx.network,\n preInstructions: (_e = (_d = tx.preInstructions) === null || _d === void 0 ? void 0 : _d.map((ix, index) => {\n var _a;\n const keys = (_a = ix.keys) === null || _a === void 0 ? void 0 : _a.map((key) => ({ pubkey: new PublicKey(key.pubkey), isSigner: key.isSigner, isWritable: key.isWritable }));\n const programId = ix.programId === SYSTEM_PROGRAM_ID ? SystemProgram.programId : new PublicKey(ix.programId);\n const instruction = new TransactionInstruction({ keys, programId, data: Buffer.from(ix.data) });\n if (instruction.programId.equals(SystemProgram.programId)) {\n throw new Error(`Server preInstruction[${index}] contains unauthorized System Program preInstruction`);\n }\n return instruction;\n })) !== null && _e !== void 0 ? _e : [],\n signedTransaction: tx.signedTransaction,\n };\n return authProvider.runTransaction(undefined, solTransaction, options);\n}\nexport async function handlePreBuiltTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c;\n const { Connection, VersionedTransaction } = await import(\"@solana/web3.js\");\n const config = await getConfig();\n const transaction = deserializeAndValidateServerTransaction(tx.serializedTransaction, VersionedTransaction, {\n label: 'Pre-built transaction', expectedAppId: config.appId, expectedWritePaths,\n });\n const shouldSubmit = (options === null || options === void 0 ? void 0 : options.shouldSubmitTx) !== false;\n const rpcUrl = (_a = config.rpcUrl) === null || _a === void 0 ? void 0 : _a.trim();\n if (shouldSubmit && !rpcUrl)\n throw new Error(`Pre-built Solana transaction submission requires init({ rpcUrl }) for ${tx.network}`);\n const signedTx = await authProvider.signTransaction(transaction);\n const rawTx = signedTx.serialize();\n if (!shouldSubmit) {\n return { transactionSignature: '', signedTransaction: Buffer.from(rawTx).toString('base64'), blockNumber: 0, gasUsed: '0' };\n }\n const connection = new Connection(rpcUrl, 'confirmed');\n const signature = await connection.sendRawTransaction(rawTx, { skipPreflight: false, maxRetries: 3 });\n const confirmation = await connection.confirmTransaction({\n signature, blockhash: tx.blockhash, lastValidBlockHeight: tx.lastValidBlockHeight,\n }, 'confirmed');\n return {\n transactionSignature: signature,\n signedTransaction: Buffer.from(rawTx).toString('base64'),\n blockNumber: (_c = (_b = confirmation.context) === null || _b === void 0 ? void 0 : _b.slot) !== null && _c !== void 0 ? _c : 0,\n gasUsed: '0',\n };\n}\n"],"names":["Buffer","getConfig","index"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solana-operations-DZldDVeJ.js","sources":["../.rollup-tmp/client/solana-operations.js"],"sourcesContent":["import { Buffer } from 'buffer';\nimport { getConfig } from './config';\nconst BOUNDED_PROGRAM_MAINNET = ['poof', '4b5pk1L9tmThvBmaABjcyjfhFGbMbQP5BXk2QZp'].join('');\nconst BOUNDED_PROGRAM_DEVNET = ['taro', '6CvKqwrYrDc16ufYgzQ2NZcyyVKStffbtudrhRu'].join('');\nconst COMPUTE_BUDGET_PROGRAM = 'ComputeBudget111111111111111111111111111111';\nconst SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';\nconst ALLOWED_SERVER_TX_PROGRAMS = new Set([\n BOUNDED_PROGRAM_MAINNET,\n BOUNDED_PROGRAM_DEVNET,\n COMPUTE_BUDGET_PROGRAM,\n SYSTEM_PROGRAM_ID,\n]);\nconst SET_DOCUMENTS_DISCRIMINATOR = '79,46,72,73,24,79,66,245';\nconst SET_DOCUMENTS_V2_DISCRIMINATOR = '22,236,242,185,145,61,26,39';\nconst ALLOWED_BOUNDED_SET_DISCRIMINATORS = new Set([\n SET_DOCUMENTS_DISCRIMINATOR,\n SET_DOCUMENTS_V2_DISCRIMINATOR,\n]);\nclass BorshCursor {\n constructor(data, offset, label) {\n this.data = data;\n this.offset = offset;\n this.label = label;\n }\n requireBytes(length, field) {\n if (this.offset + length > this.data.length) {\n throw new Error(`${this.label} has malformed Bounded instruction data while reading ${field}`);\n }\n }\n readU8(field) { this.requireBytes(1, field); return this.data[this.offset++]; }\n readU32(field) {\n this.requireBytes(4, field);\n const value = this.data[this.offset] | (this.data[this.offset + 1] << 8) |\n (this.data[this.offset + 2] << 16) | (this.data[this.offset + 3] << 24);\n this.offset += 4;\n return value >>> 0;\n }\n skip(length, field) { this.requireBytes(length, field); this.offset += length; }\n readString(field) {\n const length = this.readU32(`${field} length`);\n this.requireBytes(length, field);\n const raw = this.data.slice(this.offset, this.offset + length);\n this.offset += length;\n return Buffer.from(raw).toString('utf8');\n }\n skipBytes(field) { this.skip(this.readU32(`${field} length`), field); }\n isAtEnd() { return this.offset === this.data.length; }\n}\nfunction skipBoundedFieldValue(cursor) {\n const option = cursor.readU8('operation value option');\n if (option === 0)\n return;\n if (option !== 1)\n throw new Error('Server transaction has malformed Bounded field value option');\n const variant = cursor.readU8('operation value variant');\n if (variant === 0 || variant === 1)\n cursor.skip(8, 'operation numeric value');\n else if (variant === 2)\n cursor.skip(1, 'operation bool value');\n else if (variant === 3)\n cursor.readString('operation string value');\n else if (variant === 4)\n cursor.skip(32, 'operation address value');\n else\n throw new Error(`Server transaction has unsupported Bounded field value variant: ${variant}`);\n}\nfunction normalizeOnchainPath(path) {\n let normalized = path.startsWith('/') ? path.slice(1) : path;\n if (normalized.endsWith('*') && normalized.length > 1)\n normalized = normalized.slice(0, -1);\n if (normalized.endsWith('/'))\n normalized = normalized.slice(0, -1);\n return normalized;\n}\nfunction parseBoundedSetDocumentsInstruction(data, label) {\n if (data.length < 8)\n throw new Error(`${label} has malformed Bounded instruction data`);\n const discriminator = Array.from(data.slice(0, 8)).join(',');\n if (!ALLOWED_BOUNDED_SET_DISCRIMINATORS.has(discriminator)) {\n throw new Error(`${label} contains unsupported Bounded instruction`);\n }\n const isV2 = discriminator === SET_DOCUMENTS_V2_DISCRIMINATOR;\n const cursor = new BorshCursor(data, 8, label);\n const appId = cursor.readString('appId');\n const documentPaths = [];\n const documentCount = cursor.readU32('documents length');\n for (let i = 0; i < documentCount; i++) {\n documentPaths.push(normalizeOnchainPath(cursor.readString('document path')));\n const operationCount = cursor.readU32('operations length');\n for (let j = 0; j < operationCount; j++) {\n cursor.readString('operation key');\n skipBoundedFieldValue(cursor);\n cursor.skip(1, 'operation kind');\n }\n }\n const deletePaths = [];\n const deleteCount = cursor.readU32('delete paths length');\n for (let i = 0; i < deleteCount; i++)\n deletePaths.push(normalizeOnchainPath(cursor.readString('delete path')));\n const txDataCount = cursor.readU32('txData length');\n for (let i = 0; i < txDataCount; i++) {\n cursor.readString('txData plugin function key');\n cursor.skipBytes('txData bytes');\n if (isV2)\n cursor.skipBytes('txData raIndices');\n else\n cursor.skip(cursor.readU32('txData raIndices length') * 8, 'txData raIndices');\n }\n const simulate = cursor.readU8('simulate');\n if (simulate !== 0 && simulate !== 1)\n throw new Error(`${label} has malformed Bounded simulate flag`);\n if (!cursor.isAtEnd())\n throw new Error(`${label} has trailing Bounded instruction data`);\n return { appId, documentPaths, deletePaths };\n}\nfunction assertSamePathSet(label, expectedPaths, actualPaths) {\n const expected = new Set(expectedPaths.map(normalizeOnchainPath).filter(Boolean));\n const actual = new Set(actualPaths.map(normalizeOnchainPath).filter(Boolean));\n const missing = [...expected].filter(path => !actual.has(path));\n const extra = [...actual].filter(path => !expected.has(path));\n if (missing.length || extra.length) {\n const details = [missing.length ? `missing paths: ${missing.join(', ')}` : '', extra.length ? `unexpected paths: ${extra.join(', ')}` : '']\n .filter(Boolean).join('; ');\n throw new Error(`${label} Bounded instruction paths do not match requested write paths (${details})`);\n }\n}\nfunction deserializeAndValidateServerTransaction(serializedTransaction, VersionedTransactionClass, options) {\n var _a;\n const transaction = VersionedTransactionClass.deserialize(Buffer.from(serializedTransaction, 'base64'));\n const { label, expectedAppId, expectedWritePaths } = options;\n const accountKeys = transaction.message.staticAccountKeys;\n let boundedInstructionCount = 0;\n const actualWritePaths = [];\n for (const ix of transaction.message.compiledInstructions) {\n if (ix.programIdIndex >= accountKeys.length)\n throw new Error(`${label} has program ID in lookup table (not allowed)`);\n const programId = accountKeys[ix.programIdIndex].toBase58();\n if (!ALLOWED_SERVER_TX_PROGRAMS.has(programId))\n throw new Error(`${label} contains unauthorized program: ${programId}`);\n const data = ix.data instanceof Uint8Array ? ix.data : Buffer.from((_a = ix.data) !== null && _a !== void 0 ? _a : []);\n if (programId === SYSTEM_PROGRAM_ID)\n throw new Error(`${label} contains unauthorized System Program instruction`);\n if (programId === BOUNDED_PROGRAM_MAINNET || programId === BOUNDED_PROGRAM_DEVNET) {\n boundedInstructionCount++;\n const parsed = parseBoundedSetDocumentsInstruction(data, label);\n if (parsed.appId !== expectedAppId)\n throw new Error(`${label} Bounded instruction appId does not match configured appId`);\n actualWritePaths.push(...parsed.documentPaths, ...parsed.deletePaths);\n }\n }\n if (boundedInstructionCount !== 1)\n throw new Error(`${label} must contain exactly one Bounded set-documents instruction`);\n assertSamePathSet(label, expectedWritePaths, actualWritePaths);\n return transaction;\n}\nfunction isHexString(value) {\n if (typeof value !== 'string')\n return false;\n const testValue = value.startsWith('-') ? value.slice(1) : value;\n return /^(0x)?[0-9a-fA-F]+$/.test(testValue);\n}\nexport async function handleSolanaTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c, _d, _e;\n const chainSdk = await import(\"@solana/web3.js\");\n const { PublicKey, SystemProgram, TransactionInstruction, VersionedTransaction } = chainSdk;\n const solTransactionData = {\n remainingAccounts: tx.remainingAccounts,\n setDocumentData: tx.transactionArgs.setDocumentData,\n deletePaths: tx.transactionArgs.deletePaths,\n idl: tx.idl,\n txData: (_b = (_a = tx.txData) === null || _a === void 0 ? void 0 : _a.map((txData) => ({\n pluginFunctionKey: txData.pluginFunctionKey,\n txData: Buffer.from(txData.txData),\n raIndices: (() => {\n const raw = txData.raIndices;\n if (raw == null)\n return Buffer.alloc(0);\n if (Buffer.isBuffer(raw))\n return raw;\n if (raw instanceof Uint8Array)\n return Buffer.from(raw);\n const arrayLike = Array.isArray(raw) ? raw :\n raw && typeof raw === 'object' && Array.isArray(raw.data) ? raw.data :\n (() => { throw new Error(`raIndices has unexpected shape: ${typeof raw}`); })();\n return Buffer.from(arrayLike.map((raIndex) => {\n const value = isHexString(raIndex) ? parseInt(raIndex, 16) : Number(raIndex);\n if (!Number.isInteger(value) || value < 0 || value > 255) {\n throw new Error(`raIndex ${raIndex} is not a valid u8 (must be integer in 0..255)`);\n }\n return value;\n }));\n })(),\n }))) !== null && _b !== void 0 ? _b : [],\n };\n const config = await getConfig();\n if (tx.signedTransaction) {\n deserializeAndValidateServerTransaction(tx.signedTransaction, VersionedTransaction, {\n label: 'Server signedTransaction', expectedAppId: config.appId, expectedWritePaths,\n });\n }\n const solTransaction = {\n appId: config.appId,\n txArgs: [solTransactionData],\n lutKey: (_c = tx.lutAddress) !== null && _c !== void 0 ? _c : null,\n additionalLutAddresses: tx.additionalLutAddresses,\n network: tx.network,\n preInstructions: (_e = (_d = tx.preInstructions) === null || _d === void 0 ? void 0 : _d.map((ix, index) => {\n var _a;\n const keys = (_a = ix.keys) === null || _a === void 0 ? void 0 : _a.map((key) => ({ pubkey: new PublicKey(key.pubkey), isSigner: key.isSigner, isWritable: key.isWritable }));\n const programId = ix.programId === SYSTEM_PROGRAM_ID ? SystemProgram.programId : new PublicKey(ix.programId);\n const instruction = new TransactionInstruction({ keys, programId, data: Buffer.from(ix.data) });\n if (instruction.programId.equals(SystemProgram.programId)) {\n throw new Error(`Server preInstruction[${index}] contains unauthorized System Program preInstruction`);\n }\n return instruction;\n })) !== null && _e !== void 0 ? _e : [],\n signedTransaction: tx.signedTransaction,\n };\n return authProvider.runTransaction(undefined, solTransaction, options);\n}\nexport async function handlePreBuiltTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c;\n const { Connection, VersionedTransaction } = await import(\"@solana/web3.js\");\n const config = await getConfig();\n const transaction = deserializeAndValidateServerTransaction(tx.serializedTransaction, VersionedTransaction, {\n label: 'Pre-built transaction', expectedAppId: config.appId, expectedWritePaths,\n });\n const shouldSubmit = (options === null || options === void 0 ? void 0 : options.shouldSubmitTx) !== false;\n const rpcUrl = (_a = config.rpcUrl) === null || _a === void 0 ? void 0 : _a.trim();\n if (shouldSubmit && !rpcUrl)\n throw new Error(`Pre-built Solana transaction submission requires init({ rpcUrl }) for ${tx.network}`);\n const signedTx = await authProvider.signTransaction(transaction);\n const rawTx = signedTx.serialize();\n if (!shouldSubmit) {\n return { transactionSignature: '', signedTransaction: Buffer.from(rawTx).toString('base64'), blockNumber: 0, gasUsed: '0' };\n }\n const connection = new Connection(rpcUrl, 'confirmed');\n const signature = await connection.sendRawTransaction(rawTx, { skipPreflight: false, maxRetries: 3 });\n const confirmation = await connection.confirmTransaction({\n signature, blockhash: tx.blockhash, lastValidBlockHeight: tx.lastValidBlockHeight,\n }, 'confirmed');\n return {\n transactionSignature: signature,\n signedTransaction: Buffer.from(rawTx).toString('base64'),\n blockNumber: (_c = (_b = confirmation.context) === null || _b === void 0 ? void 0 : _b.slot) !== null && _c !== void 0 ? _c : 0,\n gasUsed: '0',\n };\n}\n"],"names":["Buffer","getConfig","index"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getConfig, b as bufferExports } from './index-
|
|
1
|
+
import { g as getConfig, b as bufferExports } from './index-DHigIn6m.mjs';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import 'tweetnacl';
|
|
4
4
|
import 'reconnecting-websocket';
|
|
@@ -252,4 +252,4 @@ async function handlePreBuiltTransaction(tx, authProvider, options, expectedWrit
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
export { handlePreBuiltTransaction, handleSolanaTransaction };
|
|
255
|
-
//# sourceMappingURL=solana-operations-
|
|
255
|
+
//# sourceMappingURL=solana-operations-SSv6xHs-.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana-operations-B8UyHL26.mjs","sources":["../.rollup-tmp/client/solana-operations.js"],"sourcesContent":["import { Buffer } from 'buffer';\nimport { getConfig } from './config';\nconst BOUNDED_PROGRAM_MAINNET = ['poof', '4b5pk1L9tmThvBmaABjcyjfhFGbMbQP5BXk2QZp'].join('');\nconst BOUNDED_PROGRAM_DEVNET = ['taro', '6CvKqwrYrDc16ufYgzQ2NZcyyVKStffbtudrhRu'].join('');\nconst COMPUTE_BUDGET_PROGRAM = 'ComputeBudget111111111111111111111111111111';\nconst SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';\nconst ALLOWED_SERVER_TX_PROGRAMS = new Set([\n BOUNDED_PROGRAM_MAINNET,\n BOUNDED_PROGRAM_DEVNET,\n COMPUTE_BUDGET_PROGRAM,\n SYSTEM_PROGRAM_ID,\n]);\nconst SET_DOCUMENTS_DISCRIMINATOR = '79,46,72,73,24,79,66,245';\nconst SET_DOCUMENTS_V2_DISCRIMINATOR = '22,236,242,185,145,61,26,39';\nconst ALLOWED_BOUNDED_SET_DISCRIMINATORS = new Set([\n SET_DOCUMENTS_DISCRIMINATOR,\n SET_DOCUMENTS_V2_DISCRIMINATOR,\n]);\nclass BorshCursor {\n constructor(data, offset, label) {\n this.data = data;\n this.offset = offset;\n this.label = label;\n }\n requireBytes(length, field) {\n if (this.offset + length > this.data.length) {\n throw new Error(`${this.label} has malformed Bounded instruction data while reading ${field}`);\n }\n }\n readU8(field) { this.requireBytes(1, field); return this.data[this.offset++]; }\n readU32(field) {\n this.requireBytes(4, field);\n const value = this.data[this.offset] | (this.data[this.offset + 1] << 8) |\n (this.data[this.offset + 2] << 16) | (this.data[this.offset + 3] << 24);\n this.offset += 4;\n return value >>> 0;\n }\n skip(length, field) { this.requireBytes(length, field); this.offset += length; }\n readString(field) {\n const length = this.readU32(`${field} length`);\n this.requireBytes(length, field);\n const raw = this.data.slice(this.offset, this.offset + length);\n this.offset += length;\n return Buffer.from(raw).toString('utf8');\n }\n skipBytes(field) { this.skip(this.readU32(`${field} length`), field); }\n isAtEnd() { return this.offset === this.data.length; }\n}\nfunction skipBoundedFieldValue(cursor) {\n const option = cursor.readU8('operation value option');\n if (option === 0)\n return;\n if (option !== 1)\n throw new Error('Server transaction has malformed Bounded field value option');\n const variant = cursor.readU8('operation value variant');\n if (variant === 0 || variant === 1)\n cursor.skip(8, 'operation numeric value');\n else if (variant === 2)\n cursor.skip(1, 'operation bool value');\n else if (variant === 3)\n cursor.readString('operation string value');\n else if (variant === 4)\n cursor.skip(32, 'operation address value');\n else\n throw new Error(`Server transaction has unsupported Bounded field value variant: ${variant}`);\n}\nfunction normalizeOnchainPath(path) {\n let normalized = path.startsWith('/') ? path.slice(1) : path;\n if (normalized.endsWith('*') && normalized.length > 1)\n normalized = normalized.slice(0, -1);\n if (normalized.endsWith('/'))\n normalized = normalized.slice(0, -1);\n return normalized;\n}\nfunction parseBoundedSetDocumentsInstruction(data, label) {\n if (data.length < 8)\n throw new Error(`${label} has malformed Bounded instruction data`);\n const discriminator = Array.from(data.slice(0, 8)).join(',');\n if (!ALLOWED_BOUNDED_SET_DISCRIMINATORS.has(discriminator)) {\n throw new Error(`${label} contains unsupported Bounded instruction`);\n }\n const isV2 = discriminator === SET_DOCUMENTS_V2_DISCRIMINATOR;\n const cursor = new BorshCursor(data, 8, label);\n const appId = cursor.readString('appId');\n const documentPaths = [];\n const documentCount = cursor.readU32('documents length');\n for (let i = 0; i < documentCount; i++) {\n documentPaths.push(normalizeOnchainPath(cursor.readString('document path')));\n const operationCount = cursor.readU32('operations length');\n for (let j = 0; j < operationCount; j++) {\n cursor.readString('operation key');\n skipBoundedFieldValue(cursor);\n cursor.skip(1, 'operation kind');\n }\n }\n const deletePaths = [];\n const deleteCount = cursor.readU32('delete paths length');\n for (let i = 0; i < deleteCount; i++)\n deletePaths.push(normalizeOnchainPath(cursor.readString('delete path')));\n const txDataCount = cursor.readU32('txData length');\n for (let i = 0; i < txDataCount; i++) {\n cursor.readString('txData plugin function key');\n cursor.skipBytes('txData bytes');\n if (isV2)\n cursor.skipBytes('txData raIndices');\n else\n cursor.skip(cursor.readU32('txData raIndices length') * 8, 'txData raIndices');\n }\n const simulate = cursor.readU8('simulate');\n if (simulate !== 0 && simulate !== 1)\n throw new Error(`${label} has malformed Bounded simulate flag`);\n if (!cursor.isAtEnd())\n throw new Error(`${label} has trailing Bounded instruction data`);\n return { appId, documentPaths, deletePaths };\n}\nfunction assertSamePathSet(label, expectedPaths, actualPaths) {\n const expected = new Set(expectedPaths.map(normalizeOnchainPath).filter(Boolean));\n const actual = new Set(actualPaths.map(normalizeOnchainPath).filter(Boolean));\n const missing = [...expected].filter(path => !actual.has(path));\n const extra = [...actual].filter(path => !expected.has(path));\n if (missing.length || extra.length) {\n const details = [missing.length ? `missing paths: ${missing.join(', ')}` : '', extra.length ? `unexpected paths: ${extra.join(', ')}` : '']\n .filter(Boolean).join('; ');\n throw new Error(`${label} Bounded instruction paths do not match requested write paths (${details})`);\n }\n}\nfunction deserializeAndValidateServerTransaction(serializedTransaction, VersionedTransactionClass, options) {\n var _a;\n const transaction = VersionedTransactionClass.deserialize(Buffer.from(serializedTransaction, 'base64'));\n const { label, expectedAppId, expectedWritePaths } = options;\n const accountKeys = transaction.message.staticAccountKeys;\n let boundedInstructionCount = 0;\n const actualWritePaths = [];\n for (const ix of transaction.message.compiledInstructions) {\n if (ix.programIdIndex >= accountKeys.length)\n throw new Error(`${label} has program ID in lookup table (not allowed)`);\n const programId = accountKeys[ix.programIdIndex].toBase58();\n if (!ALLOWED_SERVER_TX_PROGRAMS.has(programId))\n throw new Error(`${label} contains unauthorized program: ${programId}`);\n const data = ix.data instanceof Uint8Array ? ix.data : Buffer.from((_a = ix.data) !== null && _a !== void 0 ? _a : []);\n if (programId === SYSTEM_PROGRAM_ID)\n throw new Error(`${label} contains unauthorized System Program instruction`);\n if (programId === BOUNDED_PROGRAM_MAINNET || programId === BOUNDED_PROGRAM_DEVNET) {\n boundedInstructionCount++;\n const parsed = parseBoundedSetDocumentsInstruction(data, label);\n if (parsed.appId !== expectedAppId)\n throw new Error(`${label} Bounded instruction appId does not match configured appId`);\n actualWritePaths.push(...parsed.documentPaths, ...parsed.deletePaths);\n }\n }\n if (boundedInstructionCount !== 1)\n throw new Error(`${label} must contain exactly one Bounded set-documents instruction`);\n assertSamePathSet(label, expectedWritePaths, actualWritePaths);\n return transaction;\n}\nfunction isHexString(value) {\n if (typeof value !== 'string')\n return false;\n const testValue = value.startsWith('-') ? value.slice(1) : value;\n return /^(0x)?[0-9a-fA-F]+$/.test(testValue);\n}\nexport async function handleSolanaTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c, _d, _e;\n const chainSdk = await import(\"@solana/web3.js\");\n const { PublicKey, SystemProgram, TransactionInstruction, VersionedTransaction } = chainSdk;\n const solTransactionData = {\n remainingAccounts: tx.remainingAccounts,\n setDocumentData: tx.transactionArgs.setDocumentData,\n deletePaths: tx.transactionArgs.deletePaths,\n idl: tx.idl,\n txData: (_b = (_a = tx.txData) === null || _a === void 0 ? void 0 : _a.map((txData) => ({\n pluginFunctionKey: txData.pluginFunctionKey,\n txData: Buffer.from(txData.txData),\n raIndices: (() => {\n const raw = txData.raIndices;\n if (raw == null)\n return Buffer.alloc(0);\n if (Buffer.isBuffer(raw))\n return raw;\n if (raw instanceof Uint8Array)\n return Buffer.from(raw);\n const arrayLike = Array.isArray(raw) ? raw :\n raw && typeof raw === 'object' && Array.isArray(raw.data) ? raw.data :\n (() => { throw new Error(`raIndices has unexpected shape: ${typeof raw}`); })();\n return Buffer.from(arrayLike.map((raIndex) => {\n const value = isHexString(raIndex) ? parseInt(raIndex, 16) : Number(raIndex);\n if (!Number.isInteger(value) || value < 0 || value > 255) {\n throw new Error(`raIndex ${raIndex} is not a valid u8 (must be integer in 0..255)`);\n }\n return value;\n }));\n })(),\n }))) !== null && _b !== void 0 ? _b : [],\n };\n const config = await getConfig();\n if (tx.signedTransaction) {\n deserializeAndValidateServerTransaction(tx.signedTransaction, VersionedTransaction, {\n label: 'Server signedTransaction', expectedAppId: config.appId, expectedWritePaths,\n });\n }\n const solTransaction = {\n appId: config.appId,\n txArgs: [solTransactionData],\n lutKey: (_c = tx.lutAddress) !== null && _c !== void 0 ? _c : null,\n additionalLutAddresses: tx.additionalLutAddresses,\n network: tx.network,\n preInstructions: (_e = (_d = tx.preInstructions) === null || _d === void 0 ? void 0 : _d.map((ix, index) => {\n var _a;\n const keys = (_a = ix.keys) === null || _a === void 0 ? void 0 : _a.map((key) => ({ pubkey: new PublicKey(key.pubkey), isSigner: key.isSigner, isWritable: key.isWritable }));\n const programId = ix.programId === SYSTEM_PROGRAM_ID ? SystemProgram.programId : new PublicKey(ix.programId);\n const instruction = new TransactionInstruction({ keys, programId, data: Buffer.from(ix.data) });\n if (instruction.programId.equals(SystemProgram.programId)) {\n throw new Error(`Server preInstruction[${index}] contains unauthorized System Program preInstruction`);\n }\n return instruction;\n })) !== null && _e !== void 0 ? _e : [],\n signedTransaction: tx.signedTransaction,\n };\n return authProvider.runTransaction(undefined, solTransaction, options);\n}\nexport async function handlePreBuiltTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c;\n const { Connection, VersionedTransaction } = await import(\"@solana/web3.js\");\n const config = await getConfig();\n const transaction = deserializeAndValidateServerTransaction(tx.serializedTransaction, VersionedTransaction, {\n label: 'Pre-built transaction', expectedAppId: config.appId, expectedWritePaths,\n });\n const shouldSubmit = (options === null || options === void 0 ? void 0 : options.shouldSubmitTx) !== false;\n const rpcUrl = (_a = config.rpcUrl) === null || _a === void 0 ? void 0 : _a.trim();\n if (shouldSubmit && !rpcUrl)\n throw new Error(`Pre-built Solana transaction submission requires init({ rpcUrl }) for ${tx.network}`);\n const signedTx = await authProvider.signTransaction(transaction);\n const rawTx = signedTx.serialize();\n if (!shouldSubmit) {\n return { transactionSignature: '', signedTransaction: Buffer.from(rawTx).toString('base64'), blockNumber: 0, gasUsed: '0' };\n }\n const connection = new Connection(rpcUrl, 'confirmed');\n const signature = await connection.sendRawTransaction(rawTx, { skipPreflight: false, maxRetries: 3 });\n const confirmation = await connection.confirmTransaction({\n signature, blockhash: tx.blockhash, lastValidBlockHeight: tx.lastValidBlockHeight,\n }, 'confirmed');\n return {\n transactionSignature: signature,\n signedTransaction: Buffer.from(rawTx).toString('base64'),\n blockNumber: (_c = (_b = confirmation.context) === null || _b === void 0 ? void 0 : _b.slot) !== null && _c !== void 0 ? _c : 0,\n gasUsed: '0',\n };\n}\n"],"names":["Buffer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solana-operations-SSv6xHs-.mjs","sources":["../.rollup-tmp/client/solana-operations.js"],"sourcesContent":["import { Buffer } from 'buffer';\nimport { getConfig } from './config';\nconst BOUNDED_PROGRAM_MAINNET = ['poof', '4b5pk1L9tmThvBmaABjcyjfhFGbMbQP5BXk2QZp'].join('');\nconst BOUNDED_PROGRAM_DEVNET = ['taro', '6CvKqwrYrDc16ufYgzQ2NZcyyVKStffbtudrhRu'].join('');\nconst COMPUTE_BUDGET_PROGRAM = 'ComputeBudget111111111111111111111111111111';\nconst SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';\nconst ALLOWED_SERVER_TX_PROGRAMS = new Set([\n BOUNDED_PROGRAM_MAINNET,\n BOUNDED_PROGRAM_DEVNET,\n COMPUTE_BUDGET_PROGRAM,\n SYSTEM_PROGRAM_ID,\n]);\nconst SET_DOCUMENTS_DISCRIMINATOR = '79,46,72,73,24,79,66,245';\nconst SET_DOCUMENTS_V2_DISCRIMINATOR = '22,236,242,185,145,61,26,39';\nconst ALLOWED_BOUNDED_SET_DISCRIMINATORS = new Set([\n SET_DOCUMENTS_DISCRIMINATOR,\n SET_DOCUMENTS_V2_DISCRIMINATOR,\n]);\nclass BorshCursor {\n constructor(data, offset, label) {\n this.data = data;\n this.offset = offset;\n this.label = label;\n }\n requireBytes(length, field) {\n if (this.offset + length > this.data.length) {\n throw new Error(`${this.label} has malformed Bounded instruction data while reading ${field}`);\n }\n }\n readU8(field) { this.requireBytes(1, field); return this.data[this.offset++]; }\n readU32(field) {\n this.requireBytes(4, field);\n const value = this.data[this.offset] | (this.data[this.offset + 1] << 8) |\n (this.data[this.offset + 2] << 16) | (this.data[this.offset + 3] << 24);\n this.offset += 4;\n return value >>> 0;\n }\n skip(length, field) { this.requireBytes(length, field); this.offset += length; }\n readString(field) {\n const length = this.readU32(`${field} length`);\n this.requireBytes(length, field);\n const raw = this.data.slice(this.offset, this.offset + length);\n this.offset += length;\n return Buffer.from(raw).toString('utf8');\n }\n skipBytes(field) { this.skip(this.readU32(`${field} length`), field); }\n isAtEnd() { return this.offset === this.data.length; }\n}\nfunction skipBoundedFieldValue(cursor) {\n const option = cursor.readU8('operation value option');\n if (option === 0)\n return;\n if (option !== 1)\n throw new Error('Server transaction has malformed Bounded field value option');\n const variant = cursor.readU8('operation value variant');\n if (variant === 0 || variant === 1)\n cursor.skip(8, 'operation numeric value');\n else if (variant === 2)\n cursor.skip(1, 'operation bool value');\n else if (variant === 3)\n cursor.readString('operation string value');\n else if (variant === 4)\n cursor.skip(32, 'operation address value');\n else\n throw new Error(`Server transaction has unsupported Bounded field value variant: ${variant}`);\n}\nfunction normalizeOnchainPath(path) {\n let normalized = path.startsWith('/') ? path.slice(1) : path;\n if (normalized.endsWith('*') && normalized.length > 1)\n normalized = normalized.slice(0, -1);\n if (normalized.endsWith('/'))\n normalized = normalized.slice(0, -1);\n return normalized;\n}\nfunction parseBoundedSetDocumentsInstruction(data, label) {\n if (data.length < 8)\n throw new Error(`${label} has malformed Bounded instruction data`);\n const discriminator = Array.from(data.slice(0, 8)).join(',');\n if (!ALLOWED_BOUNDED_SET_DISCRIMINATORS.has(discriminator)) {\n throw new Error(`${label} contains unsupported Bounded instruction`);\n }\n const isV2 = discriminator === SET_DOCUMENTS_V2_DISCRIMINATOR;\n const cursor = new BorshCursor(data, 8, label);\n const appId = cursor.readString('appId');\n const documentPaths = [];\n const documentCount = cursor.readU32('documents length');\n for (let i = 0; i < documentCount; i++) {\n documentPaths.push(normalizeOnchainPath(cursor.readString('document path')));\n const operationCount = cursor.readU32('operations length');\n for (let j = 0; j < operationCount; j++) {\n cursor.readString('operation key');\n skipBoundedFieldValue(cursor);\n cursor.skip(1, 'operation kind');\n }\n }\n const deletePaths = [];\n const deleteCount = cursor.readU32('delete paths length');\n for (let i = 0; i < deleteCount; i++)\n deletePaths.push(normalizeOnchainPath(cursor.readString('delete path')));\n const txDataCount = cursor.readU32('txData length');\n for (let i = 0; i < txDataCount; i++) {\n cursor.readString('txData plugin function key');\n cursor.skipBytes('txData bytes');\n if (isV2)\n cursor.skipBytes('txData raIndices');\n else\n cursor.skip(cursor.readU32('txData raIndices length') * 8, 'txData raIndices');\n }\n const simulate = cursor.readU8('simulate');\n if (simulate !== 0 && simulate !== 1)\n throw new Error(`${label} has malformed Bounded simulate flag`);\n if (!cursor.isAtEnd())\n throw new Error(`${label} has trailing Bounded instruction data`);\n return { appId, documentPaths, deletePaths };\n}\nfunction assertSamePathSet(label, expectedPaths, actualPaths) {\n const expected = new Set(expectedPaths.map(normalizeOnchainPath).filter(Boolean));\n const actual = new Set(actualPaths.map(normalizeOnchainPath).filter(Boolean));\n const missing = [...expected].filter(path => !actual.has(path));\n const extra = [...actual].filter(path => !expected.has(path));\n if (missing.length || extra.length) {\n const details = [missing.length ? `missing paths: ${missing.join(', ')}` : '', extra.length ? `unexpected paths: ${extra.join(', ')}` : '']\n .filter(Boolean).join('; ');\n throw new Error(`${label} Bounded instruction paths do not match requested write paths (${details})`);\n }\n}\nfunction deserializeAndValidateServerTransaction(serializedTransaction, VersionedTransactionClass, options) {\n var _a;\n const transaction = VersionedTransactionClass.deserialize(Buffer.from(serializedTransaction, 'base64'));\n const { label, expectedAppId, expectedWritePaths } = options;\n const accountKeys = transaction.message.staticAccountKeys;\n let boundedInstructionCount = 0;\n const actualWritePaths = [];\n for (const ix of transaction.message.compiledInstructions) {\n if (ix.programIdIndex >= accountKeys.length)\n throw new Error(`${label} has program ID in lookup table (not allowed)`);\n const programId = accountKeys[ix.programIdIndex].toBase58();\n if (!ALLOWED_SERVER_TX_PROGRAMS.has(programId))\n throw new Error(`${label} contains unauthorized program: ${programId}`);\n const data = ix.data instanceof Uint8Array ? ix.data : Buffer.from((_a = ix.data) !== null && _a !== void 0 ? _a : []);\n if (programId === SYSTEM_PROGRAM_ID)\n throw new Error(`${label} contains unauthorized System Program instruction`);\n if (programId === BOUNDED_PROGRAM_MAINNET || programId === BOUNDED_PROGRAM_DEVNET) {\n boundedInstructionCount++;\n const parsed = parseBoundedSetDocumentsInstruction(data, label);\n if (parsed.appId !== expectedAppId)\n throw new Error(`${label} Bounded instruction appId does not match configured appId`);\n actualWritePaths.push(...parsed.documentPaths, ...parsed.deletePaths);\n }\n }\n if (boundedInstructionCount !== 1)\n throw new Error(`${label} must contain exactly one Bounded set-documents instruction`);\n assertSamePathSet(label, expectedWritePaths, actualWritePaths);\n return transaction;\n}\nfunction isHexString(value) {\n if (typeof value !== 'string')\n return false;\n const testValue = value.startsWith('-') ? value.slice(1) : value;\n return /^(0x)?[0-9a-fA-F]+$/.test(testValue);\n}\nexport async function handleSolanaTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c, _d, _e;\n const chainSdk = await import(\"@solana/web3.js\");\n const { PublicKey, SystemProgram, TransactionInstruction, VersionedTransaction } = chainSdk;\n const solTransactionData = {\n remainingAccounts: tx.remainingAccounts,\n setDocumentData: tx.transactionArgs.setDocumentData,\n deletePaths: tx.transactionArgs.deletePaths,\n idl: tx.idl,\n txData: (_b = (_a = tx.txData) === null || _a === void 0 ? void 0 : _a.map((txData) => ({\n pluginFunctionKey: txData.pluginFunctionKey,\n txData: Buffer.from(txData.txData),\n raIndices: (() => {\n const raw = txData.raIndices;\n if (raw == null)\n return Buffer.alloc(0);\n if (Buffer.isBuffer(raw))\n return raw;\n if (raw instanceof Uint8Array)\n return Buffer.from(raw);\n const arrayLike = Array.isArray(raw) ? raw :\n raw && typeof raw === 'object' && Array.isArray(raw.data) ? raw.data :\n (() => { throw new Error(`raIndices has unexpected shape: ${typeof raw}`); })();\n return Buffer.from(arrayLike.map((raIndex) => {\n const value = isHexString(raIndex) ? parseInt(raIndex, 16) : Number(raIndex);\n if (!Number.isInteger(value) || value < 0 || value > 255) {\n throw new Error(`raIndex ${raIndex} is not a valid u8 (must be integer in 0..255)`);\n }\n return value;\n }));\n })(),\n }))) !== null && _b !== void 0 ? _b : [],\n };\n const config = await getConfig();\n if (tx.signedTransaction) {\n deserializeAndValidateServerTransaction(tx.signedTransaction, VersionedTransaction, {\n label: 'Server signedTransaction', expectedAppId: config.appId, expectedWritePaths,\n });\n }\n const solTransaction = {\n appId: config.appId,\n txArgs: [solTransactionData],\n lutKey: (_c = tx.lutAddress) !== null && _c !== void 0 ? _c : null,\n additionalLutAddresses: tx.additionalLutAddresses,\n network: tx.network,\n preInstructions: (_e = (_d = tx.preInstructions) === null || _d === void 0 ? void 0 : _d.map((ix, index) => {\n var _a;\n const keys = (_a = ix.keys) === null || _a === void 0 ? void 0 : _a.map((key) => ({ pubkey: new PublicKey(key.pubkey), isSigner: key.isSigner, isWritable: key.isWritable }));\n const programId = ix.programId === SYSTEM_PROGRAM_ID ? SystemProgram.programId : new PublicKey(ix.programId);\n const instruction = new TransactionInstruction({ keys, programId, data: Buffer.from(ix.data) });\n if (instruction.programId.equals(SystemProgram.programId)) {\n throw new Error(`Server preInstruction[${index}] contains unauthorized System Program preInstruction`);\n }\n return instruction;\n })) !== null && _e !== void 0 ? _e : [],\n signedTransaction: tx.signedTransaction,\n };\n return authProvider.runTransaction(undefined, solTransaction, options);\n}\nexport async function handlePreBuiltTransaction(tx, authProvider, options, expectedWritePaths) {\n var _a, _b, _c;\n const { Connection, VersionedTransaction } = await import(\"@solana/web3.js\");\n const config = await getConfig();\n const transaction = deserializeAndValidateServerTransaction(tx.serializedTransaction, VersionedTransaction, {\n label: 'Pre-built transaction', expectedAppId: config.appId, expectedWritePaths,\n });\n const shouldSubmit = (options === null || options === void 0 ? void 0 : options.shouldSubmitTx) !== false;\n const rpcUrl = (_a = config.rpcUrl) === null || _a === void 0 ? void 0 : _a.trim();\n if (shouldSubmit && !rpcUrl)\n throw new Error(`Pre-built Solana transaction submission requires init({ rpcUrl }) for ${tx.network}`);\n const signedTx = await authProvider.signTransaction(transaction);\n const rawTx = signedTx.serialize();\n if (!shouldSubmit) {\n return { transactionSignature: '', signedTransaction: Buffer.from(rawTx).toString('base64'), blockNumber: 0, gasUsed: '0' };\n }\n const connection = new Connection(rpcUrl, 'confirmed');\n const signature = await connection.sendRawTransaction(rawTx, { skipPreflight: false, maxRetries: 3 });\n const confirmation = await connection.confirmTransaction({\n signature, blockhash: tx.blockhash, lastValidBlockHeight: tx.lastValidBlockHeight,\n }, 'confirmed');\n return {\n transactionSignature: signature,\n signedTransaction: Buffer.from(rawTx).toString('base64'),\n blockNumber: (_c = (_b = confirmation.context) === null || _b === void 0 ? void 0 : _b.slot) !== null && _c !== void 0 ? _c : 0,\n gasUsed: '0',\n };\n}\n"],"names":["Buffer"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bounded-sh/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.53-next.0",
|
|
4
4
|
"description": "Shared client, data-plane, and transport primitives for Bounded, the full-stack app builder and runtime for AI-built apps: policy-enforced operations, files, functions, and realtime.",
|
|
5
5
|
"homepage": "https://bounded.sh/docs/sdk",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "rm -rf ./dist ./.rollup-tmp && tsc -p tsconfig.build.json --outDir .rollup-tmp --declarationDir .rollup-tmp --emitDeclarationOnly false && rollup -c && tsc -p tsconfig.build.json --emitDeclarationOnly --declarationDir dist && rm -rf ./.rollup-tmp",
|
|
18
18
|
"watch": "rollup -c -w",
|
|
19
|
-
"test": "node src/client/run-config-network-test.mjs && node src/client/run-read-principal-test.mjs && node src/client/run-principal-collision-test.mjs && node src/client/run-abortable-read-test.mjs && node src/utils/run-api-abort-test.mjs && node src/utils/run-api-transient-get-retry-test.mjs && node src/client/run-row-shape-test.mjs && node src/client/run-transport-test.mjs && node src/client/run-queries-coalesce-test.mjs && node src/client/run-public-export-surface-test.mjs && node src/client/run-live-auth-test.mjs && node src/client/run-live-view-principal-test.mjs && node src/client/run-subscription-auth-error-test.mjs && node src/client/run-subscription-confirmation-retry-test.mjs && node src/client/subscription-handoff-grace.source.test.mjs && node src/client/run-onchain-validation-test.mjs && node src/client/run-evm-dispatch-test.mjs && node src/utils/evm/run-evm-utils-test.mjs && node src/client/websocket-auth-url.test.mjs",
|
|
19
|
+
"test": "node src/client/run-config-network-test.mjs && node src/client/run-read-principal-test.mjs && node src/client/run-principal-collision-test.mjs && node src/client/run-abortable-read-test.mjs && node src/utils/run-api-abort-test.mjs && node src/utils/run-api-transient-get-retry-test.mjs && node src/client/run-row-shape-test.mjs && node src/client/run-transport-test.mjs && node src/client/run-queries-coalesce-test.mjs && node src/client/run-subscribe-query-test.mjs && node src/client/subscribe-query-defaults.source.test.mjs && node src/client/run-public-export-surface-test.mjs && node src/client/run-live-auth-test.mjs && node src/client/run-live-view-principal-test.mjs && node src/client/run-subscription-auth-error-test.mjs && node src/client/run-subscription-confirmation-retry-test.mjs && node src/client/subscription-handoff-grace.source.test.mjs && node src/client/run-onchain-validation-test.mjs && node src/client/run-evm-dispatch-test.mjs && node src/utils/evm/run-evm-utils-test.mjs && node src/client/websocket-auth-url.test.mjs",
|
|
20
20
|
"prepare": "npm run build"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|