UNPKG

heimdall-tide

Version:

SDK for communicating with a Tide Enclave

34 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const js_1 = require("@tideorg/js"); const TideMemory = js_1.Tools.TideMemory; const BaseTideRequest = js_1.Models.BaseTideRequest; const Policy = js_1.Models.Policy; const GenericResourceAccessThresholdRoleContract = js_1.Contracts.GenericResourceAccessThresholdRoleContract; const forsetiType = "forseti"; const forsetiEntryType = "Contract"; class PolicySignRequest extends BaseTideRequest { constructor(name, version, authFlow, draft, dyanmicData) { super(name, version, authFlow, draft, dyanmicData); } static New(policy) { const p = new PolicySignRequest("Policy", "1", "Policy:1", TideMemory.CreateFromArray([policy.toBytes()]), new TideMemory()); p.new_policy = policy; return p; } addForsetiContractToUpload(source) { const te = new TextEncoder(); const s = typeof source === "string" ? te.encode(source) : source; const innerPayload = TideMemory.CreateFromArray([s, te.encode(forsetiEntryType)]); const forsetiData = TideMemory.CreateFromArray([new Uint8Array(0), innerPayload]); const contractTransport = TideMemory.CreateFromArray([te.encode(forsetiType), forsetiData]); const draft = TideMemory.CreateFromArray([this.new_policy.toBytes(), contractTransport]); this.draft = draft; return this; } getRequestedPolicy() { return Policy.from(this.draft.GetValue(0)); } } exports.default = PolicySignRequest; //# sourceMappingURL=PolicySignRequest.js.map