@xyo-network/xl1-protocol-sdk 1.5.29 → 1.5.31
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 +261 -14
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/types/block/hydrateBlock.d.ts +12 -0
- package/dist/types/block/hydrateBlock.d.ts.map +1 -0
- package/dist/types/block/index.d.ts +3 -0
- package/dist/types/block/index.d.ts.map +1 -0
- package/dist/types/block/primitives/frames/BlockNumberRange.d.ts +2 -0
- package/dist/types/block/primitives/frames/BlockNumberRange.d.ts.map +1 -0
- package/dist/types/block/primitives/frames/calculateFramesFromRange.d.ts +6 -0
- package/dist/types/block/primitives/frames/calculateFramesFromRange.d.ts.map +1 -0
- package/dist/types/block/primitives/frames/deepCalculateFramesFromRange.d.ts +3 -0
- package/dist/types/block/primitives/frames/deepCalculateFramesFromRange.d.ts.map +1 -0
- package/dist/types/block/primitives/frames/index.d.ts +3 -0
- package/dist/types/block/primitives/frames/index.d.ts.map +1 -0
- package/dist/types/block/primitives/frames/loadFrameSummaries.d.ts +5 -0
- package/dist/types/block/primitives/frames/loadFrameSummaries.d.ts.map +1 -0
- package/dist/types/block/primitives/frames/stepHashFramesFromBlock.d.ts +5 -0
- package/dist/types/block/primitives/frames/stepHashFramesFromBlock.d.ts.map +1 -0
- package/dist/types/block/primitives/index.d.ts +2 -0
- package/dist/types/block/primitives/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instances/block/BlockFields.d.ts +4 -2
- package/dist/types/instances/block/BlockFields.d.ts.map +1 -1
- package/dist/types/instances/block/HydratedBlock.d.ts +2 -2
- package/dist/types/instances/block/HydratedBlock.d.ts.map +1 -1
- package/dist/types/instances/block/index.d.ts +0 -1
- package/dist/types/instances/block/index.d.ts.map +1 -1
- package/dist/types/instances/transaction/HydratedTransaction.d.ts +2 -1
- package/dist/types/instances/transaction/HydratedTransaction.d.ts.map +1 -1
- package/dist/types/instances/transaction/TransactionFields.d.ts +6 -1
- package/dist/types/instances/transaction/TransactionFields.d.ts.map +1 -1
- package/dist/types/instances/transaction/index.d.ts +0 -1
- package/dist/types/instances/transaction/index.d.ts.map +1 -1
- package/dist/types/transaction/buildTransaction.d.ts +2 -2
- package/dist/types/transaction/buildTransaction.d.ts.map +1 -1
- package/dist/types/transaction/hydrateTransaction.d.ts +3 -3
- package/dist/types/transaction/hydrateTransaction.d.ts.map +1 -1
- package/dist/types/transaction/index.d.ts +1 -1
- package/dist/types/transaction/index.d.ts.map +1 -1
- package/dist/types/transaction/primitives/index.d.ts +5 -0
- package/dist/types/transaction/primitives/index.d.ts.map +1 -0
- package/dist/types/transaction/primitives/transactionBlockByteCount.d.ts +4 -0
- package/dist/types/transaction/primitives/transactionBlockByteCount.d.ts.map +1 -0
- package/dist/types/transaction/primitives/transactionElevatedPayloads.d.ts +6 -0
- package/dist/types/transaction/primitives/transactionElevatedPayloads.d.ts.map +1 -0
- package/dist/types/transaction/primitives/transactionOperations.d.ts +3 -0
- package/dist/types/transaction/primitives/transactionOperations.d.ts.map +1 -0
- package/dist/types/transaction/primitives/transactionRequiredGas.d.ts +6 -0
- package/dist/types/transaction/primitives/transactionRequiredGas.d.ts.map +1 -0
- package/package.json +18 -15
- package/src/block/hydrateBlock.ts +83 -0
- package/src/block/index.ts +2 -0
- package/src/block/primitives/frames/BlockNumberRange.ts +1 -0
- package/src/block/primitives/frames/calculateFramesFromRange.ts +29 -0
- package/src/block/primitives/frames/deepCalculateFramesFromRange.ts +27 -0
- package/src/block/primitives/frames/index.ts +2 -0
- package/src/block/primitives/frames/loadFrameSummaries.ts +12 -0
- package/src/block/primitives/frames/stepHashFramesFromBlock.ts +72 -0
- package/src/block/primitives/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/instances/block/BlockFields.ts +7 -3
- package/src/instances/block/HydratedBlock.ts +2 -3
- package/src/instances/block/index.ts +0 -1
- package/src/instances/transaction/HydratedTransaction.ts +2 -1
- package/src/instances/transaction/TransactionFields.ts +9 -1
- package/src/instances/transaction/index.ts +0 -1
- package/src/transaction/buildTransaction.ts +2 -2
- package/src/transaction/hydrateTransaction.ts +7 -7
- package/src/transaction/index.ts +1 -1
- package/src/transaction/primitives/index.ts +4 -0
- package/src/transaction/primitives/transactionBlockByteCount.ts +10 -0
- package/src/transaction/primitives/transactionElevatedPayloads.ts +16 -0
- package/src/transaction/primitives/transactionOperations.ts +11 -0
- package/src/transaction/primitives/transactionRequiredGas.ts +21 -0
- package/dist/types/instances/block/SignedHydratedBlock.d.ts +0 -6
- package/dist/types/instances/block/SignedHydratedBlock.d.ts.map +0 -1
- package/dist/types/instances/transaction/SignedHydratedTransaction.d.ts +0 -6
- package/dist/types/instances/transaction/SignedHydratedTransaction.d.ts.map +0 -1
- package/dist/types/transaction/transactionRequiredGas.d.ts +0 -4
- package/dist/types/transaction/transactionRequiredGas.d.ts.map +0 -1
- package/knip.config.ts +0 -15
- package/src/instances/block/SignedHydratedBlock.ts +0 -6
- package/src/instances/transaction/SignedHydratedTransaction.ts +0 -8
- package/src/transaction/transactionRequiredGas.ts +0 -13
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { HydratedTransaction } from '@xyo-network/xl1-protocol'
|
|
2
|
+
import { AttoXL1, TransactionGasCosts } from '@xyo-network/xl1-protocol'
|
|
3
|
+
|
|
4
|
+
import { transactionBlockByteCount } from './transactionBlockByteCount.ts'
|
|
5
|
+
import { transactionElevatedPayloads } from './transactionElevatedPayloads.ts'
|
|
6
|
+
|
|
7
|
+
/** The required gas for the byte storage on the block chain for a transaction */
|
|
8
|
+
export function transactionBytesRequiredGas([transaction, payloads]: HydratedTransaction): AttoXL1 {
|
|
9
|
+
const transactionBlockBytes = transactionBlockByteCount([transaction, payloads])
|
|
10
|
+
return AttoXL1(TransactionGasCosts.characterStorage * BigInt(transactionBlockBytes))
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function transactionRequiredGas(hydratedTransaction: HydratedTransaction): AttoXL1 {
|
|
14
|
+
const elevatedPayloads = transactionElevatedPayloads(hydratedTransaction)
|
|
15
|
+
const hashes = elevatedPayloads.length + 1 /* for transaction itself */
|
|
16
|
+
const signatures = hydratedTransaction[0].addresses.length
|
|
17
|
+
return AttoXL1(transactionBytesRequiredGas(hydratedTransaction)
|
|
18
|
+
+ TransactionGasCosts.hashValidation * BigInt(hashes)
|
|
19
|
+
+ TransactionGasCosts.signatureValidation * BigInt(signatures)
|
|
20
|
+
+ TransactionGasCosts.payloadValidation * BigInt(elevatedPayloads.length))
|
|
21
|
+
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { SignedHydratedBlock } from '@xyo-network/xl1-protocol';
|
|
2
|
-
import type { SignedInstance } from '../modifiers/Signed.ts';
|
|
3
|
-
import type { HydratedBlockInstance } from './HydratedBlock.ts';
|
|
4
|
-
export interface SignedHydratedBlockInstance<T extends SignedHydratedBlock = SignedHydratedBlock> extends HydratedBlockInstance<T>, SignedInstance {
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=SignedHydratedBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignedHydratedBlock.d.ts","sourceRoot":"","sources":["../../../../src/instances/block/SignedHydratedBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC,EAAE,cAAc;CAAI"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AllowedBlockPayload, HydratedTransaction } from '@xyo-network/xl1-protocol';
|
|
2
|
-
import type { SignedInstance } from '../modifiers/Signed.ts';
|
|
3
|
-
import type { HydratedTransactionInstance } from './HydratedTransaction.ts';
|
|
4
|
-
export interface SignedHydratedTransactionInstance<T extends HydratedTransaction = HydratedTransaction, TBlockPayload extends AllowedBlockPayload = AllowedBlockPayload> extends HydratedTransactionInstance<T, TBlockPayload>, SignedInstance {
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=SignedHydratedTransaction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignedHydratedTransaction.d.ts","sourceRoot":"","sources":["../../../../src/instances/transaction/SignedHydratedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAE3E,MAAM,WAAW,iCAAiC,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACpG,aAAa,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,2BAA2B,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,cAAc;CACvI"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { HydratedTransaction } from '@xyo-network/xl1-protocol';
|
|
2
|
-
import { AttoXL1 } from '@xyo-network/xl1-protocol';
|
|
3
|
-
export declare function transactionRequiredGas([transaction, payloads]: HydratedTransaction): AttoXL1;
|
|
4
|
-
//# sourceMappingURL=transactionRequiredGas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionRequiredGas.d.ts","sourceRoot":"","sources":["../../../src/transaction/transactionRequiredGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,OAAO,EAAuB,MAAM,2BAA2B,CAAA;AAExE,wBAAgB,sBAAsB,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAS5F"}
|
package/knip.config.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { SignedHydratedBlock } from '@xyo-network/xl1-protocol'
|
|
2
|
-
|
|
3
|
-
import type { SignedInstance } from '../modifiers/Signed.ts'
|
|
4
|
-
import type { HydratedBlockInstance } from './HydratedBlock.ts'
|
|
5
|
-
|
|
6
|
-
export interface SignedHydratedBlockInstance<T extends SignedHydratedBlock = SignedHydratedBlock> extends HydratedBlockInstance<T>, SignedInstance { }
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AllowedBlockPayload, HydratedTransaction } from '@xyo-network/xl1-protocol'
|
|
2
|
-
|
|
3
|
-
import type { SignedInstance } from '../modifiers/Signed.ts'
|
|
4
|
-
import type { HydratedTransactionInstance } from './HydratedTransaction.ts'
|
|
5
|
-
|
|
6
|
-
export interface SignedHydratedTransactionInstance<T extends HydratedTransaction = HydratedTransaction,
|
|
7
|
-
TBlockPayload extends AllowedBlockPayload = AllowedBlockPayload> extends HydratedTransactionInstance<T, TBlockPayload>, SignedInstance {
|
|
8
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { HydratedTransaction } from '@xyo-network/xl1-protocol'
|
|
2
|
-
import { AttoXL1, TransactionGasCosts } from '@xyo-network/xl1-protocol'
|
|
3
|
-
|
|
4
|
-
export function transactionRequiredGas([transaction, payloads]: HydratedTransaction): AttoXL1 {
|
|
5
|
-
const characters = payloads.reduce((acc: number, payload) => acc + JSON.stringify(payload).length, 0)
|
|
6
|
-
const hashes = transaction.payload_hashes.length + 1 /* for transaction itself */
|
|
7
|
-
const signatures = transaction.addresses.length + 1
|
|
8
|
-
const elevatedPayloads = (transaction.script ?? []).length
|
|
9
|
-
return AttoXL1(TransactionGasCosts.characterStorage * BigInt(characters)
|
|
10
|
-
+ TransactionGasCosts.hashValidation * BigInt(hashes)
|
|
11
|
-
+ TransactionGasCosts.signatureValidation * BigInt(signatures)
|
|
12
|
-
+ TransactionGasCosts.payloadValidation * BigInt(elevatedPayloads))
|
|
13
|
-
}
|