@xyo-network/xl1-wrappers 1.26.21 → 1.26.24
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/neutral/index.mjs +4 -4
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +11 -13
package/dist/neutral/index.mjs
CHANGED
|
@@ -11,10 +11,10 @@ var BaseWrapper = class {
|
|
|
11
11
|
}
|
|
12
12
|
static async create(value, config = {}) {
|
|
13
13
|
if ((await this.validateValue(value)).length > 0) {
|
|
14
|
-
throw new Error(`Invalid value for ${this.constructor.name}: ${value}`);
|
|
14
|
+
throw new Error(`Invalid value for ${this.constructor.name}: ${String(value)}`);
|
|
15
15
|
}
|
|
16
16
|
if ((await this.validateConfig(config)).length > 0) {
|
|
17
|
-
throw new Error(`Invalid config for ${this.constructor.name}: ${config}`);
|
|
17
|
+
throw new Error(`Invalid config for ${this.constructor.name}: ${JSON.stringify(config)}`);
|
|
18
18
|
}
|
|
19
19
|
return new this(value, config);
|
|
20
20
|
}
|
|
@@ -145,7 +145,7 @@ import {
|
|
|
145
145
|
import { validateTransaction } from "@xyo-network/xl1-validation";
|
|
146
146
|
var sumTransfers = (payload) => {
|
|
147
147
|
let total = 0n;
|
|
148
|
-
for (
|
|
148
|
+
for (const i of Object.values(payload.transfers)) {
|
|
149
149
|
total += hexToBigInt2(i ?? "00");
|
|
150
150
|
}
|
|
151
151
|
return total;
|
|
@@ -245,7 +245,7 @@ var HydratedTransactionWrapper = class _HydratedTransactionWrapper {
|
|
|
245
245
|
}
|
|
246
246
|
async validate() {
|
|
247
247
|
const errors = [
|
|
248
|
-
...(await Promise.all(this._signatureCache.map((signature) => signature.validate()))).flat(),
|
|
248
|
+
...(await Promise.all(this._signatureCache.map(async (signature) => signature.validate()))).flat(),
|
|
249
249
|
...await validateTransaction({ ...this.context, chainId: this.data[0].chain }, this.data)
|
|
250
250
|
];
|
|
251
251
|
return errors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Base.ts","../../src/chain/chain.ts","../../src/Fees.ts","../../src/lib/createSignatureWrappers.ts","../../src/Signature.ts","../../src/transaction/HydratedTransaction.ts"],"sourcesContent":["import type { PromisableArray } from '@xylabs/sdk-js'\nimport type { XyoConnection } from '@xyo-network/xl1-protocol-lib'\n\n/** Configuration for a base wrapper, providing a connection and a value to wrap. */\nexport interface BaseWrapperConfig<T> {\n provider: XyoConnection\n value: T\n}\n\n/** Abstract base class for protocol value wrappers with validation support. */\nexport class BaseWrapper<T, C extends BaseWrapperConfig<T> = BaseWrapperConfig<T>> {\n protected readonly config: Partial<C>\n protected readonly value: T\n protected constructor(value: T, config: Partial<C> = {}) {\n this.config = config\n this.value = value\n }\n\n get provider(): XyoConnection | undefined {\n return this.config.provider\n }\n\n static async create<T, C extends BaseWrapperConfig<T> = BaseWrapperConfig<T>>(value: T, config: Partial<C> = {}) {\n if ((await this.validateValue(value)).length > 0) {\n throw new Error(`Invalid value for ${this.constructor.name}: ${value}`)\n }\n if ((await this.validateConfig(config)).length > 0) {\n throw new Error(`Invalid config for ${this.constructor.name}: ${config}`)\n }\n return new this<T>(value, config)\n }\n\n static validateConfig(_config: unknown): PromisableArray<Error> {\n return []\n }\n\n static validateValue(_value: unknown): PromisableArray<Error> {\n return []\n }\n\n validate(): PromisableArray<Error> {\n return []\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\n\nimport type { BaseWrapperConfig } from '../Base.ts'\nimport { BaseWrapper } from '../Base.ts'\n\n/** Wrapper for a chain identifier address. */\nexport class ChainWrapper extends BaseWrapper<Address, BaseWrapperConfig<Address>> {\n get id(): Address {\n return this.value\n }\n}\n","import type { Hex, Promisable } from '@xylabs/sdk-js'\nimport { hexToBigInt } from '@xylabs/sdk-js'\nimport type { TransactionFeesBigInt, TransactionFeesHex } from '@xyo-network/xl1-protocol-lib'\nimport { AttoXL1 } from '@xyo-network/xl1-protocol-lib'\nimport type { TransactionFeesInstance } from '@xyo-network/xl1-protocol-sdk'\n\nfunction parseHexOrBigInt(value: Hex | bigint) {\n return AttoXL1((typeof value === 'bigint' ? value : hexToBigInt(value)))\n}\n\n/** Wrapper for transaction fee fields (base, gasLimit, gasPrice, priority) with validation. */\nexport class FeesWrapper implements TransactionFeesInstance {\n base: AttoXL1\n gasLimit: AttoXL1\n gasPrice: AttoXL1\n priority: AttoXL1\n\n constructor({\n base, gasLimit, gasPrice, priority,\n }: TransactionFeesHex | TransactionFeesBigInt) {\n this.base = parseHexOrBigInt(base)\n this.gasLimit = parseHexOrBigInt(gasLimit)\n this.gasPrice = parseHexOrBigInt(gasPrice)\n this.priority = parseHexOrBigInt(priority)\n }\n\n static validate({\n base, gasLimit, gasPrice, priority,\n }: TransactionFeesHex | TransactionFeesBigInt): Promisable<Error[]> {\n const errors: Error[] = []\n const baseValue = parseHexOrBigInt(base)\n const gasLimitValue = parseHexOrBigInt(gasLimit)\n const gasPriceValue = parseHexOrBigInt(gasPrice)\n const priorityValue = parseHexOrBigInt(priority)\n if (baseValue <= 0n) {\n errors.push(new Error('Base fee cannot be negative or zero'))\n }\n if (gasLimitValue < 0n) {\n errors.push(new Error('Gas limit cannot be negative'))\n }\n if (gasPriceValue < 0n) {\n errors.push(new Error('Gas price cannot be negative'))\n }\n if (priorityValue < 0n) {\n errors.push(new Error('Priority cannot be negative'))\n }\n return errors\n }\n\n async validate(): Promise<Error[]> {\n return await FeesWrapper.validate({\n base: this.base, gasLimit: this.gasLimit, gasPrice: this.gasPrice, priority: this.priority,\n })\n }\n}\n","import { asHex } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { SignatureInstance } from '@xyo-network/xl1-protocol-sdk'\n\nimport { SignatureWrapper } from '../Signature.ts'\n\n/** Creates SignatureWrapper instances for each signature in a BoundWitness. */\nexport const createSignatureWrappers = async (bw: BoundWitness): Promise<SignatureInstance[]> => {\n const signatures: SignatureInstance[] = []\n const hash = await PayloadBuilder.dataHash(bw)\n for (let i = 0; i < bw.$signatures.length; i++) {\n signatures.push(\n new SignatureWrapper(asHex(bw.$signatures[i], true), bw.addresses[i], hash),\n )\n }\n return signatures\n}\n","import type {\n Address, Hash, Hex,\n} from '@xylabs/sdk-js'\nimport { toArrayBuffer } from '@xylabs/sdk-js'\nimport { BoundWitnessValidator } from '@xyo-network/sdk-js'\nimport type { SignatureInstance } from '@xyo-network/xl1-protocol-sdk'\n\n/** Wrapper for cryptographic signatures with validation against BoundWitness hashes. */\nexport class SignatureWrapper implements SignatureInstance {\n address: Address\n hash: Hash\n signature: Hex\n\n constructor(signature: Hex, address: Address, hash: Hash) {\n this.signature = signature\n this.address = address\n this.hash = hash\n }\n\n static async validate(hash: Hash, address: Address, signature: Hex): Promise<Error[]> {\n return await BoundWitnessValidator.validateSignature(toArrayBuffer(hash), toArrayBuffer(address), toArrayBuffer(signature))\n }\n\n async validate(): Promise<Error[]> {\n return await SignatureWrapper.validate(this.hash, this.address, this.signature)\n }\n}\n","import type { Hash, Hex } from '@xylabs/sdk-js'\nimport { hexToBigInt, isDefined } from '@xylabs/sdk-js'\nimport type {\n Payload, Schema,\n WithHashMeta,\n} from '@xyo-network/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n AllowedBlockPayload, BaseContext, HydratedTransactionWithHashMeta, Transfer,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n isAllowedBlockPayload, isTransfer, XYO_ZERO_ADDRESS,\n} from '@xyo-network/xl1-protocol-lib'\nimport type {\n HydratedTransactionInstance, SignatureInstance,\n TransactionFeesInstance,\n} from '@xyo-network/xl1-protocol-sdk'\nimport {\n transactionRequiredGas, tryExtractElevatedHashes, tryExtractElevatedHashesFromScript,\n} from '@xyo-network/xl1-protocol-sdk'\nimport { validateTransaction } from '@xyo-network/xl1-validation'\n\nimport { FeesWrapper } from '../Fees.ts'\nimport { createSignatureWrappers } from '../lib/index.ts'\n\nconst sumTransfers = (payload: Transfer) => {\n let total = 0n\n for (let i of Object.values(payload.transfers)) {\n total += hexToBigInt(i ?? '00' as Hex)\n }\n return total\n}\n\n/** Context for hydrated transaction wrapper operations. */\nexport interface HydratedTransactionWrapperContext extends BaseContext {\n\n}\n\n/** Wrapper for a hydrated transaction providing access to payloads, signatures, fees, and validation. */\nexport class HydratedTransactionWrapper<T extends HydratedTransactionWithHashMeta> implements HydratedTransactionInstance<T> {\n data: T\n fees: TransactionFeesInstance\n\n protected context: HydratedTransactionWrapperContext\n protected payloadsCache: WithHashMeta<AllowedBlockPayload & T[1][number]>[] = []\n\n private _signatureCache: SignatureInstance[] = []\n\n protected constructor(data: T, context?: HydratedTransactionWrapperContext) {\n this.context = context ?? { singletons: {} }\n this.data = data\n this.fees = new FeesWrapper(\n this.boundWitness.fees,\n )\n }\n\n get boundWitness(): T[0] {\n return this.data[0]\n }\n\n get elevatedPayloadCount(): number {\n const { script } = this.data[0]\n return script ? tryExtractElevatedHashesFromScript(script).length : 0\n }\n\n get elevatedPayloads() {\n return tryExtractElevatedHashes(this.data) as WithHashMeta<AllowedBlockPayload & T[1][number]>[]\n }\n\n get externalPayloads(): Record<Hash, Schema | Payload> {\n const allPayloads = this.payloads\n const external: Record<Hash, Schema | Payload> = {}\n for (let i = 0; i < this.boundWitness.payload_hashes.length; i++) {\n const payloadHash = this.boundWitness.payload_hashes[i]\n const payload = allPayloads.find(p => p._hash === payloadHash)\n external[payloadHash] = isDefined(payload) ? payload : this.boundWitness.payload_schemas[i]\n }\n return external\n }\n\n get from() {\n return this.data[0].from\n }\n\n get payloadCount(): number {\n return this.payloadsCache.length\n }\n\n get payloads(): WithHashMeta<WithHashMeta<T[1][number]>>[] {\n return [...this.payloadsCache]\n }\n\n get privateExternalPayloads(): Record<Hash, Schema> {\n const allPayloads = this.payloads\n const missing: Record<Hash, Schema> = {}\n for (let i = 0; i < this.boundWitness.payload_hashes.length; i++) {\n const payloadHash = this.boundWitness.payload_hashes[i]\n if (!allPayloads.some(p => p._hash === payloadHash)) {\n missing[payloadHash] = this.boundWitness.payload_schemas[i]\n }\n }\n return missing\n }\n\n // list all the payloads that are included in the transaction and are not elevated and found in the hydration\n get publicExternalPayloads(): Payload[] {\n const allPayloads = this.payloads\n const elevatedPayloads = this.elevatedPayloads\n return allPayloads.filter(p => !elevatedPayloads.some(ep => ep._hash === p._hash))\n }\n\n get signatureCount(): number {\n return this._signatureCache.length\n }\n\n get signatures(): SignatureInstance[] {\n return [...this._signatureCache]\n }\n\n static async parse<T extends HydratedTransactionWithHashMeta>(transaction: T, validate = false): Promise<HydratedTransactionInstance<[T[0],\n T[1][number][]]>> {\n const wrapper = new HydratedTransactionWrapper<T>(\n transaction,\n )\n const parsed = await wrapper.parse()\n if (validate) {\n const errors = await wrapper.validate()\n if (errors.length > 0) {\n throw new Error(`Block validation failed: ${errors.join(', ')}`)\n }\n }\n return parsed\n }\n\n elevatedPayload(index: number): WithHashMeta<AllowedBlockPayload & T[1][number]> | undefined {\n return this.elevatedPayloads.at(index)\n }\n\n gasRequired(): bigint {\n return transactionRequiredGas(this.data)\n }\n\n payload(index: number) {\n return this.payloads.at(index) as WithHashMeta<AllowedBlockPayload & T[1][number]>\n }\n\n reward(): bigint {\n return this.payloadsCache.reduce((acc: bigint, payload) => acc + (\n isTransfer(payload)\n ? payload.from === XYO_ZERO_ADDRESS\n ? sumTransfers(payload)\n : 0n\n : 0n), 0n)\n }\n\n signature(index: number): SignatureInstance | undefined {\n return this._signatureCache[index]\n }\n\n async validate(): Promise<Error[]> {\n const errors: Error[] = [...(await Promise.all(this._signatureCache.map(signature => signature.validate()))).flat(),\n ...(await validateTransaction({ ...this.context, chainId: this.data[0].chain }, this.data))]\n return errors\n }\n\n protected async parse(validate = false): Promise<HydratedTransactionInstance<[WithHashMeta<T[0]>, WithHashMeta<T[1][number]>[]]>> {\n const transactionPayloads = (await PayloadBuilder.addHashMeta(this.data[1])).filter(isAllowedBlockPayload)\n this._signatureCache = await createSignatureWrappers(this.data[0])\n for (const payload of transactionPayloads) {\n this.payloadsCache.push(payload)\n }\n if (validate) {\n await this.validate()\n }\n return this\n }\n}\n"],"mappings":"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","names":["hexToBigInt","PayloadBuilder","hexToBigInt","PayloadBuilder"]}
|
|
1
|
+
{"version":3,"sources":["../../src/Base.ts","../../src/chain/chain.ts","../../src/Fees.ts","../../src/lib/createSignatureWrappers.ts","../../src/Signature.ts","../../src/transaction/HydratedTransaction.ts"],"sourcesContent":["import type { PromisableArray } from '@xylabs/sdk-js'\nimport type { XyoConnection } from '@xyo-network/xl1-protocol-lib'\n\n/** Configuration for a base wrapper, providing a connection and a value to wrap. */\nexport interface BaseWrapperConfig<T> {\n provider: XyoConnection\n value: T\n}\n\n/** Abstract base class for protocol value wrappers with validation support. */\nexport class BaseWrapper<T, C extends BaseWrapperConfig<T> = BaseWrapperConfig<T>> {\n protected readonly config: Partial<C>\n protected readonly value: T\n protected constructor(value: T, config: Partial<C> = {}) {\n this.config = config\n this.value = value\n }\n\n get provider(): XyoConnection | undefined {\n return this.config.provider\n }\n\n static async create<T, C extends BaseWrapperConfig<T> = BaseWrapperConfig<T>>(value: T, config: Partial<C> = {}) {\n if ((await this.validateValue(value)).length > 0) {\n throw new Error(`Invalid value for ${this.constructor.name}: ${String(value)}`)\n }\n if ((await this.validateConfig(config)).length > 0) {\n throw new Error(`Invalid config for ${this.constructor.name}: ${JSON.stringify(config)}`)\n }\n return new this<T>(value, config)\n }\n\n static validateConfig(_config: unknown): PromisableArray<Error> {\n return []\n }\n\n static validateValue(_value: unknown): PromisableArray<Error> {\n return []\n }\n\n validate(): PromisableArray<Error> {\n return []\n }\n}\n","import type { Address } from '@xylabs/sdk-js'\n\nimport type { BaseWrapperConfig } from '../Base.ts'\nimport { BaseWrapper } from '../Base.ts'\n\n/** Wrapper for a chain identifier address. */\nexport class ChainWrapper extends BaseWrapper<Address, BaseWrapperConfig<Address>> {\n get id(): Address {\n return this.value\n }\n}\n","import type { Hex, Promisable } from '@xylabs/sdk-js'\nimport { hexToBigInt } from '@xylabs/sdk-js'\nimport type { TransactionFeesBigInt, TransactionFeesHex } from '@xyo-network/xl1-protocol-lib'\nimport { AttoXL1 } from '@xyo-network/xl1-protocol-lib'\nimport type { TransactionFeesInstance } from '@xyo-network/xl1-protocol-sdk'\n\nfunction parseHexOrBigInt(value: Hex | bigint) {\n return AttoXL1((typeof value === 'bigint' ? value : hexToBigInt(value)))\n}\n\n/** Wrapper for transaction fee fields (base, gasLimit, gasPrice, priority) with validation. */\nexport class FeesWrapper implements TransactionFeesInstance {\n base: AttoXL1\n gasLimit: AttoXL1\n gasPrice: AttoXL1\n priority: AttoXL1\n\n constructor({\n base, gasLimit, gasPrice, priority,\n }: TransactionFeesHex | TransactionFeesBigInt) {\n this.base = parseHexOrBigInt(base)\n this.gasLimit = parseHexOrBigInt(gasLimit)\n this.gasPrice = parseHexOrBigInt(gasPrice)\n this.priority = parseHexOrBigInt(priority)\n }\n\n static validate({\n base, gasLimit, gasPrice, priority,\n }: TransactionFeesHex | TransactionFeesBigInt): Promisable<Error[]> {\n const errors: Error[] = []\n const baseValue = parseHexOrBigInt(base)\n const gasLimitValue = parseHexOrBigInt(gasLimit)\n const gasPriceValue = parseHexOrBigInt(gasPrice)\n const priorityValue = parseHexOrBigInt(priority)\n if (baseValue <= 0n) {\n errors.push(new Error('Base fee cannot be negative or zero'))\n }\n if (gasLimitValue < 0n) {\n errors.push(new Error('Gas limit cannot be negative'))\n }\n if (gasPriceValue < 0n) {\n errors.push(new Error('Gas price cannot be negative'))\n }\n if (priorityValue < 0n) {\n errors.push(new Error('Priority cannot be negative'))\n }\n return errors\n }\n\n async validate(): Promise<Error[]> {\n return await FeesWrapper.validate({\n base: this.base, gasLimit: this.gasLimit, gasPrice: this.gasPrice, priority: this.priority,\n })\n }\n}\n","import { asHex } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { SignatureInstance } from '@xyo-network/xl1-protocol-sdk'\n\nimport { SignatureWrapper } from '../Signature.ts'\n\n/** Creates SignatureWrapper instances for each signature in a BoundWitness. */\nexport const createSignatureWrappers = async (bw: BoundWitness): Promise<SignatureInstance[]> => {\n const signatures: SignatureInstance[] = []\n const hash = await PayloadBuilder.dataHash(bw)\n for (let i = 0; i < bw.$signatures.length; i++) {\n signatures.push(\n new SignatureWrapper(asHex(bw.$signatures[i], true), bw.addresses[i], hash),\n )\n }\n return signatures\n}\n","import type {\n Address, Hash, Hex,\n} from '@xylabs/sdk-js'\nimport { toArrayBuffer } from '@xylabs/sdk-js'\nimport { BoundWitnessValidator } from '@xyo-network/sdk-js'\nimport type { SignatureInstance } from '@xyo-network/xl1-protocol-sdk'\n\n/** Wrapper for cryptographic signatures with validation against BoundWitness hashes. */\nexport class SignatureWrapper implements SignatureInstance {\n address: Address\n hash: Hash\n signature: Hex\n\n constructor(signature: Hex, address: Address, hash: Hash) {\n this.signature = signature\n this.address = address\n this.hash = hash\n }\n\n static async validate(hash: Hash, address: Address, signature: Hex): Promise<Error[]> {\n return await BoundWitnessValidator.validateSignature(toArrayBuffer(hash), toArrayBuffer(address), toArrayBuffer(signature))\n }\n\n async validate(): Promise<Error[]> {\n return await SignatureWrapper.validate(this.hash, this.address, this.signature)\n }\n}\n","import type { Hash, Hex } from '@xylabs/sdk-js'\nimport { hexToBigInt, isDefined } from '@xylabs/sdk-js'\nimport type {\n Payload, Schema,\n WithHashMeta,\n} from '@xyo-network/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n AllowedBlockPayload, BaseContext, HydratedTransactionWithHashMeta, Transfer,\n} from '@xyo-network/xl1-protocol-lib'\nimport {\n isAllowedBlockPayload, isTransfer, XYO_ZERO_ADDRESS,\n} from '@xyo-network/xl1-protocol-lib'\nimport type {\n HydratedTransactionInstance, SignatureInstance,\n TransactionFeesInstance,\n} from '@xyo-network/xl1-protocol-sdk'\nimport {\n transactionRequiredGas, tryExtractElevatedHashes, tryExtractElevatedHashesFromScript,\n} from '@xyo-network/xl1-protocol-sdk'\nimport { validateTransaction } from '@xyo-network/xl1-validation'\n\nimport { FeesWrapper } from '../Fees.ts'\nimport { createSignatureWrappers } from '../lib/index.ts'\n\nconst sumTransfers = (payload: Transfer) => {\n let total = 0n\n for (const i of Object.values(payload.transfers)) {\n total += hexToBigInt(i ?? '00' as Hex)\n }\n return total\n}\n\n/** Context for hydrated transaction wrapper operations. */\nexport interface HydratedTransactionWrapperContext extends BaseContext {\n\n}\n\n/** Wrapper for a hydrated transaction providing access to payloads, signatures, fees, and validation. */\nexport class HydratedTransactionWrapper<T extends HydratedTransactionWithHashMeta> implements HydratedTransactionInstance<T> {\n data: T\n fees: TransactionFeesInstance\n\n protected context: HydratedTransactionWrapperContext\n protected payloadsCache: WithHashMeta<AllowedBlockPayload & T[1][number]>[] = []\n\n private _signatureCache: SignatureInstance[] = []\n\n protected constructor(data: T, context?: HydratedTransactionWrapperContext) {\n this.context = context ?? { singletons: {} }\n this.data = data\n this.fees = new FeesWrapper(\n this.boundWitness.fees,\n )\n }\n\n get boundWitness(): T[0] {\n return this.data[0]\n }\n\n get elevatedPayloadCount(): number {\n const { script } = this.data[0]\n return script ? tryExtractElevatedHashesFromScript(script).length : 0\n }\n\n get elevatedPayloads() {\n return tryExtractElevatedHashes(this.data) as WithHashMeta<AllowedBlockPayload & T[1][number]>[]\n }\n\n get externalPayloads(): Record<Hash, Schema | Payload> {\n const allPayloads = this.payloads\n const external: Record<Hash, Schema | Payload> = {}\n for (let i = 0; i < this.boundWitness.payload_hashes.length; i++) {\n const payloadHash = this.boundWitness.payload_hashes[i]\n const payload = allPayloads.find(p => p._hash === payloadHash)\n external[payloadHash] = isDefined(payload) ? payload : this.boundWitness.payload_schemas[i]\n }\n return external\n }\n\n get from() {\n return this.data[0].from\n }\n\n get payloadCount(): number {\n return this.payloadsCache.length\n }\n\n get payloads(): WithHashMeta<WithHashMeta<T[1][number]>>[] {\n return [...this.payloadsCache]\n }\n\n get privateExternalPayloads(): Record<Hash, Schema> {\n const allPayloads = this.payloads\n const missing: Record<Hash, Schema> = {}\n for (let i = 0; i < this.boundWitness.payload_hashes.length; i++) {\n const payloadHash = this.boundWitness.payload_hashes[i]\n if (!allPayloads.some(p => p._hash === payloadHash)) {\n missing[payloadHash] = this.boundWitness.payload_schemas[i]\n }\n }\n return missing\n }\n\n // list all the payloads that are included in the transaction and are not elevated and found in the hydration\n get publicExternalPayloads(): Payload[] {\n const allPayloads = this.payloads\n const elevatedPayloads = this.elevatedPayloads\n return allPayloads.filter(p => !elevatedPayloads.some(ep => ep._hash === p._hash))\n }\n\n get signatureCount(): number {\n return this._signatureCache.length\n }\n\n get signatures(): SignatureInstance[] {\n return [...this._signatureCache]\n }\n\n static async parse<T extends HydratedTransactionWithHashMeta>(transaction: T, validate = false): Promise<HydratedTransactionInstance<[T[0],\n T[1][number][]]>> {\n const wrapper = new HydratedTransactionWrapper<T>(\n transaction,\n )\n const parsed = await wrapper.parse()\n if (validate) {\n const errors = await wrapper.validate()\n if (errors.length > 0) {\n throw new Error(`Block validation failed: ${errors.join(', ')}`)\n }\n }\n return parsed\n }\n\n elevatedPayload(index: number): WithHashMeta<AllowedBlockPayload & T[1][number]> | undefined {\n return this.elevatedPayloads.at(index)\n }\n\n gasRequired(): bigint {\n return transactionRequiredGas(this.data)\n }\n\n payload(index: number) {\n return this.payloads.at(index) as WithHashMeta<AllowedBlockPayload & T[1][number]>\n }\n\n reward(): bigint {\n return this.payloadsCache.reduce((acc: bigint, payload) => acc + (\n isTransfer(payload)\n ? payload.from === XYO_ZERO_ADDRESS\n ? sumTransfers(payload)\n : 0n\n : 0n), 0n)\n }\n\n signature(index: number): SignatureInstance | undefined {\n return this._signatureCache[index]\n }\n\n async validate(): Promise<Error[]> {\n const errors: Error[] = [...(await Promise.all(this._signatureCache.map(async signature => signature.validate()))).flat(),\n ...(await validateTransaction({ ...this.context, chainId: this.data[0].chain }, this.data))]\n return errors\n }\n\n protected async parse(validate = false): Promise<HydratedTransactionInstance<[WithHashMeta<T[0]>, WithHashMeta<T[1][number]>[]]>> {\n const transactionPayloads = (await PayloadBuilder.addHashMeta(this.data[1])).filter(isAllowedBlockPayload)\n this._signatureCache = await createSignatureWrappers(this.data[0])\n for (const payload of transactionPayloads) {\n this.payloadsCache.push(payload)\n }\n if (validate) {\n await this.validate()\n }\n return this\n }\n}\n"],"mappings":"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","names":["hexToBigInt","PayloadBuilder","hexToBigInt","PayloadBuilder"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/xl1-wrappers",
|
|
4
|
-
"version": "1.26.
|
|
4
|
+
"version": "1.26.24",
|
|
5
5
|
"description": "XYO Layer One SDK Wrappers",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -23,12 +23,10 @@
|
|
|
23
23
|
"exports": {
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./dist/neutral/index.d.ts",
|
|
26
|
-
"import": "./dist/neutral/index.mjs",
|
|
27
26
|
"default": "./dist/neutral/index.mjs"
|
|
28
27
|
},
|
|
29
28
|
"./package.json": "./package.json"
|
|
30
29
|
},
|
|
31
|
-
"types": "./dist/neutral/index.d.ts",
|
|
32
30
|
"files": [
|
|
33
31
|
"dist",
|
|
34
32
|
"!**/*.bench.*",
|
|
@@ -37,17 +35,17 @@
|
|
|
37
35
|
"README.md"
|
|
38
36
|
],
|
|
39
37
|
"dependencies": {
|
|
40
|
-
"@xyo-network/xl1-protocol-lib": "~1.26.
|
|
41
|
-
"@xyo-network/xl1-protocol-sdk": "~1.26.
|
|
42
|
-
"@xyo-network/xl1-validation": "~1.26.
|
|
38
|
+
"@xyo-network/xl1-protocol-lib": "~1.26.24",
|
|
39
|
+
"@xyo-network/xl1-protocol-sdk": "~1.26.24",
|
|
40
|
+
"@xyo-network/xl1-validation": "~1.26.24"
|
|
43
41
|
},
|
|
44
42
|
"devDependencies": {
|
|
45
43
|
"@opentelemetry/api": "^1.9.1",
|
|
46
|
-
"@types/node": "^25.
|
|
44
|
+
"@types/node": "^25.6.0",
|
|
47
45
|
"@xylabs/sdk-js": "^5.0.95",
|
|
48
|
-
"@xylabs/ts-scripts-common": "~7.9.
|
|
49
|
-
"@xylabs/ts-scripts-pnpm": "~7.9.
|
|
50
|
-
"@xylabs/tsconfig": "~7.9.
|
|
46
|
+
"@xylabs/ts-scripts-common": "~7.9.9",
|
|
47
|
+
"@xylabs/ts-scripts-pnpm": "~7.9.9",
|
|
48
|
+
"@xylabs/tsconfig": "~7.9.9",
|
|
51
49
|
"@xyo-network/account": "~5.3.30",
|
|
52
50
|
"@xyo-network/account-model": "~5.3.30",
|
|
53
51
|
"@xyo-network/api-models": "~5.3.30",
|
|
@@ -99,13 +97,13 @@
|
|
|
99
97
|
"@xyo-network/witness-adhoc": "~5.3.30",
|
|
100
98
|
"@xyo-network/witness-model": "~5.3.30",
|
|
101
99
|
"ajv": "^8.18.0",
|
|
102
|
-
"axios": "^1.
|
|
100
|
+
"axios": "^1.15.0",
|
|
103
101
|
"esbuild": "^0.28.0",
|
|
104
102
|
"ethers": "^6.16.0",
|
|
105
103
|
"pako": "~2.1.0",
|
|
106
104
|
"typescript": "~5.9.3",
|
|
107
|
-
"vite": "^8.0.
|
|
108
|
-
"vitest": "~4.1.
|
|
105
|
+
"vite": "^8.0.8",
|
|
106
|
+
"vitest": "~4.1.4",
|
|
109
107
|
"zod": "~4.3.6"
|
|
110
108
|
},
|
|
111
109
|
"peerDependencies": {
|