@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.
- package/dist/hashing/mina-prefixes.d.ts +10 -0
- package/dist/hashing/mina-prefixes.d.ts.map +1 -0
- package/dist/hashing/mina-prefixes.js +10 -0
- package/dist/hashing/mina-prefixes.js.map +1 -0
- package/dist/hashing/protokit-prefixes.d.ts +5 -0
- package/dist/hashing/protokit-prefixes.d.ts.map +1 -0
- package/dist/hashing/protokit-prefixes.js +17 -0
- package/dist/hashing/protokit-prefixes.js.map +1 -0
- package/dist/hooks/AccountStateHook.d.ts.map +1 -1
- package/dist/hooks/AccountStateHook.js +2 -2
- package/dist/hooks/AccountStateHook.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/model/Path.d.ts +2 -1
- package/dist/model/Path.d.ts.map +1 -1
- package/dist/model/Path.js +4 -2
- package/dist/model/Path.js.map +1 -1
- package/dist/protocol/Protocol.js +1 -1
- package/dist/protocol/Protocol.js.map +1 -1
- package/dist/protocol/ProtocolModule.d.ts +1 -1
- package/dist/protocol/ProtocolModule.d.ts.map +1 -1
- package/dist/protocol/ProtocolModule.js +1 -1
- package/dist/protocol/ProtocolModule.js.map +1 -1
- package/dist/protocol/ProvableBlockHook.d.ts +2 -1
- package/dist/protocol/ProvableBlockHook.d.ts.map +1 -1
- package/dist/protocol/ProvableBlockHook.js.map +1 -1
- package/dist/settlement/contracts/BridgeContract.d.ts.map +1 -1
- package/dist/settlement/contracts/BridgeContract.js +2 -1
- package/dist/settlement/contracts/BridgeContract.js.map +1 -1
- package/dist/state/protocol/ProtocolState.d.ts +14 -2
- package/dist/state/protocol/ProtocolState.d.ts.map +1 -1
- package/dist/state/protocol/ProtocolState.js +37 -22
- package/dist/state/protocol/ProtocolState.js.map +1 -1
- package/dist/utils/MinaPrefixedProvableHashList.d.ts +0 -5
- package/dist/utils/MinaPrefixedProvableHashList.d.ts.map +1 -1
- package/dist/utils/MinaPrefixedProvableHashList.js +8 -15
- package/dist/utils/MinaPrefixedProvableHashList.js.map +1 -1
- package/package.json +2 -2
- package/src/hashing/mina-prefixes.ts +10 -0
- package/src/hashing/protokit-prefixes.ts +23 -0
- package/src/hooks/AccountStateHook.ts +2 -2
- package/src/index.ts +2 -0
- package/src/model/Path.ts +8 -2
- package/src/protocol/Protocol.ts +1 -1
- package/src/protocol/ProtocolModule.ts +2 -2
- package/src/protocol/ProvableBlockHook.ts +2 -1
- package/src/settlement/contracts/BridgeContract.ts +6 -1
- package/src/state/protocol/ProtocolState.ts +70 -29
- 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 @@
|
|
|
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;
|
|
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 {
|
|
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
|
-
|
|
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,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/model/Path.d.ts
CHANGED
|
@@ -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
|
*
|
package/dist/model/Path.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/model/Path.js
CHANGED
|
@@ -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
|
|
25
|
+
static fromProperty(className, propertyKey, prefix) {
|
|
26
|
+
return hashWithPrefix(prefix, [
|
|
25
27
|
Path.toField(className),
|
|
26
28
|
Path.toField(propertyKey),
|
|
27
29
|
Field(0),
|
package/dist/model/Path.js.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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":"AAAA,OAAO,EAGL,GAAG,EACH,eAAe,GAKhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAuB,SAAS,EAAE,MAAM,UAAU,CAAC;AAM1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,yBAAyB,GAA2B;IACxD,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,yBAAyB;IACzD,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,mBAAmB;IAC7C,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,wBAAwB;CACxD,CAAC;AAyBF,MAAM,OAAO,QAGX,SAAQ,eAAwB;IAGzB,MAAM,CAAC,IAAI,CAEhB,OAAoC;QACpC,OAAO,MAAM,cAAe,SAAQ,QAAiB;YACnD;gBACE,KAAK,CAAC,OAAO,CAAC,CAAC;YACjB,CAAC;SACF,CAAC;IACJ,CAAC;IAID,YAAmB,UAAuC;QACxD,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;IAChD,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAuB,sBAAsB,CAAC,CAAC;IAC9E,CAAC;IAEM,cAAc,CACnB,UAAgC,EAChC,eAA4D;QAE5D,GAAG,CAAC,KAAK,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;QACrC,eAAe,CAAC,
|
|
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
|
-
|
|
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,
|
|
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.
|
|
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,
|
|
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;
|
|
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":"
|
|
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;
|
|
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":";;;;;;;;;AAAA,OAAO,EACL,aAAa,EACb,IAAI,EACJ,KAAK,EACL,MAAM,EAEN,QAAQ,EACR,QAAQ,EACR,SAAS,EAET,KAAK,EACL,KAAK,EACL,MAAM,EACN,eAAe,EACf,OAAO,GAER,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,IAAI,EAAE,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
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 {
|
|
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
|
|
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":"
|
|
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
|
-
|
|
6
|
-
Did you forget to extend your
|
|
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
|
|
36
|
+
export function state() {
|
|
13
37
|
return (target, propertyKey) => {
|
|
14
|
-
|
|
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:
|
|
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":"
|
|
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;
|
|
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(
|
|
10
|
+
return salt(MINA_SALTS.empty_actions)[0];
|
|
15
11
|
}
|
|
16
12
|
export function emptyEvents() {
|
|
17
|
-
return salt(
|
|
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(
|
|
22
|
-
return hashWithPrefix(
|
|
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(
|
|
31
|
-
return hashWithPrefix(
|
|
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,
|
|
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,
|
|
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.
|
|
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": "
|
|
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 {
|
|
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
|
-
@
|
|
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(
|
|
27
|
-
|
|
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),
|
package/src/protocol/Protocol.ts
CHANGED
|
@@ -99,7 +99,7 @@ export class Protocol<
|
|
|
99
99
|
containedModule: InstanceType<Modules[StringKeyOf<Modules>]>
|
|
100
100
|
) {
|
|
101
101
|
log.debug(`Decorated ${moduleName}`);
|
|
102
|
-
containedModule.
|
|
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
|
|
14
|
+
public parent?: ProtocolEnvironment;
|
|
15
15
|
|
|
16
16
|
public get areProofsEnabled(): AreProofsEnabled | undefined {
|
|
17
|
-
return this.
|
|
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(
|
|
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
|
-
|
|
16
|
+
missingParent: (className: string, type: string, moduleType: string) =>
|
|
13
17
|
new Error(
|
|
14
|
-
`Unable to provide '
|
|
15
|
-
Did you forget to extend your
|
|
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
|
|
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
|
-
|
|
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:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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(
|
|
17
|
+
return salt(MINA_SALTS.empty_actions)[0];
|
|
22
18
|
}
|
|
23
19
|
|
|
24
20
|
export function emptyEvents(): Field {
|
|
25
|
-
return salt(
|
|
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(
|
|
34
|
-
return hashWithPrefix(
|
|
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(
|
|
44
|
-
return hashWithPrefix(
|
|
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,
|
|
64
|
+
super(Field, MINA_PREFIXES.sequenceEvents, internalCommitment);
|
|
72
65
|
}
|
|
73
66
|
}
|