@xyo-network/xl1-protocol-sdk 1.16.9 → 1.16.10

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.
Files changed (76) hide show
  1. package/dist/neutral/block/primitives/frames/calculateFramesFromRange.d.ts.map +1 -1
  2. package/dist/neutral/block/primitives/transfers/transfersSummary.d.ts.map +1 -1
  3. package/dist/neutral/config/Config.d.ts +3 -15
  4. package/dist/neutral/config/Config.d.ts.map +1 -1
  5. package/dist/neutral/config/Producer.d.ts +1 -5
  6. package/dist/neutral/config/Producer.d.ts.map +1 -1
  7. package/dist/neutral/config/Validation.d.ts +2 -10
  8. package/dist/neutral/config/Validation.d.ts.map +1 -1
  9. package/dist/neutral/index.mjs +278 -48
  10. package/dist/neutral/index.mjs.map +1 -1
  11. package/dist/neutral/model/ChainContext/ChainStakeContext.d.ts +4 -5
  12. package/dist/neutral/model/ChainContext/ChainStakeContext.d.ts.map +1 -1
  13. package/dist/neutral/model/index.d.ts +0 -2
  14. package/dist/neutral/model/index.d.ts.map +1 -1
  15. package/dist/neutral/payloads/netBalancesForPayloads.d.ts +2 -4
  16. package/dist/neutral/payloads/netBalancesForPayloads.d.ts.map +1 -1
  17. package/dist/neutral/primitives/summary/balances/balancesSummary.d.ts.map +1 -1
  18. package/dist/neutral/primitives/summary/transfers/transfersSummary.d.ts.map +1 -1
  19. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +17 -0
  20. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -0
  21. package/dist/neutral/simple/accountBalance/index.d.ts +2 -0
  22. package/dist/neutral/simple/accountBalance/index.d.ts.map +1 -0
  23. package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts.map +1 -1
  24. package/dist/neutral/simple/index.d.ts +2 -0
  25. package/dist/neutral/simple/index.d.ts.map +1 -1
  26. package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts +15 -0
  27. package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts.map +1 -0
  28. package/dist/neutral/simple/timesync/index.d.ts +2 -0
  29. package/dist/neutral/simple/timesync/index.d.ts.map +1 -0
  30. package/dist/neutral/viewers/AccountBalance.d.ts +4 -8
  31. package/dist/neutral/viewers/AccountBalance.d.ts.map +1 -1
  32. package/dist/neutral/viewers/Block.d.ts +5 -3
  33. package/dist/neutral/viewers/Block.d.ts.map +1 -1
  34. package/dist/neutral/viewers/Stake.d.ts +21 -1
  35. package/dist/neutral/viewers/Stake.d.ts.map +1 -1
  36. package/dist/neutral/{model → viewers}/StakeEvents.d.ts +1 -1
  37. package/dist/neutral/viewers/StakeEvents.d.ts.map +1 -0
  38. package/dist/neutral/viewers/TimeSync.d.ts +1 -2
  39. package/dist/neutral/viewers/TimeSync.d.ts.map +1 -1
  40. package/dist/neutral/viewers/index.d.ts +1 -0
  41. package/dist/neutral/viewers/index.d.ts.map +1 -1
  42. package/package.json +17 -16
  43. package/src/block/primitives/blockFromBlockNumber.ts +1 -1
  44. package/src/block/primitives/frames/calculateFramesFromRange.ts +3 -2
  45. package/src/block/primitives/transfers/transfersSummary.ts +4 -1
  46. package/src/model/ChainContext/ChainStakeContext.ts +6 -5
  47. package/src/model/index.ts +0 -2
  48. package/src/primitives/step/stepBlockRange.ts +1 -1
  49. package/src/primitives/step/stepTransferIndex.ts +1 -1
  50. package/src/primitives/summary/balances/balancesSummary.ts +4 -1
  51. package/src/primitives/summary/transfers/transfersSummary.ts +4 -1
  52. package/src/simple/accountBalance/SimpleAccountBalanceViewer.ts +124 -0
  53. package/src/simple/accountBalance/index.ts +1 -0
  54. package/src/simple/gateway/SimpleXyoGatewayRunner.ts +1 -2
  55. package/src/simple/index.ts +2 -0
  56. package/src/simple/timesync/SimpleTimeSyncViewer.ts +94 -0
  57. package/src/simple/timesync/index.ts +1 -0
  58. package/src/viewers/AccountBalance.ts +4 -8
  59. package/src/viewers/Block.ts +5 -3
  60. package/src/viewers/Stake.ts +24 -2
  61. package/src/{model → viewers}/StakeEvents.ts +1 -1
  62. package/src/viewers/TimeSync.ts +1 -2
  63. package/src/viewers/index.ts +1 -0
  64. package/dist/neutral/model/ChainStake/ChainStakeRead.d.ts +0 -17
  65. package/dist/neutral/model/ChainStake/ChainStakeRead.d.ts.map +0 -1
  66. package/dist/neutral/model/ChainStake/ChainStakeStatic.d.ts +0 -7
  67. package/dist/neutral/model/ChainStake/ChainStakeStatic.d.ts.map +0 -1
  68. package/dist/neutral/model/ChainStake/ChainStakeWrite.d.ts +0 -6
  69. package/dist/neutral/model/ChainStake/ChainStakeWrite.d.ts.map +0 -1
  70. package/dist/neutral/model/ChainStake/index.d.ts +0 -4
  71. package/dist/neutral/model/ChainStake/index.d.ts.map +0 -1
  72. package/dist/neutral/model/StakeEvents.d.ts.map +0 -1
  73. package/src/model/ChainStake/ChainStakeRead.ts +0 -18
  74. package/src/model/ChainStake/ChainStakeStatic.ts +0 -7
  75. package/src/model/ChainStake/ChainStakeWrite.ts +0 -5
  76. package/src/model/ChainStake/index.ts +0 -3
@@ -1,12 +1,11 @@
1
+ import type { StakeEventsViewer, StakeRunner, StakeViewer } from '../../viewers/index.ts';
1
2
  import type { ChainIdentity } from '../ChainIdentity.ts';
2
- import type { ChainStakeRead, ChainStakeWrite } from '../ChainStake/index.ts';
3
- import type { StakeEventsRead } from '../StakeEvents.ts';
4
3
  export interface ChainStakeContextWrite extends ChainIdentity {
5
- stake: ChainStakeWrite;
4
+ stake: StakeRunner;
6
5
  }
7
6
  export interface ChainStakeContextRead extends ChainIdentity {
8
- events: StakeEventsRead;
9
- stake: ChainStakeRead;
7
+ events: StakeEventsViewer;
8
+ stake: StakeViewer;
10
9
  }
11
10
  export type ChainStakeContext = ChainStakeContextRead & ChainStakeContextWrite;
12
11
  //# sourceMappingURL=ChainStakeContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainStakeContext.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainContext/ChainStakeContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,KAAK,EAAE,eAAe,CAAA;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,cAAc,CAAA;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA"}
1
+ {"version":3,"file":"ChainStakeContext.d.ts","sourceRoot":"","sources":["../../../../src/model/ChainContext/ChainStakeContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAC5C,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,MAAM,EAAE,iBAAiB,CAAA;IACzB,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA"}
@@ -1,11 +1,9 @@
1
1
  export * from './ChainContext/index.ts';
2
2
  export * from './ChainFork/index.ts';
3
3
  export * from './ChainIdentity.ts';
4
- export * from './ChainStake/index.ts';
5
4
  export * from './ChainStore.ts';
6
5
  export * from './PayloadMap.ts';
7
6
  export * from './Position.ts';
8
7
  export * from './RecordKeyType.ts';
9
- export * from './StakeEvents.ts';
10
8
  export * from './summary.ts';
11
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA"}
@@ -1,6 +1,4 @@
1
- import { type Hex } from '@xylabs/hex';
1
+ import { type Address } from '@xylabs/hex';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
- export declare const netBalancesForPayloads: (payloads: Payload[]) => Record<import("@xylabs/typeof").Brand<Hex, {
4
- readonly __address: true;
5
- }>, bigint>;
3
+ export declare const netBalancesForPayloads: (payloads: Payload[]) => Record<Address, bigint>;
6
4
  //# sourceMappingURL=netBalancesForPayloads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"netBalancesForPayloads.d.ts","sourceRoot":"","sources":["../../../src/payloads/netBalancesForPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EACS,KAAK,GAAG,EACvB,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,eAAO,MAAM,sBAAsB,GAAI,UAAU,OAAO,EAAE;;WAczD,CAAA"}
1
+ {"version":3,"file":"netBalancesForPayloads.d.ts","sourceRoot":"","sources":["../../../src/payloads/netBalancesForPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACb,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,eAAO,MAAM,sBAAsB,GAAI,UAAU,OAAO,EAAE,4BAczD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"balancesSummary.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/summary/balances/balancesSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAS1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAIxE,wBAAsB,eAAe,CACnC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAiB3C"}
1
+ {"version":3,"file":"balancesSummary.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/summary/balances/balancesSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAS1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAIxE,wBAAsB,eAAe,CACnC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAoB3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"transfersSummary.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/summary/transfers/transfersSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAS1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAK1E,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAqBrE"}
1
+ {"version":3,"file":"transfersSummary.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/summary/transfers/transfersSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAS1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAK1E,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAwBrE"}
@@ -0,0 +1,17 @@
1
+ import type { Address, Hash } from '@xylabs/hex';
2
+ import type { XL1BlockRange } from '@xyo-network/xl1-protocol';
3
+ import { AttoXL1 } from '@xyo-network/xl1-protocol';
4
+ import type { BalanceStepSummaryContext, TransfersStepSummaryContext } from '../../model/index.ts';
5
+ import type { AccountBalanceHistoryItem, AccountBalanceViewer, BlockViewer } from '../../viewers/index.ts';
6
+ export declare class SimpleAccountBalanceViewer implements AccountBalanceViewer {
7
+ protected readonly blockViewer: BlockViewer;
8
+ protected readonly context: BalanceStepSummaryContext;
9
+ protected readonly transferContext: TransfersStepSummaryContext;
10
+ constructor(context: BalanceStepSummaryContext, transferContext: TransfersStepSummaryContext, blockViewer: BlockViewer);
11
+ accountBalance(address: Address, headOrRange?: XL1BlockRange | Hash): Promise<AttoXL1>;
12
+ accountBalanceHistory(address: Address, headOrRange?: XL1BlockRange | Hash): Promise<AccountBalanceHistoryItem[]>;
13
+ accountBalances(address: Address[], _headOrRange?: XL1BlockRange | Hash): Promise<Partial<Record<Address, AttoXL1>>>;
14
+ accountBalancesHistories(_addresses: Address[], _rangeOrHash?: XL1BlockRange | Hash): Promise<Partial<Record<Address, AccountBalanceHistoryItem[]>>>;
15
+ private distillTransferHistory;
16
+ }
17
+ //# sourceMappingURL=SimpleAccountBalanceViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleAccountBalanceViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/accountBalance/SimpleAccountBalanceViewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAKhD,OAAO,KAAK,EACmC,aAAa,EAC3D,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACuC,OAAO,EAGpD,MAAM,2BAA2B,CAAA;AAGlC,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAGlG,OAAO,KAAK,EACV,yBAAyB,EAAE,oBAAoB,EAAE,WAAW,EAC7D,MAAM,wBAAwB,CAAA;AAE/B,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAA;IACrD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAA;gBAEnD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,2BAA2B,EAAE,WAAW,EAAE,WAAW;IAMhH,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtF,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IA4BjH,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAc1H,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAItI,sBAAsB;CAqCrC"}
@@ -0,0 +1,2 @@
1
+ export * from './SimpleAccountBalanceViewer.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/simple/accountBalance/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleXyoGatewayRunner.d.ts","sourceRoot":"","sources":["../../../../src/simple/gateway/SimpleXyoGatewayRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EACd,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,qCAAqC,EAG3C,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAC3C,SAAS,EACV,MAAM,yBAAyB,CAAA;AAGhC,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IACtC,OAAO,CAAC,UAAU,CAA2B;gBAEjC,OAAO,EAAE,UAAU,EAAE,SAAS,GAAE,cAAc,EAAO;IAKjE,IAAI,kBAAkB,IAAI,aAAa,CAEtC;IAED,IAAI,SAAS,IAAI,cAAc,EAAE,CAEhC;IAED,IAAI,cAAc,IAAI,SAAS,CAE9B;IAED,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IAKvC,kBAAkB,CACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;IAkBnD,qBAAqB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;IAclH,iDAAiD;IACjD,UAAU,IAAI,UAAU,CAAC,aAAa,CAAC;IAIvC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhG,6CAA6C;IAC7C,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;cAKf,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAOzF"}
1
+ {"version":3,"file":"SimpleXyoGatewayRunner.d.ts","sourceRoot":"","sources":["../../../../src/simple/gateway/SimpleXyoGatewayRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EACd,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,qCAAqC,EAG3C,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAC3C,SAAS,EACV,MAAM,yBAAyB,CAAA;AAGhC,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IACtC,OAAO,CAAC,UAAU,CAA2B;gBAEjC,OAAO,EAAE,UAAU,EAAE,SAAS,GAAE,cAAc,EAAO;IAKjE,IAAI,kBAAkB,IAAI,aAAa,CAEtC;IAED,IAAI,SAAS,IAAI,cAAc,EAAE,CAEhC;IAED,IAAI,cAAc,IAAI,SAAS,CAE9B;IAED,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IAKvC,kBAAkB,CACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;IAkBnD,qBAAqB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;IAalH,iDAAiD;IACjD,UAAU,IAAI,UAAU,CAAC,aAAa,CAAC;IAIvC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhG,6CAA6C;IAC7C,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;cAKf,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAOzF"}
@@ -1,3 +1,4 @@
1
+ export * from './accountBalance/index.ts';
1
2
  export * from './client/index.ts';
2
3
  export * from './datalake/index.ts';
3
4
  export * from './gateway/index.ts';
@@ -5,4 +6,5 @@ export * from './network/index.ts';
5
6
  export * from './permissions/index.ts';
6
7
  export * from './runner/index.ts';
7
8
  export * from './signer/index.ts';
9
+ export * from './timesync/index.ts';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ import type { Promisable } from '@xylabs/promise';
3
+ import type { TimeDomain, TimePayload } from '@xyo-network/xl1-protocol';
4
+ import type { Provider } from 'ethers';
5
+ import type { BlockViewer, TimeSyncViewer } from '../../viewers/index.ts';
6
+ export declare class SimpleTimeSyncViewer implements TimeSyncViewer {
7
+ protected readonly blockViewer: BlockViewer;
8
+ protected readonly ethProvider?: Provider;
9
+ constructor(blockViewer: BlockViewer, ethProvider?: Provider);
10
+ convertTime(fromDomain: TimeDomain, toDomain: TimeDomain, from: number): Promise<number>;
11
+ currentTime(domain: TimeDomain): Promise<[string, number]>;
12
+ currentTimeAndHash(domain: TimeDomain): Promise<[number, Hash | null]>;
13
+ currentTimePayload(): Promisable<TimePayload>;
14
+ }
15
+ //# sourceMappingURL=SimpleTimeSyncViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleTimeSyncViewer.d.ts","sourceRoot":"","sources":["../../../../src/simple/timesync/SimpleTimeSyncViewer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAIxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEzE,qBAAa,oBAAqB,YAAW,cAAc;IACzD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAA;gBAE7B,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ;IAKtD,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BxF,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiB1D,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAsB5E,kBAAkB,IAAI,UAAU,CAAC,WAAW,CAAC;CAG9C"}
@@ -0,0 +1,2 @@
1
+ export * from './SimpleTimeSyncViewer.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/simple/timesync/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -9,16 +9,12 @@ export type AccountBalanceHistoryItem = [
9
9
  WithStorageMeta<Transfer>
10
10
  ];
11
11
  export interface AccountBalancesViewerMethods {
12
- accountBalances(address: Address[], head?: Hash): Promisable<Partial<Record<Address, AttoXL1>>>;
13
- accountBalances(address: Address[], range?: XL1BlockRange): Promisable<Partial<Record<Address, AttoXL1>>>;
14
- accountBalancesHistories(address: Address[], head?: Hash): Promisable<Partial<Record<Address, AccountBalanceHistoryItem[]>>>;
15
- accountBalancesHistories(address: Address[], range?: XL1BlockRange): Promisable<Partial<Record<Address, AccountBalanceHistoryItem[]>>>;
12
+ accountBalances(address: Address[], headOrRange?: Hash | XL1BlockRange): Promisable<Partial<Record<Address, AttoXL1>>>;
13
+ accountBalancesHistories(address: Address[], headOrRange?: Hash | XL1BlockRange): Promisable<Partial<Record<Address, AccountBalanceHistoryItem[]>>>;
16
14
  }
17
15
  export interface AccountBalanceViewerMethods {
18
- accountBalance(address: Address, head?: Hash): Promisable<AttoXL1>;
19
- accountBalance(address: Address, range?: XL1BlockRange): Promisable<AttoXL1>;
20
- accountBalanceHistory(address: Address, head?: Hash): Promisable<AccountBalanceHistoryItem[]>;
21
- accountBalanceHistory(address: Address, range?: XL1BlockRange): Promisable<AccountBalanceHistoryItem[]>;
16
+ accountBalance(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<AttoXL1>;
17
+ accountBalanceHistory(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<AccountBalanceHistoryItem[]>;
22
18
  }
23
19
  export interface AccountBalanceViewer extends AccountBalanceViewerMethods {
24
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../src/viewers/AccountBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EAAE,uBAAuB,EAAE,QAAQ,EACpD,aAAa,EACd,MAAM,2BAA2B,CAAA;AAElC,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1C,eAAe,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,IAAI;IACvD,eAAe,CAAC,QAAQ,CAAC;CAC1B,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/F,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACzG,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5H,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;CACvI;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAClE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC5E,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAA;IAC7F,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAA;CACxG;AAED,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;CAAG"}
1
+ {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../src/viewers/AccountBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EAAE,uBAAuB,EAAE,QAAQ,EACpD,aAAa,EACd,MAAM,2BAA2B,CAAA;AAElC,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1C,eAAe,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,IAAI;IACvD,eAAe,CAAC,QAAQ,CAAC;CAC1B,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACtH,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;CACpJ;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACzF,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAA;CACrH;AAED,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;CAAG"}
@@ -1,12 +1,14 @@
1
1
  import type { Hash } from '@xylabs/hex';
2
2
  import type { Promisable } from '@xylabs/promise';
3
- import type { HydratedBlock } from '@xyo-network/xl1-protocol';
3
+ import type { HydratedBlock, XL1BlockNumber } from '@xyo-network/xl1-protocol';
4
4
  export interface BlockViewierMethods {
5
5
  blockByHash(hash: Hash): Promisable<HydratedBlock | null>;
6
- blockByNumber(blockNumber: number): Promisable<HydratedBlock | null>;
6
+ blockByNumber(block: XL1BlockNumber): Promisable<HydratedBlock | null>;
7
7
  blocksByHash(hash: Hash, limit?: number): Promisable<HydratedBlock[]>;
8
8
  currentBlock(): Promisable<HydratedBlock>;
9
9
  currentBlockHash(): Promisable<Hash>;
10
- currentBlockNumber(): Promisable<number>;
10
+ currentBlockNumber(): Promisable<XL1BlockNumber>;
11
+ }
12
+ export interface BlockViewer extends BlockViewierMethods {
11
13
  }
12
14
  //# sourceMappingURL=Block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/viewers/Block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACpE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,CAAA;IAErE,YAAY,IAAI,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,kBAAkB,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;CACzC"}
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/viewers/Block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE9E,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACtE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,CAAA;IAErE,YAAY,IAAI,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,kBAAkB,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,WAAY,SAAQ,mBAAmB;CAAG"}
@@ -1,11 +1,31 @@
1
1
  import type { Address } from '@xylabs/hex';
2
2
  import type { Promisable } from '@xylabs/promise';
3
3
  import type { Position } from '../model/index.ts';
4
+ import type { StakeEventsViewer } from './StakeEvents.ts';
5
+ export interface StakeViewerProperties {
6
+ minWithdrawalBlocks: number;
7
+ rewardsContract: Address;
8
+ stakingTokenAddress: Address;
9
+ }
4
10
  export interface StakeViewerMethods {
5
11
  stakeById(id: number): Promisable<Position>;
6
12
  stakeByStaker(staker: Address, slot: number): Promisable<Position>;
7
- stakedByStaker(staker: Address): Promisable<Address[]>;
8
13
  stakesByStaked(staked: Address): Promisable<Position[]>;
9
14
  stakesByStaker(staker: Address): Promisable<Position[]>;
10
15
  }
16
+ export interface StakeViewer extends StakeViewerMethods, StakeViewerProperties {
17
+ active(time?: number): Promisable<bigint>;
18
+ activeByAddressStaked(address: string, time?: number): Promisable<bigint>;
19
+ activeByStaker(address: string, time?: number): Promisable<bigint>;
20
+ pending(time?: number): Promisable<bigint>;
21
+ pendingByStaker(staker: string, time?: number): Promisable<bigint>;
22
+ withdrawn(time?: number): Promisable<bigint>;
23
+ withdrawnByStaker(staker: string, time?: number): Promisable<bigint>;
24
+ }
25
+ export interface StakeRunner extends StakeViewer {
26
+ events: StakeEventsViewer;
27
+ addStake(staked: string, amount: bigint): Promise<boolean>;
28
+ removeStake(slot: bigint): Promise<boolean>;
29
+ withdrawStake(slot: bigint): Promise<boolean>;
30
+ }
11
31
  //# sourceMappingURL=Stake.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stake.d.ts","sourceRoot":"","sources":["../../../src/viewers/Stake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAElE,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IACtD,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvD,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;CACxD"}
1
+ {"version":3,"file":"Stake.d.ts","sourceRoot":"","sources":["../../../src/viewers/Stake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAClE,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvD,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;CACxD;AAED,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,qBAAqB;IAC5E,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;CACrE;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,MAAM,EAAE,iBAAiB,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C"}
@@ -25,7 +25,7 @@ export interface StakeEventFilter<TName extends StakeEventName = StakeEventName>
25
25
  export interface StakeEvent<TName extends StakeEventName = StakeEventName> extends ExternalEvent<TName> {
26
26
  args: StakeEventArgs;
27
27
  }
28
- export interface StakeEventsRead {
28
+ export interface StakeEventsViewer {
29
29
  positionCount(range: [number, number | 'latest']): Promisable<number>;
30
30
  stakeEvents<TName extends StakeEventName>(range: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>;
31
31
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StakeEvents.d.ts","sourceRoot":"","sources":["../../../src/viewers/StakeEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,eAAO,MAAM,eAAe,2DAA4D,CAAA;AACxF,MAAM,MAAM,cAAc,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;AAE3D,MAAM,WAAW,aAAa,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,SAAS,UAAU,GAAG,EAAE;IACzF,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACxD,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAA;AAE5F,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,WAAW,CAAC,KAAK,CAAC;IACzG,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAC5B;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,aAAa,CAAC,KAAK,CAAC;IACrG,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACrE,WAAW,CAAC,KAAK,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;CACjJ"}
@@ -1,4 +1,3 @@
1
- import type { Hash } from '@xylabs/hex';
2
1
  import type { Promisable } from '@xylabs/promise';
3
2
  import type { TimeDomain, TimePayload } from '@xyo-network/xl1-protocol';
4
3
  export interface TimeSyncViewerMethods {
@@ -7,7 +6,7 @@ export interface TimeSyncViewerMethods {
7
6
  /** Get the current time for a given domain */
8
7
  currentTime(domain: TimeDomain): Promisable<[string, number]>;
9
8
  /** Get the current time for a given domain */
10
- currentTimeAndHash(domain: TimeDomain): Promisable<[number, Hash | null]>;
9
+ currentTimeAndHash(domain: TimeDomain): Promisable<[number, string | null]>;
11
10
  /** Create a TimePayload with the current time from all configured domains */
12
11
  currentTimePayload(): Promisable<TimePayload>;
13
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TimeSync.d.ts","sourceRoot":"","sources":["../../../src/viewers/TimeSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAExE,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAE3F,8CAA8C;IAC9C,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAE7D,8CAA8C;IAC9C,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAA;IAEzE,6EAA6E;IAC7E,kBAAkB,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;CAAG"}
1
+ {"version":3,"file":"TimeSync.d.ts","sourceRoot":"","sources":["../../../src/viewers/TimeSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAExE,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAE3F,8CAA8C;IAC9C,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAE7D,8CAA8C;IAC9C,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;IAE3E,6EAA6E;IAC7E,kBAAkB,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;CAAG"}
@@ -5,6 +5,7 @@ export * from './ChainContract.ts';
5
5
  export * from './Fork.ts';
6
6
  export * from './NetworkStakeStepReward.ts';
7
7
  export * from './Stake.ts';
8
+ export * from './StakeEvents.ts';
8
9
  export * from './StakeTotals.ts';
9
10
  export * from './StepStake.ts';
10
11
  export * from './TimeSync.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}
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-protocol-sdk",
4
- "version": "1.16.9",
4
+ "version": "1.16.10",
5
5
  "description": "XYO Layer One SDK Protocol",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -36,19 +36,20 @@
36
36
  "src"
37
37
  ],
38
38
  "dependencies": {
39
- "@xylabs/array": "~5.0.24",
40
- "@xylabs/arraybuffer": "~5.0.24",
41
- "@xylabs/assert": "~5.0.24",
42
- "@xylabs/base": "~5.0.24",
43
- "@xylabs/creatable": "~5.0.24",
44
- "@xylabs/delay": "~5.0.24",
45
- "@xylabs/events": "~5.0.24",
46
- "@xylabs/hex": "~5.0.24",
47
- "@xylabs/logger": "~5.0.24",
48
- "@xylabs/object": "~5.0.24",
49
- "@xylabs/promise": "~5.0.24",
50
- "@xylabs/telemetry": "~5.0.24",
51
- "@xylabs/typeof": "~5.0.24",
39
+ "@xylabs/array": "~5.0.25",
40
+ "@xylabs/arraybuffer": "~5.0.25",
41
+ "@xylabs/assert": "~5.0.25",
42
+ "@xylabs/base": "~5.0.25",
43
+ "@xylabs/creatable": "~5.0.25",
44
+ "@xylabs/delay": "~5.0.25",
45
+ "@xylabs/events": "~5.0.25",
46
+ "@xylabs/exists": "~5.0.25",
47
+ "@xylabs/hex": "~5.0.25",
48
+ "@xylabs/logger": "~5.0.25",
49
+ "@xylabs/object": "~5.0.25",
50
+ "@xylabs/promise": "~5.0.25",
51
+ "@xylabs/telemetry": "~5.0.25",
52
+ "@xylabs/typeof": "~5.0.25",
52
53
  "@xyo-network/account-model": "~5.1.21",
53
54
  "@xyo-network/archivist-memory": "~5.1.21",
54
55
  "@xyo-network/archivist-model": "~5.1.21",
@@ -58,7 +59,7 @@
58
59
  "@xyo-network/payload-model": "~5.1.21",
59
60
  "@xyo-network/wallet": "~5.1.21",
60
61
  "@xyo-network/wallet-model": "~5.1.21",
61
- "@xyo-network/xl1-protocol": "~1.13.6",
62
+ "@xyo-network/xl1-protocol": "~1.13.11",
62
63
  "async-mutex": "~0.5.0",
63
64
  "ethers": "~6.15.0",
64
65
  "lru-cache": "^11.2.2",
@@ -73,7 +74,7 @@
73
74
  "axios": "^1.13.2",
74
75
  "eslint": "^9.39.1",
75
76
  "typescript": "~5.9.3",
76
- "vitest": "~4.0.8"
77
+ "vitest": "~4.0.9"
77
78
  },
78
79
  "peerDependencies": {
79
80
  "axios": "^1.13.2"
@@ -13,7 +13,7 @@ export async function blockFromBlockNumber(context: ChainContextRead, blockNumbe
13
13
  const result = await context.store.chainMap.get(headHash)
14
14
  let currentBlock = asBlockBoundWitnessWithStorageMeta(result, () => `Head block not found for hash: ${headHash}`, { required: true })
15
15
  if (currentBlock.block < blockNumber) {
16
- throw new Error(`Error: Block number ${blockNumber} is greater than head ${currentBlock.block}.`)
16
+ throw new Error(`Block number ${blockNumber} is greater than head ${currentBlock.block}.`)
17
17
  }
18
18
  while (currentBlock.block > blockNumber) {
19
19
  let jumpHash: Hash | null = currentBlock.previous
@@ -19,9 +19,10 @@ export function calculateFramesFromRange(range: XL1BlockRange, step: number): [
19
19
 
20
20
  for (let i = start; i <= range[1]; i += size) {
21
21
  if ((i + size - 1) <= range[1]) {
22
- fitted.push([asXL1BlockNumber(i, true), asXL1BlockNumber(Math.min(i + size - 1, range[1]), true)])
22
+ fitted.push([asXL1BlockNumber(i, { name: 'calculateFramesFromRange A' }),
23
+ asXL1BlockNumber(Math.min(i + size - 1, range[1]), { name: 'calculateFramesFromRange B' })])
23
24
  } else {
24
- remaining.push([asXL1BlockNumber(i, true), range[1]])
25
+ remaining.push([asXL1BlockNumber(i, { name: 'calculateFramesFromRange C' }), range[1]])
25
26
  }
26
27
  }
27
28
  return [fitted, remaining]
@@ -20,7 +20,10 @@ export async function transfersSummary(
20
20
  const headResult = await transferContext.store.chainMap.get(headHash)
21
21
  const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${transferContext.head}`, { required: true })
22
22
  const rangeStart = asXL1BlockNumber(isDefined(transferContext.windowSize) ? Math.max(headBoundWitness.block - transferContext.windowSize + 1, 0) : 0)
23
- const ranges = deepCalculateFramesFromRange(asXL1BlockRange([rangeStart, headBoundWitness.block], true))
23
+ const ranges = deepCalculateFramesFromRange(asXL1BlockRange(
24
+ [rangeStart, headBoundWitness.block],
25
+ { name: 'transfersSummary' },
26
+ ))
24
27
  const summaries = await Promise.all(ranges.map(range => transfersStepSummaryFromRange(transferContext, range)))
25
28
  const transfers: Partial<Record<Address, Partial<Record<Address, bigint>>>> = {}
26
29
  for (let summary of summaries) {
@@ -1,14 +1,15 @@
1
+ import type {
2
+ StakeEventsViewer, StakeRunner, StakeViewer,
3
+ } from '../../viewers/index.ts'
1
4
  import type { ChainIdentity } from '../ChainIdentity.ts'
2
- import type { ChainStakeRead, ChainStakeWrite } from '../ChainStake/index.ts'
3
- import type { StakeEventsRead } from '../StakeEvents.ts'
4
5
 
5
6
  export interface ChainStakeContextWrite extends ChainIdentity {
6
- stake: ChainStakeWrite
7
+ stake: StakeRunner
7
8
  }
8
9
 
9
10
  export interface ChainStakeContextRead extends ChainIdentity {
10
- events: StakeEventsRead
11
- stake: ChainStakeRead
11
+ events: StakeEventsViewer
12
+ stake: StakeViewer
12
13
  }
13
14
 
14
15
  export type ChainStakeContext = ChainStakeContextRead & ChainStakeContextWrite
@@ -1,10 +1,8 @@
1
1
  export * from './ChainContext/index.ts'
2
2
  export * from './ChainFork/index.ts'
3
3
  export * from './ChainIdentity.ts'
4
- export * from './ChainStake/index.ts'
5
4
  export * from './ChainStore.ts'
6
5
  export * from './PayloadMap.ts'
7
6
  export * from './Position.ts'
8
7
  export * from './RecordKeyType.ts'
9
- export * from './StakeEvents.ts'
10
8
  export * from './summary.ts'
@@ -4,5 +4,5 @@ import { asXL1BlockRange, StepSizes } from '@xyo-network/xl1-protocol'
4
4
  export function stepBlockRange({ block, step }: StepIdentity): XL1BlockRange {
5
5
  const stepSize = StepSizes[step]
6
6
  const start = block - stepSize
7
- return asXL1BlockRange([start, start + stepSize - 1], true)
7
+ return asXL1BlockRange([start, start + stepSize - 1], { name: 'stepBlockRange' })
8
8
  }
@@ -13,6 +13,6 @@ export function stepTransferIndex(block: number, step: number) {
13
13
  rewardTransferCount++
14
14
  }
15
15
  }
16
- assertEx(rewardTransferIndex >= 0, () => `Error: Could not find step size for step ${step} at block ${block}`)
16
+ assertEx(rewardTransferIndex >= 0, () => `Could not find step size for step ${step} at block ${block}`)
17
17
  return [rewardTransferIndex, rewardTransferCount]
18
18
  }
@@ -19,7 +19,10 @@ export async function balancesSummary(
19
19
  const headResult = await context.store.chainMap.get(headHash)
20
20
  const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${headHash}`, { required: true })
21
21
  const rangeStart = asXL1BlockNumber(isDefined(context.windowSize) ? Math.max(headBoundWitness.block - context.windowSize + 1, 0) : 0)
22
- const ranges = deepCalculateFramesFromRange(asXL1BlockRange([rangeStart, headBoundWitness.block], true))
22
+ const ranges = deepCalculateFramesFromRange(asXL1BlockRange(
23
+ [rangeStart, headBoundWitness.block],
24
+ { name: 'balancesSummary' },
25
+ ))
23
26
  const summaries = await Promise.all(ranges.map(range => balancesStepSummaryFromRange(context, range)))
24
27
  const balances: Partial<Record<Address, bigint>> = {}
25
28
  for (let summary of summaries) {
@@ -20,7 +20,10 @@ export async function transfersSummary(
20
20
  const headResult = await context.store.chainMap.get(headHash)
21
21
  const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${headHash}`, { required: true })
22
22
  const rangeStart = asXL1BlockNumber(isDefined(context.windowSize) ? Math.max(headBoundWitness.block - context.windowSize + 1, 0) : 0)
23
- const ranges = deepCalculateFramesFromRange(asXL1BlockRange([rangeStart, headBoundWitness.block], true))
23
+ const ranges = deepCalculateFramesFromRange(asXL1BlockRange(
24
+ [rangeStart, headBoundWitness.block],
25
+ { name: 'transfersSummary' },
26
+ ))
24
27
  const summaries = await Promise.all(ranges.map(range => transfersStepSummaryFromRange(context, range)))
25
28
  const transfers: Partial<Record<Address, Partial<Record<Address, bigint>>>> = {}
26
29
  for (let summary of summaries) {