@cryptoeconomicslab/ovm
Advanced tools
Comparing version 0.3.4 to 0.3.5
@@ -15,2 +15,3 @@ import { Address, Bytes } from '@cryptoeconomicslab/primitives'; | ||
getStorageDb(): Promise<KeyValueStore>; | ||
decompile(property: Property): Property; | ||
} | ||
@@ -35,2 +36,3 @@ export declare class DeciderManager implements DeciderManagerInterface { | ||
}): Promise<Decision>; | ||
decompile(property: Property): Property; | ||
} | ||
@@ -37,0 +39,0 @@ export declare const bindVariables: (inputs: Bytes[], substitutions: { |
@@ -8,2 +8,3 @@ "use strict"; | ||
const load_1 = require("./load"); | ||
const decompiler_1 = require("./decompiler"); | ||
const Tracer_1 = require("./Tracer"); | ||
@@ -72,2 +73,9 @@ class DeciderManager { | ||
} | ||
decompile(property) { | ||
const decider = this.getDecider(property.deciderAddress); | ||
if (decider instanceof decompiler_1.CompiledDecider) { | ||
return decider.decompile(this, property.inputs); | ||
} | ||
return property; | ||
} | ||
} | ||
@@ -74,0 +82,0 @@ exports.DeciderManager = DeciderManager; |
@@ -1,2 +0,2 @@ | ||
export * from './atomic/SampleDecider'; | ||
export * from './atomic/BoolDecider'; | ||
export * from './atomic/IsHashPreimageDecider'; | ||
@@ -9,2 +9,3 @@ export * from './atomic/IsValidSignatureDecider'; | ||
export * from './atomic/IsContainedDecider'; | ||
export * from './atomic/VerifyInclusionDecider'; | ||
export * from './operators/AndDecider'; | ||
@@ -11,0 +12,0 @@ export * from './operators/OrDecider'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
tslib_1.__exportStar(require("./atomic/SampleDecider"), exports); | ||
tslib_1.__exportStar(require("./atomic/BoolDecider"), exports); | ||
tslib_1.__exportStar(require("./atomic/IsHashPreimageDecider"), exports); | ||
@@ -12,2 +12,3 @@ tslib_1.__exportStar(require("./atomic/IsValidSignatureDecider"), exports); | ||
tslib_1.__exportStar(require("./atomic/IsContainedDecider"), exports); | ||
tslib_1.__exportStar(require("./atomic/VerifyInclusionDecider"), exports); | ||
tslib_1.__exportStar(require("./operators/AndDecider"), exports); | ||
@@ -14,0 +15,0 @@ tslib_1.__exportStar(require("./operators/OrDecider"), exports); |
@@ -36,7 +36,13 @@ "use strict"; | ||
const challenge = { | ||
property: new types_1.Property(manager.getDeciderAddress(types_1.LogicalConnective.And), properties | ||
.map(p => new types_1.Property(manager.getDeciderAddress(types_1.LogicalConnective.Not), [ | ||
helpers_1.encodeProperty(ovmContext.coder, p) | ||
])) | ||
.map(i => helpers_1.encodeProperty(ovmContext.coder, i))), | ||
property: new types_1.Property(manager.getDeciderAddress(types_1.LogicalConnective.And), properties.map(p => { | ||
const decompiledProperty = manager.decompile(p); | ||
if (decompiledProperty.deciderAddress.equals(manager.getDeciderAddress('Not'))) { | ||
return decompiledProperty.inputs[0]; | ||
} | ||
else { | ||
return helpers_1.encodeProperty(ovmContext.coder, new types_1.Property(manager.getDeciderAddress(types_1.LogicalConnective.Not), [ | ||
helpers_1.encodeProperty(ovmContext.coder, p) | ||
])); | ||
} | ||
})), | ||
challengeInput: null | ||
@@ -43,0 +49,0 @@ }; |
import { Bytes } from '@cryptoeconomicslab/primitives'; | ||
import { Decider } from '../interfaces/Decider'; | ||
import { Decision } from '../types'; | ||
import { Decision, Property } from '../types'; | ||
import { DeciderManager } from '../DeciderManager'; | ||
@@ -17,2 +17,3 @@ import { CompiledPredicate } from './CompiledPredicate'; | ||
}): Promise<Decision>; | ||
decompile(manager: DeciderManager, inputs: Bytes[]): Property; | ||
} |
@@ -13,4 +13,7 @@ "use strict"; | ||
} | ||
decompile(manager, inputs) { | ||
return this.predicateSource.decompileProperty(new types_1.Property(this.predicateSource.deployedAddress, inputs), manager.shortnameMap, this.constantTable); | ||
} | ||
} | ||
exports.CompiledDecider = CompiledDecider; | ||
//# sourceMappingURL=CompiledDecider.js.map |
@@ -151,3 +151,3 @@ "use strict"; | ||
if (children[0] == -1) { | ||
return primitives_1.Bytes.fromHexString(property.deciderAddress.data); | ||
return ovmContext.coder.encode(property.deciderAddress); | ||
} | ||
@@ -154,0 +154,0 @@ else { |
@@ -13,3 +13,3 @@ "use strict"; | ||
ThereExistsSuchThat: new deciders_1.ThereExistsSuchThatDecider(), | ||
Bool: new deciders_1.SampleDecider(), | ||
Bool: new deciders_1.BoolDecider(), | ||
IsContained: new deciders_1.IsContainedDecider(), | ||
@@ -16,0 +16,0 @@ Equal: new deciders_1.EqualDecider(), |
@@ -50,4 +50,3 @@ import { Address, Bytes, Struct, BigNumber } from '@cryptoeconomicslab/primitives'; | ||
IsContained = "IsContained", | ||
IsHashPreimage = "IsHashPreimage", | ||
Foo = "Foo" | ||
IsHashPreimage = "IsHashPreimage" | ||
} | ||
@@ -54,0 +53,0 @@ export declare type LogicalConnectiveStrings = keyof typeof LogicalConnective; |
@@ -78,3 +78,2 @@ "use strict"; | ||
AtomicPredicate["IsHashPreimage"] = "IsHashPreimage"; | ||
AtomicPredicate["Foo"] = "Foo"; | ||
})(AtomicPredicate = exports.AtomicPredicate || (exports.AtomicPredicate = {})); | ||
@@ -81,0 +80,0 @@ function convertStringToLogicalConnective(name) { |
{ | ||
"name": "@cryptoeconomicslab/ovm", | ||
"version": "0.3.4", | ||
"version": "0.3.5", | ||
"description": "ovm", | ||
@@ -35,4 +35,5 @@ "author": { | ||
"@cryptoeconomicslab/hash": "^0.3.4", | ||
"@cryptoeconomicslab/merkle-tree": "^0.3.5", | ||
"@cryptoeconomicslab/ovm-parser": "^0.3.0", | ||
"@cryptoeconomicslab/ovm-transpiler": "^0.3.4", | ||
"@cryptoeconomicslab/ovm-transpiler": "^0.3.5", | ||
"@cryptoeconomicslab/primitives": "^0.3.4", | ||
@@ -43,6 +44,7 @@ "@cryptoeconomicslab/signature": "^0.3.4", | ||
}, | ||
"gitHead": "54bedfb37ef43b547f78268be769144b44fdd51d", | ||
"gitHead": "028bec984dd16b369e3787693e9c66d99bdce6f4", | ||
"devDependencies": { | ||
"@cryptoeconomicslab/coder": "^0.0.3", | ||
"@cryptoeconomicslab/context": "^0.3.4", | ||
"@cryptoeconomicslab/eth-coder": "^0.3.4", | ||
"@cryptoeconomicslab/level-kvs": "0.0.6", | ||
@@ -49,0 +51,0 @@ "ethers": "^4.0.46" |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
114982
87
1606
10
5
+ Added@cryptoeconomicslab/merkle-tree@0.3.5(transitive)