@proto-kit/protocol 0.1.1-develop.1347 → 0.1.1-develop.1350

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 (51) hide show
  1. package/dist/hashing/mina-prefixes.d.ts +10 -0
  2. package/dist/hashing/mina-prefixes.d.ts.map +1 -0
  3. package/dist/hashing/mina-prefixes.js +10 -0
  4. package/dist/hashing/mina-prefixes.js.map +1 -0
  5. package/dist/hashing/protokit-prefixes.d.ts +5 -0
  6. package/dist/hashing/protokit-prefixes.d.ts.map +1 -0
  7. package/dist/hashing/protokit-prefixes.js +17 -0
  8. package/dist/hashing/protokit-prefixes.js.map +1 -0
  9. package/dist/hooks/AccountStateHook.d.ts.map +1 -1
  10. package/dist/hooks/AccountStateHook.js +2 -2
  11. package/dist/hooks/AccountStateHook.js.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/model/Path.d.ts +2 -1
  17. package/dist/model/Path.d.ts.map +1 -1
  18. package/dist/model/Path.js +4 -2
  19. package/dist/model/Path.js.map +1 -1
  20. package/dist/protocol/Protocol.js +1 -1
  21. package/dist/protocol/Protocol.js.map +1 -1
  22. package/dist/protocol/ProtocolModule.d.ts +1 -1
  23. package/dist/protocol/ProtocolModule.d.ts.map +1 -1
  24. package/dist/protocol/ProtocolModule.js +1 -1
  25. package/dist/protocol/ProtocolModule.js.map +1 -1
  26. package/dist/protocol/ProvableBlockHook.d.ts +2 -1
  27. package/dist/protocol/ProvableBlockHook.d.ts.map +1 -1
  28. package/dist/protocol/ProvableBlockHook.js.map +1 -1
  29. package/dist/settlement/contracts/BridgeContract.d.ts.map +1 -1
  30. package/dist/settlement/contracts/BridgeContract.js +2 -1
  31. package/dist/settlement/contracts/BridgeContract.js.map +1 -1
  32. package/dist/state/protocol/ProtocolState.d.ts +14 -2
  33. package/dist/state/protocol/ProtocolState.d.ts.map +1 -1
  34. package/dist/state/protocol/ProtocolState.js +37 -22
  35. package/dist/state/protocol/ProtocolState.js.map +1 -1
  36. package/dist/utils/MinaPrefixedProvableHashList.d.ts +0 -5
  37. package/dist/utils/MinaPrefixedProvableHashList.d.ts.map +1 -1
  38. package/dist/utils/MinaPrefixedProvableHashList.js +8 -15
  39. package/dist/utils/MinaPrefixedProvableHashList.js.map +1 -1
  40. package/package.json +2 -2
  41. package/src/hashing/mina-prefixes.ts +10 -0
  42. package/src/hashing/protokit-prefixes.ts +23 -0
  43. package/src/hooks/AccountStateHook.ts +2 -2
  44. package/src/index.ts +2 -0
  45. package/src/model/Path.ts +8 -2
  46. package/src/protocol/Protocol.ts +1 -1
  47. package/src/protocol/ProtocolModule.ts +2 -2
  48. package/src/protocol/ProvableBlockHook.ts +2 -1
  49. package/src/settlement/contracts/BridgeContract.ts +6 -1
  50. package/src/state/protocol/ProtocolState.ts +70 -29
  51. package/src/utils/MinaPrefixedProvableHashList.ts +9 -16
@@ -0,0 +1,10 @@
1
+ export declare const MINA_PREFIXES: {
2
+ readonly event: "MinaZkappEvent******";
3
+ readonly events: "MinaZkappEvents*****";
4
+ readonly sequenceEvents: "MinaZkappSeqEvents**";
5
+ };
6
+ export declare const MINA_SALTS: {
7
+ empty_actions: string;
8
+ empty_events: string;
9
+ };
10
+ //# sourceMappingURL=mina-prefixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mina-prefixes.d.ts","sourceRoot":"","sources":["../../src/hashing/mina-prefixes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,eAAO,MAAM,UAAU;;;CAGtB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const MINA_PREFIXES = {
2
+ event: "MinaZkappEvent******",
3
+ events: "MinaZkappEvents*****",
4
+ sequenceEvents: "MinaZkappSeqEvents**",
5
+ };
6
+ export const MINA_SALTS = {
7
+ empty_actions: "MinaZkappActionsEmpty",
8
+ empty_events: "MinaZkappEventsEmpty",
9
+ };
10
+ //# sourceMappingURL=mina-prefixes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mina-prefixes.js","sourceRoot":"","sources":["../../src/hashing/mina-prefixes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,sBAAsB;IAC9B,cAAc,EAAE,sBAAsB;CAC9B,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,aAAa,EAAE,uBAAuB;IACtC,YAAY,EAAE,sBAAsB;CACrC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const PROTOKIT_PREFIXES: {
2
+ STATE_PROTOCOL: string;
3
+ STATE_RUNTIME: string;
4
+ };
5
+ //# sourceMappingURL=protokit-prefixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protokit-prefixes.d.ts","sourceRoot":"","sources":["../../src/hashing/protokit-prefixes.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB;;;CAG5B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import padEnd from "lodash/padEnd";
2
+ import mapValues from "lodash/mapValues";
3
+ const length = 20;
4
+ function padToHashPrefix(s) {
5
+ if (s.length > 20) {
6
+ throw new Error(`Prefix string ${s} is too long (max ${length})`);
7
+ }
8
+ return padEnd(s, length, "*");
9
+ }
10
+ function padPrefixRecord(record) {
11
+ return mapValues(record, padToHashPrefix);
12
+ }
13
+ export const PROTOKIT_PREFIXES = padPrefixRecord({
14
+ STATE_PROTOCOL: "pk-protocol-state",
15
+ STATE_RUNTIME: "pk-runtime-state",
16
+ });
17
+ //# sourceMappingURL=protokit-prefixes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protokit-prefixes.js","sourceRoot":"","sources":["../../src/hashing/protokit-prefixes.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,eAAe,CAAC,CAAS;IAChC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CACtB,MAAS;IAIT,OAAO,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAC/C,cAAc,EAAE,mBAAmB;IACnC,aAAa,EAAE,kBAAkB;CAClC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountStateHook.d.ts","sourceRoot":"","sources":["../../src/hooks/AccountStateHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,EAAE,MAAM,MAAM,CAAC;AAIjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,qCAAqC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAG7C,qBAAa,YAAa,SAAQ,iBAEhC;CAAG;AAEL,qBACa,gBAAiB,SAAQ,uBAAuB;IACnC,YAAY,oCAGlC;IAEW,iBAAiB,CAAC,EAC7B,WAAW,GACZ,EAAE,8BAA8B;IA4BpB,gBAAgB;CAG9B"}
1
+ {"version":3,"file":"AccountStateHook.d.ts","sourceRoot":"","sources":["../../src/hooks/AccountStateHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,EAAE,MAAM,MAAM,CAAC;AAIjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,qCAAqC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAG7C,qBAAa,YAAa,SAAQ,iBAEhC;CAAG;AAEL,qBACa,gBAAiB,SAAQ,uBAAuB;IAC3C,YAAY,oCAG1B;IAEW,iBAAiB,CAAC,EAC7B,WAAW,GACZ,EAAE,8BAA8B;IA4BpB,gBAAgB;CAG9B"}
@@ -11,7 +11,7 @@ import { PublicKey, Struct, UInt64 } from "o1js";
11
11
  import { injectable } from "tsyringe";
12
12
  import { noop } from "@proto-kit/common";
13
13
  import { StateMap } from "../state/StateMap";
14
- import { protocolState } from "../state/protocol/ProtocolState";
14
+ import { state } from "../state/protocol/ProtocolState";
15
15
  import { ProvableTransactionHook, } from "../protocol/ProvableTransactionHook";
16
16
  import { assert } from "../state/assert/assert";
17
17
  export class AccountState extends Struct({
@@ -43,7 +43,7 @@ export let AccountStateHook = class AccountStateHook extends ProvableTransaction
43
43
  }
44
44
  };
45
45
  __decorate([
46
- protocolState(),
46
+ state(),
47
47
  __metadata("design:type", Object)
48
48
  ], AccountStateHook.prototype, "accountState", void 0);
49
49
  AccountStateHook = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"AccountStateHook.js","sourceRoot":"","sources":["../../src/hooks/AccountStateHook.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC;IACvC,KAAK,EAAE,MAAM;CACd,CAAC;CAAG;AAGE,WAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,uBAAuB;IAAtD;;QACmB,iBAAY,GAAG,QAAQ,CAAC,IAAI,CAClD,SAAS,EACT,YAAY,CACb,CAAC;IAmCJ,CAAC;IAjCQ,KAAK,CAAC,iBAAiB,CAAC,EAC7B,WAAW,GACoB;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAExC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE1E,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;QAExC,+EAA+E;QAC/E,MAAM,CACJ,YAAY;aACT,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;aAC/B,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EACtC,GAAG,EAAE,CACH,+BAA+B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,YAAY,CAAC,QAAQ,EAAE,EAAE,CACnH,CAAC;QAEF,kFAAkF;QAClF,gCAAgC;QAChC,sFAAsF;QACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CACtC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CACnE,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAtCyB;IAAvB,aAAa,EAAE;;sDAGd;AAJS,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAuC5B"}
1
+ {"version":3,"file":"AccountStateHook.js","sourceRoot":"","sources":["../../src/hooks/AccountStateHook.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC;IACvC,KAAK,EAAE,MAAM;CACd,CAAC;CAAG;AAGE,WAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,uBAAuB;IAAtD;;QACW,iBAAY,GAAG,QAAQ,CAAC,IAAI,CAC1C,SAAS,EACT,YAAY,CACb,CAAC;IAmCJ,CAAC;IAjCQ,KAAK,CAAC,iBAAiB,CAAC,EAC7B,WAAW,GACoB;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAExC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE1E,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;QAExC,+EAA+E;QAC/E,MAAM,CACJ,YAAY;aACT,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;aAC/B,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EACtC,GAAG,EAAE,CACH,+BAA+B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,YAAY,CAAC,QAAQ,EAAE,EAAE,CACnH,CAAC;QAEF,kFAAkF;QAClF,gCAAgC;QAChC,sFAAsF;QACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CACtC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CACnE,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAtCiB;IAAf,KAAK,EAAE;;sDAGN;AAJS,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAuC5B"}
package/dist/index.d.ts CHANGED
@@ -60,4 +60,6 @@ export * from "./settlement/modules/NetworkStateSettlementModule";
60
60
  export * from "./settlement/messages/Deposit";
61
61
  export * from "./settlement/messages/Withdrawal";
62
62
  export { constants as ProtocolConstants } from "./Constants";
63
+ export * from "./hashing/protokit-prefixes";
64
+ export * from "./hashing/mina-prefixes";
63
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oDAAoD,CAAC;AACnE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,iEAAiE,CAAC;AAChF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yDAAyD,CAAC;AACxE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oDAAoD,CAAC;AACnE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,iEAAiE,CAAC;AAChF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yDAAyD,CAAC;AACxE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -60,4 +60,6 @@ export * from "./settlement/modules/NetworkStateSettlementModule";
60
60
  export * from "./settlement/messages/Deposit";
61
61
  export * from "./settlement/messages/Withdrawal";
62
62
  export { constants as ProtocolConstants } from "./Constants";
63
+ export * from "./hashing/protokit-prefixes";
64
+ export * from "./hashing/mina-prefixes";
63
65
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oDAAoD,CAAC;AACnE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,iEAAiE,CAAC;AAChF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yDAAyD,CAAC;AACxE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oDAAoD,CAAC;AACnE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,iEAAiE,CAAC;AAChF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yDAAyD,CAAC;AACxE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uDAAuD,CAAC;AACtE,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
@@ -15,9 +15,10 @@ export declare class Path {
15
15
  *
16
16
  * @param className
17
17
  * @param propertyKey
18
+ * @param prefix
18
19
  * @returns Field representation of class name + property name
19
20
  */
20
- static fromProperty(className: string, propertyKey: string): Field;
21
+ static fromProperty(className: string, propertyKey: string, prefix: string): Field;
21
22
  /**
22
23
  * Encodes an existing path with the provided key into a single Field.
23
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,oBAAoB,EAAY,MAAM,MAAM,CAAC;AAIlE;;GAEG;AACH,qBAAa,IAAI;IACf;;;;;OAKG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM;IAInC;;;;;;OAMG;WACW,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK;IAQzE;;;;;;;OAOG;WACW,OAAO,CAAC,OAAO,EAC3B,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACtC,GAAG,EAAE,OAAO,GACX,KAAK;CAIT"}
1
+ {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,oBAAoB,EAAY,MAAM,MAAM,CAAC;AAKlE;;GAEG;AACH,qBAAa,IAAI;IACf;;;;;OAKG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM;IAInC;;;;;;;OAOG;WACW,YAAY,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,KAAK;IAQR;;;;;;;OAOG;WACW,OAAO,CAAC,OAAO,EAC3B,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACtC,GAAG,EAAE,OAAO,GACX,KAAK;CAIT"}
@@ -1,4 +1,5 @@
1
1
  import { Field, Poseidon } from "o1js";
2
+ import { hashWithPrefix } from "@proto-kit/common";
2
3
  import { stringToField } from "../utils/utils";
3
4
  /**
4
5
  * Helps manage path (key) identifiers for key-values in trees.
@@ -18,10 +19,11 @@ export class Path {
18
19
  *
19
20
  * @param className
20
21
  * @param propertyKey
22
+ * @param prefix
21
23
  * @returns Field representation of class name + property name
22
24
  */
23
- static fromProperty(className, propertyKey) {
24
- return Poseidon.hash([
25
+ static fromProperty(className, propertyKey, prefix) {
26
+ return hashWithPrefix(prefix, [
25
27
  Path.toField(className),
26
28
  Path.toField(propertyKey),
27
29
  Field(0),
@@ -1 +1 @@
1
- {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA6B,QAAQ,EAAE,MAAM,MAAM,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,IAAI;IACf;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,KAAa;QACjC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,YAAY,CAAC,SAAiB,EAAE,WAAmB;QAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACzB,KAAK,CAAC,CAAC,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,OAAO,CACnB,IAAW,EACX,OAAsC,EACtC,GAAY;QAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA6B,QAAQ,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,IAAI;IACf;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,KAAa;QACjC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,YAAY,CACxB,SAAiB,EACjB,WAAmB,EACnB,MAAc;QAEd,OAAO,cAAc,CAAC,MAAM,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACzB,KAAK,CAAC,CAAC,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,OAAO,CACnB,IAAW,EACX,OAAsC,EACtC,GAAY;QAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -38,7 +38,7 @@ export class Protocol extends ModuleContainer {
38
38
  }
39
39
  decorateModule(moduleName, containedModule) {
40
40
  log.debug(`Decorated ${moduleName}`);
41
- containedModule.protocol = this;
41
+ containedModule.parent = this;
42
42
  if (containedModule instanceof TransitioningProtocolModule) {
43
43
  containedModule.name = moduleName;
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Protocol.js","sourceRoot":"","sources":["../../src/protocol/Protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Protocol.js","sourceRoot":"","sources":["../../src/protocol/Protocol.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AreProofsEnabled, ChildContainerProvider, ConfigurableModule, NoConfig } from "@proto-kit/common";
2
2
  import { ProtocolEnvironment } from "./ProtocolEnvironment";
3
3
  export declare abstract class ProtocolModule<Config = NoConfig> extends ConfigurableModule<Config> {
4
- protocol?: ProtocolEnvironment;
4
+ parent?: ProtocolEnvironment;
5
5
  get areProofsEnabled(): AreProofsEnabled | undefined;
6
6
  create(childContainerProvider: ChildContainerProvider): void;
7
7
  start(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolModule.d.ts","sourceRoot":"","sources":["../../src/protocol/ProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,8BAAsB,cAAc,CAClC,MAAM,GAAG,QAAQ,CACjB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAEtC,IAAW,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAE1D;IAEM,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI;IAItD,KAAK;CAGnB"}
1
+ {"version":3,"file":"ProtocolModule.d.ts","sourceRoot":"","sources":["../../src/protocol/ProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,8BAAsB,cAAc,CAClC,MAAM,GAAG,QAAQ,CACjB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAEpC,IAAW,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAE1D;IAEM,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI;IAItD,KAAK;CAGnB"}
@@ -1,7 +1,7 @@
1
1
  import { ConfigurableModule, noop, } from "@proto-kit/common";
2
2
  export class ProtocolModule extends ConfigurableModule {
3
3
  get areProofsEnabled() {
4
- return this.protocol?.getAreProofsEnabled();
4
+ return this.parent?.getAreProofsEnabled();
5
5
  }
6
6
  create(childContainerProvider) {
7
7
  noop();
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolModule.js","sourceRoot":"","sources":["../../src/protocol/ProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAElB,IAAI,GACL,MAAM,mBAAmB,CAAC;AAI3B,MAAM,OAAgB,cAEpB,SAAQ,kBAA0B;IAGlC,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAC9C,CAAC;IAEM,MAAM,CAAC,sBAA8C;QAC1D,IAAI,EAAE,CAAC;IACT,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,IAAI,EAAE,CAAC;IACT,CAAC;CACF"}
1
+ {"version":3,"file":"ProtocolModule.js","sourceRoot":"","sources":["../../src/protocol/ProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAElB,IAAI,GACL,MAAM,mBAAmB,CAAC;AAI3B,MAAM,OAAgB,cAEpB,SAAQ,kBAA0B;IAGlC,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,sBAA8C;QAC1D,IAAI,EAAE,CAAC;IACT,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,IAAI,EAAE,CAAC;IACT,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { Field } from "o1js";
2
+ import { NoConfig } from "@proto-kit/common";
2
3
  import { NetworkState } from "../model/network/NetworkState";
3
4
  import { MethodPublicOutput } from "../model/MethodPublicOutput";
4
5
  import { BlockProverTransactionArguments } from "../prover/block/BlockProvable";
@@ -11,7 +12,7 @@ export interface AfterBlockHookArguments extends BeforeBlockHookArguments {
11
12
  }
12
13
  export declare function toBeforeTransactionHookArgument(executionData: Omit<BlockProverTransactionArguments, "verificationKeyAttestation">, networkState: NetworkState, state: Parameters<typeof toProvableHookBlockState>[0]): BeforeTransactionHookArguments;
13
14
  export declare function toAfterTransactionHookArgument(executionData: Omit<BlockProverTransactionArguments, "verificationKeyAttestation">, networkState: NetworkState, state: Parameters<typeof toProvableHookBlockState>[0], runtimeResult: MethodPublicOutput): AfterTransactionHookArguments;
14
- export declare abstract class ProvableBlockHook<Config> extends TransitioningProtocolModule<Config> {
15
+ export declare abstract class ProvableBlockHook<Config = NoConfig> extends TransitioningProtocolModule<Config> {
15
16
  abstract beforeBlock(networkState: NetworkState, state: BeforeBlockHookArguments): Promise<NetworkState>;
16
17
  abstract afterBlock(networkState: NetworkState, state: AfterBlockHookArguments): Promise<NetworkState>;
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProvableBlockHook.d.ts","sourceRoot":"","sources":["../../src/protocol/ProvableBlockHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;CAAG;AAE3E,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,IAAI,CACjB,+BAA+B,EAC/B,4BAA4B,CAC7B,EACD,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACpD,8BAA8B,CAShC;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,IAAI,CACjB,+BAA+B,EAC/B,4BAA4B,CAC7B,EACD,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,EACrD,aAAa,EAAE,kBAAkB,GAChC,6BAA6B,CAK/B;AAGD,8BAAsB,iBAAiB,CACrC,MAAM,CACN,SAAQ,2BAA2B,CAAC,MAAM,CAAC;aAC3B,WAAW,CACzB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,YAAY,CAAC;aAER,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,YAAY,CAAC;CACzB"}
1
+ {"version":3,"file":"ProvableBlockHook.d.ts","sourceRoot":"","sources":["../../src/protocol/ProvableBlockHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;CAAG;AAE3E,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,IAAI,CACjB,+BAA+B,EAC/B,4BAA4B,CAC7B,EACD,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACpD,8BAA8B,CAShC;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,IAAI,CACjB,+BAA+B,EAC/B,4BAA4B,CAC7B,EACD,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,EACrD,aAAa,EAAE,kBAAkB,GAChC,6BAA6B,CAK/B;AAGD,8BAAsB,iBAAiB,CACrC,MAAM,GAAG,QAAQ,CACjB,SAAQ,2BAA2B,CAAC,MAAM,CAAC;aAC3B,WAAW,CACzB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,YAAY,CAAC;aAER,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,YAAY,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProvableBlockHook.js","sourceRoot":"","sources":["../../src/protocol/ProvableBlockHook.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAIL,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAQnC,MAAM,UAAU,+BAA+B,CAC7C,aAGC,EACD,YAA0B,EAC1B,KAAqD;IAErD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IAEjD,OAAO;QACL,YAAY;QACZ,WAAW;QACX,SAAS;QACT,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,aAGC,EACD,YAA0B,EAC1B,KAAqD,EACrD,aAAiC;IAEjC,OAAO;QACL,GAAG,+BAA+B,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC;QACtE,aAAa;KACd,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,MAAM,OAAgB,iBAEpB,SAAQ,2BAAmC;CAU5C"}
1
+ {"version":3,"file":"ProvableBlockHook.js","sourceRoot":"","sources":["../../src/protocol/ProvableBlockHook.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAIL,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAQnC,MAAM,UAAU,+BAA+B,CAC7C,aAGC,EACD,YAA0B,EAC1B,KAAqD;IAErD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IAEjD,OAAO;QACL,YAAY;QACZ,WAAW;QACX,SAAS;QACT,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,aAGC,EACD,YAA0B,EAC1B,KAAqD,EACrD,aAAiC;IAEjC,OAAO;QACL,GAAG,+BAA+B,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC;QACtE,aAAa;KACd,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,MAAM,OAAgB,iBAEpB,SAAQ,2BAAmC;CAU5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeContract.d.ts","sourceRoot":"","sources":["../../../src/settlement/contracts/BridgeContract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,KAAK,EAEL,WAAW,EAGX,SAAS,EACT,aAAa,EACb,KAAK,EAGL,eAAe,EAEf,eAAe,EAChB,MAAM,MAAM,CAAC;AACd,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAEL,4BAA4B,EAC7B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpC,sBAAsB,EAAE,CACtB,KAAK,EAAE,4BAA4B,KAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,cAAc,EAAE,CACd,IAAI,EAAE,eAAe,GAAG,SAAS,EACjC,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,WAAW,EACxB,yBAAyB,EAAE,SAAS,KACjC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5B,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGF,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;AAEL,8BAAsB,kBAAmB,SAAQ,eAAe;IAC9D,OAAc,IAAI,EAAE;QAClB,kBAAkB,EACd,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,OAAO,aAAa,CAAC,GAC3D,SAAS,CAAC;QACd,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvC,CAAC;IAEF,QAAQ,CAAC,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAErD,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7C;;;;;OAKG;IACU,cAAc,CACzB,eAAe,EAAE,eAAe,GAAG,SAAS,EAC5C,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,WAAW,EACxB,yBAAyB,EAAE,SAAS;IAgCzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,mBAAmB,CAAC,IAAI,EAAE,KAAK;IAkB/B,0BAA0B,CACrC,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,KAAK,CAAC;cAiDD,UAAU,CAAC,cAAc,EAAE,aAAa;CA0BzD;AAED,qBAAa,cACX,SAAQ,kBACR,YAAW,kBAAkB;IAEJ,yBAAyB,mBAAsB;IAEnD,SAAS,2DAAkB;IAE3B,qBAAqB,2DAAkB;IAG/C,eAAe,CAAC,IAAI,EAAE,KAAK;IAK3B,sBAAsB,CACjC,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,KAAK,CAAC;IAKJ,MAAM,CAAC,cAAc,EAAE,aAAa;CAGlD"}
1
+ {"version":3,"file":"BridgeContract.d.ts","sourceRoot":"","sources":["../../../src/settlement/contracts/BridgeContract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,KAAK,EAEL,WAAW,EAGX,SAAS,EACT,aAAa,EACb,KAAK,EAGL,eAAe,EAEf,eAAe,EAChB,MAAM,MAAM,CAAC;AACd,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAEL,4BAA4B,EAC7B,MAAM,qCAAqC,CAAC;AAK7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpC,sBAAsB,EAAE,CACtB,KAAK,EAAE,4BAA4B,KAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,cAAc,EAAE,CACd,IAAI,EAAE,eAAe,GAAG,SAAS,EACjC,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,WAAW,EACxB,yBAAyB,EAAE,SAAS,KACjC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5B,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGF,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;AAEL,8BAAsB,kBAAmB,SAAQ,eAAe;IAC9D,OAAc,IAAI,EAAE;QAClB,kBAAkB,EACd,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,OAAO,aAAa,CAAC,GAC3D,SAAS,CAAC;QACd,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvC,CAAC;IAEF,QAAQ,CAAC,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAErD,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7C;;;;;OAKG;IACU,cAAc,CACzB,eAAe,EAAE,eAAe,GAAG,SAAS,EAC5C,gBAAgB,EAAE,OAAO,EACzB,WAAW,EAAE,WAAW,EACxB,yBAAyB,EAAE,SAAS;IAgCzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,mBAAmB,CAAC,IAAI,EAAE,KAAK;IAkB/B,0BAA0B,CACrC,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,KAAK,CAAC;cAqDD,UAAU,CAAC,cAAc,EAAE,aAAa;CA0BzD;AAED,qBAAa,cACX,SAAQ,kBACR,YAAW,kBAAkB;IAEJ,yBAAyB,mBAAsB;IAEnD,SAAS,2DAAkB;IAE3B,qBAAqB,2DAAkB;IAG/C,eAAe,CAAC,IAAI,EAAE,KAAK;IAK3B,sBAAsB,CACjC,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,KAAK,CAAC;IAKJ,MAAM,CAAC,cAAc,EAAE,aAAa;CAGlD"}
@@ -12,6 +12,7 @@ import { noop, range } from "@proto-kit/common";
12
12
  import { OUTGOING_MESSAGE_BATCH_SIZE, OutgoingMessageArgumentBatch, } from "../messages/OutgoingMessageArgument";
13
13
  import { Path } from "../../model/Path";
14
14
  import { Withdrawal } from "../messages/Withdrawal";
15
+ import { PROTOKIT_PREFIXES } from "../../hashing/protokit-prefixes";
15
16
  // Equal to WithdrawalKey
16
17
  export class OutgoingMessageKey extends Struct({
17
18
  index: Field,
@@ -67,7 +68,7 @@ export class BridgeContractBase extends TokenContractV2 {
67
68
  let counter = this.outgoingMessageCursor.getAndRequireEquals();
68
69
  const stateRoot = this.stateRoot.getAndRequireEquals();
69
70
  const [withdrawalModule, withdrawalStateName] = BridgeContractBase.args.withdrawalStatePath;
70
- const mapPath = Path.fromProperty(withdrawalModule, withdrawalStateName);
71
+ const mapPath = Path.fromProperty(withdrawalModule, withdrawalStateName, PROTOKIT_PREFIXES.STATE_RUNTIME);
71
72
  // Count account creation fee to return later, so that the sender can fund
72
73
  // those accounts with a separate AU
73
74
  let accountCreationFeePaid = Field(0);
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeContract.js","sourceRoot":"","sources":["../../../src/settlement/contracts/BridgeContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeContract.js","sourceRoot":"","sources":["../../../src/settlement/contracts/BridgeContract.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
- import { TransitioningProtocolModule } from "../../protocol/TransitioningProtocolModule";
1
+ import { Reference } from "@proto-kit/common";
2
+ import { State } from "../State";
3
+ import { StateServiceProvider } from "../StateServiceProvider";
4
+ export interface StatefulModule {
5
+ name?: string;
6
+ parent?: {
7
+ stateServiceProvider: StateServiceProvider;
8
+ };
9
+ }
10
+ export declare function createStateGetter<TargetModule extends StatefulModule>(target: TargetModule, propertyKey: string, valueReference: Reference<State<unknown> | undefined>, prefix: string, debugInfo: {
11
+ parentName: string;
12
+ baseModuleNames: string;
13
+ }): () => State<unknown> | undefined;
2
14
  /**
3
15
  * Decorates a runtime module property as state, passing down some
4
16
  * underlying values to improve developer experience.
5
17
  */
6
- export declare function protocolState(): <TargetTransitioningModule extends TransitioningProtocolModule<unknown>>(target: TargetTransitioningModule, propertyKey: string) => void;
18
+ export declare function state(): <TargetTransitioningModule extends StatefulModule>(target: TargetTransitioningModule, propertyKey: string) => void;
7
19
  //# sourceMappingURL=ProtocolState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolState.d.ts","sourceRoot":"","sources":["../../../src/state/protocol/ProtocolState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAgBzF;;;GAGG;AACH,wBAAgB,aAAa,6HAKZ,MAAM,UAiCtB"}
1
+ {"version":3,"file":"ProtocolState.d.ts","sourceRoot":"","sources":["../../../src/state/protocol/ProtocolState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAkB/D,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QACP,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;CACH;AAED,wBAAgB,iBAAiB,CAAC,YAAY,SAAS,cAAc,EACnE,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,EACrD,MAAM,EAAE,MAAM,EACd,SAAS,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,oCA4B3D;AAED;;;GAGG;AACH,wBAAgB,KAAK,uGAGJ,MAAM,UA8BtB"}
@@ -1,38 +1,53 @@
1
+ import { createReference } from "@proto-kit/common";
1
2
  import { Path } from "../../model/Path";
3
+ import { PROTOKIT_PREFIXES } from "../../hashing/protokit-prefixes";
4
+ import { TransitioningProtocolModule } from "../../protocol/TransitioningProtocolModule";
2
5
  const errors = {
3
6
  missingName: (className) => new Error(`Unable to provide a unique identifier for state, ${className} is missing a name.
4
7
  Did you forget to extend your block module with 'extends ...Hook'?`),
5
- missingProtocol: (className) => new Error(`Unable to provide 'procotol' for state, ${className} is missing a name.
6
- Did you forget to extend your block module with 'extends ...Hook'?`),
8
+ missingParent: (className, type, moduleType) => new Error(`Unable to provide parent '${type}' for state, ${className} is missing a name.
9
+ Did you forget to extend your module with 'extends ${moduleType}'?`),
7
10
  };
11
+ export function createStateGetter(target, propertyKey, valueReference, prefix, debugInfo) {
12
+ return () => {
13
+ const { value } = valueReference;
14
+ // Short-circuit this to return the state in case its already initialized
15
+ if (value !== undefined && value.path !== undefined) {
16
+ return value;
17
+ }
18
+ if (target.name === undefined) {
19
+ throw errors.missingName(target.constructor.name);
20
+ }
21
+ if (!target.parent) {
22
+ throw errors.missingParent(target.constructor.name, debugInfo.parentName, debugInfo.baseModuleNames);
23
+ }
24
+ const path = Path.fromProperty(target.name, propertyKey, prefix);
25
+ if (value) {
26
+ value.path = path;
27
+ value.stateServiceProvider = target.parent.stateServiceProvider;
28
+ }
29
+ return value;
30
+ };
31
+ }
8
32
  /**
9
33
  * Decorates a runtime module property as state, passing down some
10
34
  * underlying values to improve developer experience.
11
35
  */
12
- export function protocolState() {
36
+ export function state() {
13
37
  return (target, propertyKey) => {
14
- let value;
38
+ const stateReference = createReference(undefined);
39
+ const isProtocol = target instanceof TransitioningProtocolModule;
40
+ const statePrefix = isProtocol
41
+ ? PROTOKIT_PREFIXES.STATE_PROTOCOL
42
+ : PROTOKIT_PREFIXES.STATE_RUNTIME;
43
+ const debugInfo = isProtocol
44
+ ? { parentName: "protocol", baseModuleNames: "...Hook" }
45
+ : { parentName: "runtime", baseModuleNames: "RuntimeModule" };
15
46
  Object.defineProperty(target, propertyKey, {
16
47
  enumerable: true,
17
- get: function get() {
18
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
19
- const self = this;
20
- if (self.name === undefined) {
21
- throw errors.missingName(self.constructor.name);
22
- }
23
- if (!self.protocol) {
24
- throw errors.missingProtocol(self.constructor.name);
25
- }
26
- // TODO Add Prefix?
27
- const path = Path.fromProperty(self.name, propertyKey);
28
- if (value) {
29
- value.path = path;
30
- value.stateServiceProvider = self.protocol.stateServiceProvider;
31
- }
32
- return value;
33
- },
48
+ get: createStateGetter(target, propertyKey, stateReference, statePrefix, debugInfo),
34
49
  set: (newValue) => {
35
- value = newValue;
50
+ stateReference.value = newValue;
36
51
  },
37
52
  });
38
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolState.js","sourceRoot":"","sources":["../../../src/state/protocol/ProtocolState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CACjC,IAAI,KAAK,CACP,oDAAoD,SAAS;yEACM,CACpE;IAEH,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CACrC,IAAI,KAAK,CACP,2CAA2C,SAAS;yEACe,CACpE;CACJ,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAGL,MAAiC,EACjC,WAAmB,EACnB,EAAE;QACF,IAAI,KAAiC,CAAC;QAEtC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,UAAU,EAAE,IAAI;YAEhB,GAAG,EAAE,SAAS,GAAG;gBACf,yEAAyE;gBACzE,MAAM,IAAI,GAAG,IAAiC,CAAC;gBAE/C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC3B,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACjD;gBAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACrD;gBAED,mBAAmB;gBACnB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACvD,IAAI,KAAK,EAAE;oBACT,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oBAClB,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;iBACjE;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,GAAG,EAAE,CAAC,QAAwB,EAAE,EAAE;gBAChC,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ProtocolState.js","sourceRoot":"","sources":["../../../src/state/protocol/ProtocolState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAa,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAEzF,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CACjC,IAAI,KAAK,CACP,oDAAoD,SAAS;yEACM,CACpE;IAEH,aAAa,EAAE,CAAC,SAAiB,EAAE,IAAY,EAAE,UAAkB,EAAE,EAAE,CACrE,IAAI,KAAK,CACP,6BAA6B,IAAI,gBAAgB,SAAS;2DACL,UAAU,IAAI,CACpE;CACJ,CAAC;AASF,MAAM,UAAU,iBAAiB,CAC/B,MAAoB,EACpB,WAAmB,EACnB,cAAqD,EACrD,MAAc,EACd,SAA0D;IAE1D,OAAO,GAAG,EAAE;QACV,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;QACjC,yEAAyE;QACzE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACnD,OAAO,KAAK,CAAC;SACd;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;YAC7B,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,MAAM,MAAM,CAAC,aAAa,CACxB,MAAM,CAAC,WAAW,CAAC,IAAI,EACvB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,eAAe,CAC1B,CAAC;SACH;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;SACjE;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,CACL,MAAiC,EACjC,WAAmB,EACnB,EAAE;QACF,MAAM,cAAc,GAAG,eAAe,CACpC,SAAS,CACV,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,YAAY,2BAA2B,CAAC;QACjE,MAAM,WAAW,GAAG,UAAU;YAC5B,CAAC,CAAC,iBAAiB,CAAC,cAAc;YAClC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC;QACpC,MAAM,SAAS,GAAG,UAAU;YAC1B,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE;YACxD,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;QAEhE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,UAAU,EAAE,IAAI;YAEhB,GAAG,EAAE,iBAAiB,CACpB,MAAM,EACN,WAAW,EACX,cAAc,EACd,WAAW,EACX,SAAS,CACV;YAED,GAAG,EAAE,CAAC,QAAwB,EAAE,EAAE;gBAChC,cAAc,CAAC,KAAK,GAAG,QAAQ,CAAC;YAClC,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1,10 +1,5 @@
1
1
  import { Field, ProvablePure } from "o1js";
2
2
  import { ProvableHashList } from "./ProvableHashList";
3
- export declare const MINA_EVENT_PREFIXES: {
4
- readonly event: "MinaZkappEvent******";
5
- readonly events: "MinaZkappEvents*****";
6
- readonly sequenceEvents: "MinaZkappSeqEvents**";
7
- };
8
3
  export declare function emptyActions(): Field;
9
4
  export declare function emptyEvents(): Field;
10
5
  export declare class MinaActions {
@@ -1 +1 @@
1
- {"version":3,"file":"MinaPrefixedProvableHashList.d.ts","sourceRoot":"","sources":["../../src/utils/MinaPrefixedProvableHashList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,YAAY,EAAE,MAAM,MAAM,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAUtD,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,wBAAgB,YAAY,IAAI,KAAK,CAEpC;AAED,wBAAgB,WAAW,IAAI,KAAK,CAEnC;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,KAAK,EAAE,EACf,YAAY,GAAE,KAAsB,GACnC,KAAK;CAOT;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,GAAE,KAAqB,GAAG,KAAK;CAO7E;AAED,qBAAa,4BAA4B,CACvC,KAAK,CACL,SAAQ,gBAAgB,CAAC,KAAK,CAAC;aAGb,MAAM,EAAE,MAAM;gBAD9B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,EACd,MAAM,EAAE,MAAM,EAC9B,kBAAkB,GAAE,KAAgB;IAKtC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK;CAKzC;AAED,qBAAa,mBAAoB,SAAQ,4BAA4B,CAAC,KAAK,CAAC;gBACvD,kBAAkB,GAAE,KAAgB;CAGxD"}
1
+ {"version":3,"file":"MinaPrefixedProvableHashList.d.ts","sourceRoot":"","sources":["../../src/utils/MinaPrefixedProvableHashList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,YAAY,EAAE,MAAM,MAAM,CAAC;AAKrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAUtD,wBAAgB,YAAY,IAAI,KAAK,CAEpC;AAED,wBAAgB,WAAW,IAAI,KAAK,CAEnC;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,KAAK,EAAE,EACf,YAAY,GAAE,KAAsB,GACnC,KAAK;CAOT;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,GAAE,KAAqB,GAAG,KAAK;CAI7E;AAED,qBAAa,4BAA4B,CACvC,KAAK,CACL,SAAQ,gBAAgB,CAAC,KAAK,CAAC;aAGb,MAAM,EAAE,MAAM;gBAD9B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,EACd,MAAM,EAAE,MAAM,EAC9B,kBAAkB,GAAE,KAAgB;IAKtC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK;CAKzC;AAED,qBAAa,mBAAoB,SAAQ,4BAA4B,CAAC,KAAK,CAAC;gBACvD,kBAAkB,GAAE,KAAgB;CAGxD"}
@@ -1,25 +1,21 @@
1
1
  import { Field, Poseidon } from "o1js";
2
2
  import { hashWithPrefix, prefixToField } from "@proto-kit/common";
3
+ import { MINA_PREFIXES, MINA_SALTS } from "../hashing/mina-prefixes";
3
4
  import { ProvableHashList } from "./ProvableHashList";
4
5
  function salt(prefix) {
5
6
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
6
7
  return Poseidon.update([Field(0), Field(0), Field(0)], [prefixToField(prefix)]);
7
8
  }
8
- export const MINA_EVENT_PREFIXES = {
9
- event: "MinaZkappEvent******",
10
- events: "MinaZkappEvents*****",
11
- sequenceEvents: "MinaZkappSeqEvents**",
12
- };
13
9
  export function emptyActions() {
14
- return salt("MinaZkappActionsEmpty")[0];
10
+ return salt(MINA_SALTS.empty_actions)[0];
15
11
  }
16
12
  export function emptyEvents() {
17
- return salt("MinaZkappEventsEmpty")[0];
13
+ return salt(MINA_SALTS.empty_events)[0];
18
14
  }
19
15
  export class MinaActions {
20
16
  static actionHash(action, previousHash = emptyActions()) {
21
- const actionDataHash = hashWithPrefix(MINA_EVENT_PREFIXES.event, action);
22
- return hashWithPrefix(MINA_EVENT_PREFIXES.sequenceEvents, [
17
+ const actionDataHash = hashWithPrefix(MINA_PREFIXES.event, action);
18
+ return hashWithPrefix(MINA_PREFIXES.sequenceEvents, [
23
19
  previousHash,
24
20
  actionDataHash,
25
21
  ]);
@@ -27,11 +23,8 @@ export class MinaActions {
27
23
  }
28
24
  export class MinaEvents {
29
25
  static eventHash(event, previousHash = emptyEvents()) {
30
- const actionDataHash = hashWithPrefix(MINA_EVENT_PREFIXES.event, event);
31
- return hashWithPrefix(MINA_EVENT_PREFIXES.events, [
32
- previousHash,
33
- actionDataHash,
34
- ]);
26
+ const actionDataHash = hashWithPrefix(MINA_PREFIXES.event, event);
27
+ return hashWithPrefix(MINA_PREFIXES.events, [previousHash, actionDataHash]);
35
28
  }
36
29
  }
37
30
  export class MinaPrefixedProvableHashList extends ProvableHashList {
@@ -47,7 +40,7 @@ export class MinaPrefixedProvableHashList extends ProvableHashList {
47
40
  }
48
41
  export class MinaActionsHashList extends MinaPrefixedProvableHashList {
49
42
  constructor(internalCommitment = Field(0)) {
50
- super(Field, MINA_EVENT_PREFIXES.sequenceEvents, internalCommitment);
43
+ super(Field, MINA_PREFIXES.sequenceEvents, internalCommitment);
51
44
  }
52
45
  }
53
46
  //# sourceMappingURL=MinaPrefixedProvableHashList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MinaPrefixedProvableHashList.js","sourceRoot":"","sources":["../../src/utils/MinaPrefixedProvableHashList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAgB,MAAM,MAAM,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,SAAS,IAAI,CAAC,MAAc;IAC1B,yEAAyE;IACzE,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CACC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,sBAAsB;IAC9B,cAAc,EAAE,sBAAsB;CAC9B,CAAC;AAEX,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,UAAU,CACf,MAAe,EACf,eAAsB,YAAY,EAAE;QAEpC,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzE,OAAO,cAAc,CAAC,mBAAmB,CAAC,cAAc,EAAE;YACxD,YAAY;YACZ,cAAc;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,UAAU;IACrB,MAAM,CAAC,SAAS,CAAC,KAAc,EAAE,eAAsB,WAAW,EAAE;QAClE,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAChD,YAAY;YACZ,cAAc;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,4BAEX,SAAQ,gBAAuB;IAC/B,YACE,SAA8B,EACd,MAAc,EAC9B,qBAA4B,KAAK,CAAC,CAAC,CAAC;QAEpC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAHrB,WAAM,GAAN,MAAM,CAAQ;IAIhC,CAAC;IAES,IAAI,CAAC,QAAiB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,4BAAmC;IAC1E,YAAmB,qBAA4B,KAAK,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IACvE,CAAC;CACF"}
1
+ {"version":3,"file":"MinaPrefixedProvableHashList.js","sourceRoot":"","sources":["../../src/utils/MinaPrefixedProvableHashList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAgB,MAAM,MAAM,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,SAAS,IAAI,CAAC,MAAc;IAC1B,yEAAyE;IACzE,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CACC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,UAAU,CACf,MAAe,EACf,eAAsB,YAAY,EAAE;QAEpC,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,cAAc,CAAC,aAAa,CAAC,cAAc,EAAE;YAClD,YAAY;YACZ,cAAc;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,UAAU;IACrB,MAAM,CAAC,SAAS,CAAC,KAAc,EAAE,eAAsB,WAAW,EAAE;QAClE,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF;AAED,MAAM,OAAO,4BAEX,SAAQ,gBAAuB;IAC/B,YACE,SAA8B,EACd,MAAc,EAC9B,qBAA4B,KAAK,CAAC,CAAC,CAAC;QAEpC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAHrB,WAAM,GAAN,MAAM,CAAQ;IAIhC,CAAC;IAES,IAAI,CAAC,QAAiB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,4BAAmC;IAC1E,YAAmB,qBAA4B,KAAK,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IACjE,CAAC;CACF"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "license": "MIT",
4
4
  "private": false,
5
5
  "type": "module",
6
- "version": "0.1.1-develop.1347+7e81848c",
6
+ "version": "0.1.1-develop.1350+7da2dd2a",
7
7
  "scripts": {
8
8
  "build": "tsc -p tsconfig.json",
9
9
  "dev": "tsc -p tsconfig.json --watch",
@@ -32,5 +32,5 @@
32
32
  "@jest/globals": "^29.5.0",
33
33
  "@types/lodash": "^4.14.194"
34
34
  },
35
- "gitHead": "7e81848c87ec657eb4999a7f4fd54a4758086cc5"
35
+ "gitHead": "7da2dd2ab15bd7ab6ea3cfdca6bdc118db7afeaa"
36
36
  }
@@ -0,0 +1,10 @@
1
+ export const MINA_PREFIXES = {
2
+ event: "MinaZkappEvent******",
3
+ events: "MinaZkappEvents*****",
4
+ sequenceEvents: "MinaZkappSeqEvents**",
5
+ } as const;
6
+
7
+ export const MINA_SALTS = {
8
+ empty_actions: "MinaZkappActionsEmpty",
9
+ empty_events: "MinaZkappEventsEmpty",
10
+ };
@@ -0,0 +1,23 @@
1
+ import padEnd from "lodash/padEnd";
2
+ import mapValues from "lodash/mapValues";
3
+
4
+ const length = 20;
5
+ function padToHashPrefix(s: string): string {
6
+ if (s.length > 20) {
7
+ throw new Error(`Prefix string ${s} is too long (max ${length})`);
8
+ }
9
+ return padEnd(s, length, "*");
10
+ }
11
+
12
+ function padPrefixRecord<T extends Record<string, string>>(
13
+ record: T
14
+ ): {
15
+ [Key in keyof T]: string;
16
+ } {
17
+ return mapValues(record, padToHashPrefix);
18
+ }
19
+
20
+ export const PROTOKIT_PREFIXES = padPrefixRecord({
21
+ STATE_PROTOCOL: "pk-protocol-state",
22
+ STATE_RUNTIME: "pk-runtime-state",
23
+ });
@@ -3,7 +3,7 @@ import { injectable } from "tsyringe";
3
3
  import { noop } from "@proto-kit/common";
4
4
 
5
5
  import { StateMap } from "../state/StateMap";
6
- import { protocolState } from "../state/protocol/ProtocolState";
6
+ import { state } from "../state/protocol/ProtocolState";
7
7
  import {
8
8
  ProvableTransactionHook,
9
9
  BeforeTransactionHookArguments,
@@ -16,7 +16,7 @@ export class AccountState extends Struct({
16
16
 
17
17
  @injectable()
18
18
  export class AccountStateHook extends ProvableTransactionHook {
19
- @protocolState() public accountState = StateMap.from<PublicKey, AccountState>(
19
+ @state() public accountState = StateMap.from<PublicKey, AccountState>(
20
20
  PublicKey,
21
21
  AccountState
22
22
  );
package/src/index.ts CHANGED
@@ -60,3 +60,5 @@ export * from "./settlement/modules/NetworkStateSettlementModule";
60
60
  export * from "./settlement/messages/Deposit";
61
61
  export * from "./settlement/messages/Withdrawal";
62
62
  export { constants as ProtocolConstants } from "./Constants";
63
+ export * from "./hashing/protokit-prefixes";
64
+ export * from "./hashing/mina-prefixes";
package/src/model/Path.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Field, type FlexibleProvablePure, Poseidon } from "o1js";
2
+ import { hashWithPrefix } from "@proto-kit/common";
2
3
 
3
4
  import { stringToField } from "../utils/utils";
4
5
 
@@ -21,10 +22,15 @@ export class Path {
21
22
  *
22
23
  * @param className
23
24
  * @param propertyKey
25
+ * @param prefix
24
26
  * @returns Field representation of class name + property name
25
27
  */
26
- public static fromProperty(className: string, propertyKey: string): Field {
27
- return Poseidon.hash([
28
+ public static fromProperty(
29
+ className: string,
30
+ propertyKey: string,
31
+ prefix: string
32
+ ): Field {
33
+ return hashWithPrefix(prefix, [
28
34
  Path.toField(className),
29
35
  Path.toField(propertyKey),
30
36
  Field(0),
@@ -99,7 +99,7 @@ export class Protocol<
99
99
  containedModule: InstanceType<Modules[StringKeyOf<Modules>]>
100
100
  ) {
101
101
  log.debug(`Decorated ${moduleName}`);
102
- containedModule.protocol = this;
102
+ containedModule.parent = this;
103
103
 
104
104
  if (containedModule instanceof TransitioningProtocolModule) {
105
105
  containedModule.name = moduleName;
@@ -11,10 +11,10 @@ import { ProtocolEnvironment } from "./ProtocolEnvironment";
11
11
  export abstract class ProtocolModule<
12
12
  Config = NoConfig,
13
13
  > extends ConfigurableModule<Config> {
14
- public protocol?: ProtocolEnvironment;
14
+ public parent?: ProtocolEnvironment;
15
15
 
16
16
  public get areProofsEnabled(): AreProofsEnabled | undefined {
17
- return this.protocol?.getAreProofsEnabled();
17
+ return this.parent?.getAreProofsEnabled();
18
18
  }
19
19
 
20
20
  public create(childContainerProvider: ChildContainerProvider): void {
@@ -1,4 +1,5 @@
1
1
  import { Field } from "o1js";
2
+ import { NoConfig } from "@proto-kit/common";
2
3
 
3
4
  import { NetworkState } from "../model/network/NetworkState";
4
5
  import { MethodPublicOutput } from "../model/MethodPublicOutput";
@@ -53,7 +54,7 @@ export function toAfterTransactionHookArgument(
53
54
 
54
55
  // Purpose is to build transition from -> to network state
55
56
  export abstract class ProvableBlockHook<
56
- Config,
57
+ Config = NoConfig,
57
58
  > extends TransitioningProtocolModule<Config> {
58
59
  public abstract beforeBlock(
59
60
  networkState: NetworkState,
@@ -23,6 +23,7 @@ import {
23
23
  } from "../messages/OutgoingMessageArgument";
24
24
  import { Path } from "../../model/Path";
25
25
  import { Withdrawal } from "../messages/Withdrawal";
26
+ import { PROTOKIT_PREFIXES } from "../../hashing/protokit-prefixes";
26
27
 
27
28
  import type { SettlementContractType } from "./SettlementSmartContract";
28
29
 
@@ -137,7 +138,11 @@ export abstract class BridgeContractBase extends TokenContractV2 {
137
138
 
138
139
  const [withdrawalModule, withdrawalStateName] =
139
140
  BridgeContractBase.args.withdrawalStatePath;
140
- const mapPath = Path.fromProperty(withdrawalModule, withdrawalStateName);
141
+ const mapPath = Path.fromProperty(
142
+ withdrawalModule,
143
+ withdrawalStateName,
144
+ PROTOKIT_PREFIXES.STATE_RUNTIME
145
+ );
141
146
 
142
147
  // Count account creation fee to return later, so that the sender can fund
143
148
  // those accounts with a separate AU
@@ -1,5 +1,9 @@
1
+ import { createReference, Reference } from "@proto-kit/common";
2
+
1
3
  import { State } from "../State";
2
4
  import { Path } from "../../model/Path";
5
+ import { StateServiceProvider } from "../StateServiceProvider";
6
+ import { PROTOKIT_PREFIXES } from "../../hashing/protokit-prefixes";
3
7
  import { TransitioningProtocolModule } from "../../protocol/TransitioningProtocolModule";
4
8
 
5
9
  const errors = {
@@ -9,52 +13,89 @@ const errors = {
9
13
  Did you forget to extend your block module with 'extends ...Hook'?`
10
14
  ),
11
15
 
12
- missingProtocol: (className: string) =>
16
+ missingParent: (className: string, type: string, moduleType: string) =>
13
17
  new Error(
14
- `Unable to provide 'procotol' for state, ${className} is missing a name.
15
- Did you forget to extend your block module with 'extends ...Hook'?`
18
+ `Unable to provide parent '${type}' for state, ${className} is missing a name.
19
+ Did you forget to extend your module with 'extends ${moduleType}'?`
16
20
  ),
17
21
  };
18
22
 
23
+ export interface StatefulModule {
24
+ name?: string;
25
+ parent?: {
26
+ stateServiceProvider: StateServiceProvider;
27
+ };
28
+ }
29
+
30
+ export function createStateGetter<TargetModule extends StatefulModule>(
31
+ target: TargetModule,
32
+ propertyKey: string,
33
+ valueReference: Reference<State<unknown> | undefined>,
34
+ prefix: string,
35
+ debugInfo: { parentName: string; baseModuleNames: string }
36
+ ) {
37
+ return () => {
38
+ const { value } = valueReference;
39
+ // Short-circuit this to return the state in case its already initialized
40
+ if (value !== undefined && value.path !== undefined) {
41
+ return value;
42
+ }
43
+
44
+ if (target.name === undefined) {
45
+ throw errors.missingName(target.constructor.name);
46
+ }
47
+
48
+ if (!target.parent) {
49
+ throw errors.missingParent(
50
+ target.constructor.name,
51
+ debugInfo.parentName,
52
+ debugInfo.baseModuleNames
53
+ );
54
+ }
55
+
56
+ const path = Path.fromProperty(target.name, propertyKey, prefix);
57
+ if (value) {
58
+ value.path = path;
59
+ value.stateServiceProvider = target.parent.stateServiceProvider;
60
+ }
61
+ return value;
62
+ };
63
+ }
64
+
19
65
  /**
20
66
  * Decorates a runtime module property as state, passing down some
21
67
  * underlying values to improve developer experience.
22
68
  */
23
- export function protocolState() {
24
- return <
25
- TargetTransitioningModule extends TransitioningProtocolModule<unknown>,
26
- >(
69
+ export function state() {
70
+ return <TargetTransitioningModule extends StatefulModule>(
27
71
  target: TargetTransitioningModule,
28
72
  propertyKey: string
29
73
  ) => {
30
- let value: State<unknown> | undefined;
74
+ const stateReference = createReference<State<unknown> | undefined>(
75
+ undefined
76
+ );
77
+
78
+ const isProtocol = target instanceof TransitioningProtocolModule;
79
+ const statePrefix = isProtocol
80
+ ? PROTOKIT_PREFIXES.STATE_PROTOCOL
81
+ : PROTOKIT_PREFIXES.STATE_RUNTIME;
82
+ const debugInfo = isProtocol
83
+ ? { parentName: "protocol", baseModuleNames: "...Hook" }
84
+ : { parentName: "runtime", baseModuleNames: "RuntimeModule" };
31
85
 
32
86
  Object.defineProperty(target, propertyKey, {
33
87
  enumerable: true,
34
88
 
35
- get: function get() {
36
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
37
- const self = this as TargetTransitioningModule;
38
-
39
- if (self.name === undefined) {
40
- throw errors.missingName(self.constructor.name);
41
- }
42
-
43
- if (!self.protocol) {
44
- throw errors.missingProtocol(self.constructor.name);
45
- }
46
-
47
- // TODO Add Prefix?
48
- const path = Path.fromProperty(self.name, propertyKey);
49
- if (value) {
50
- value.path = path;
51
- value.stateServiceProvider = self.protocol.stateServiceProvider;
52
- }
53
- return value;
54
- },
89
+ get: createStateGetter(
90
+ target,
91
+ propertyKey,
92
+ stateReference,
93
+ statePrefix,
94
+ debugInfo
95
+ ),
55
96
 
56
97
  set: (newValue: State<unknown>) => {
57
- value = newValue;
98
+ stateReference.value = newValue;
58
99
  },
59
100
  });
60
101
  };
@@ -1,6 +1,8 @@
1
1
  import { Field, Poseidon, ProvablePure } from "o1js";
2
2
  import { hashWithPrefix, prefixToField } from "@proto-kit/common";
3
3
 
4
+ import { MINA_PREFIXES, MINA_SALTS } from "../hashing/mina-prefixes";
5
+
4
6
  import { ProvableHashList } from "./ProvableHashList";
5
7
 
6
8
  function salt(prefix: string) {
@@ -11,18 +13,12 @@ function salt(prefix: string) {
11
13
  ) as [Field, Field, Field];
12
14
  }
13
15
 
14
- export const MINA_EVENT_PREFIXES = {
15
- event: "MinaZkappEvent******",
16
- events: "MinaZkappEvents*****",
17
- sequenceEvents: "MinaZkappSeqEvents**",
18
- } as const;
19
-
20
16
  export function emptyActions(): Field {
21
- return salt("MinaZkappActionsEmpty")[0];
17
+ return salt(MINA_SALTS.empty_actions)[0];
22
18
  }
23
19
 
24
20
  export function emptyEvents(): Field {
25
- return salt("MinaZkappEventsEmpty")[0];
21
+ return salt(MINA_SALTS.empty_events)[0];
26
22
  }
27
23
 
28
24
  export class MinaActions {
@@ -30,8 +26,8 @@ export class MinaActions {
30
26
  action: Field[],
31
27
  previousHash: Field = emptyActions()
32
28
  ): Field {
33
- const actionDataHash = hashWithPrefix(MINA_EVENT_PREFIXES.event, action);
34
- return hashWithPrefix(MINA_EVENT_PREFIXES.sequenceEvents, [
29
+ const actionDataHash = hashWithPrefix(MINA_PREFIXES.event, action);
30
+ return hashWithPrefix(MINA_PREFIXES.sequenceEvents, [
35
31
  previousHash,
36
32
  actionDataHash,
37
33
  ]);
@@ -40,11 +36,8 @@ export class MinaActions {
40
36
 
41
37
  export class MinaEvents {
42
38
  static eventHash(event: Field[], previousHash: Field = emptyEvents()): Field {
43
- const actionDataHash = hashWithPrefix(MINA_EVENT_PREFIXES.event, event);
44
- return hashWithPrefix(MINA_EVENT_PREFIXES.events, [
45
- previousHash,
46
- actionDataHash,
47
- ]);
39
+ const actionDataHash = hashWithPrefix(MINA_PREFIXES.event, event);
40
+ return hashWithPrefix(MINA_PREFIXES.events, [previousHash, actionDataHash]);
48
41
  }
49
42
  }
50
43
 
@@ -68,6 +61,6 @@ export class MinaPrefixedProvableHashList<
68
61
 
69
62
  export class MinaActionsHashList extends MinaPrefixedProvableHashList<Field> {
70
63
  public constructor(internalCommitment: Field = Field(0)) {
71
- super(Field, MINA_EVENT_PREFIXES.sequenceEvents, internalCommitment);
64
+ super(Field, MINA_PREFIXES.sequenceEvents, internalCommitment);
72
65
  }
73
66
  }