UNPKG

@discipl/law-reg

Version:

Discipl Law and Regulation Compliance Library

299 lines (282 loc) 13.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _identity_util = _interopRequireDefault(require("./identity_util")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const CERTS = [{ 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIUM6Jsa38cHa+8gMqP9gA7JQoJRGUwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNDgyOVoXDTIwMTIxMTEwNDgy OVowbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL/I0L6u EJuGgC31QKsfd4vV0ehN4bavOKNCvP0J08vunGhSYBe31qIRdNOOy0y86ZFIEOHe Xzvt6Xv5RegqqKkCAwEAAaNTMFEwHQYDVR0OBBYEFKnEbs634rzsWZuJ3z+Bus/O mB4WMB8GA1UdIwQYMBaAFKnEbs634rzsWZuJ3z+Bus/OmB4WMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQBm0y9Vja7SSo7JTUMqe7GgdthM3Sja0880 67dt2/5JAlA6xd6augFSQOy9FbF37SuRFK6gfAuuwaX1jRLANVq2 -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAv8jQvq4Qm4aALfVA qx93i9XR6E3htq84o0K8/QnTy+6caFJgF7fWohF0047LTLzpkUgQ4d5fO+3pe/lF 6CqoqQIDAQABAkABMyZrKveboXnHz9L5vxamX04S3/nbhLkb/FzmUFts2SyAfM3g b3p56fUpbhd/fndECZYxn98KMOKrp8zS/QiJAiEA/zJV4Kqf0ZnxjTgaJmiSE2ZQ 67kYzwt3gETmQKb9ltcCIQDAY2AsO4uWRQtApykjRtfxU6SUyxKSpeUDuecDg3NM fwIhAIlysPJas82Onp0zFFKPi+3K89aiUQxi3rBFa8Zyqq7tAiBTgs+cY7yT3iSk S+tvhLD38Hbgn8XQInLmyyucOtMxwQIgML0cgP1M43gfz18WQ/EgvF9HDVgKsJC1 r/WkremnIVU= -----END PRIVATE KEY-----` }, { 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIUcQyG7JwxlmY9XkqDcP0WNnZYKaAwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNTAwNVoXDTIwMTIxMTEwNTAw NVowbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ/5sodu BU9+j7p74xhjxfTTfQ27mDutsr0SNi2abvNrFdVr7PQJR5yXXcnn1F5NURU9UlMr 9p/6VSQdiJrBQPUCAwEAAaNTMFEwHQYDVR0OBBYEFHf2bRi0JN9mBFF7qq4RR7Ls 06diMB8GA1UdIwQYMBaAFHf2bRi0JN9mBFF7qq4RR7Ls06diMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQB/W01ksFq2bZqrnNGICUz38IxG8kKM2TwT g1kygvZM3fCV0xKyN+gGCPp8/ks906Msx1QjZ404uYNNrwQX/EPf -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAn/myh24FT36Punvj GGPF9NN9DbuYO62yvRI2LZpu82sV1Wvs9AlHnJddyefUXk1RFT1SUyv2n/pVJB2I msFA9QIDAQABAkBIf/xF3jmv5jazGBQ6aHU9WF9zStJaMYUwpMFC95tS2zyt0/Mx meuDsEf7J1sE0ILfY+TiZ9IGcBGvm746MhBdAiEAzW1JgFPDj7vIKG0/QMB+/Wlc wRIzXIJg/TQfhxW9cNsCIQDHW+X6N9lqosu2Pd4gYDDqmFkYsaTy1v99MU4bHoeW bwIgTyS4uaEL6fddwP197hN7mWQbYSMC+LQea87GCsQ8bRsCIQC6CQr6TcXI2fQp s2AmbD0ZnmN+RL/9kR5H0IvniLzUZwIgaC5wc0rpqO1w51O1mAavA0wAWMLhzgHv 6ozDEi3E83U= -----END PRIVATE KEY-----` }, { 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIUWj9V9scUepqHugRpa2VwDNJHhzIwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNTA1M1oXDTIwMTIxMTEwNTA1 M1owbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMnOXmBd 9aJWc/Yyc144Su6YIaegEx8X70Nn8mYR7w0bjYC1XPl/+7Ghc+quSizvnfDA+sTs 2s0oAs/a73sAOv8CAwEAAaNTMFEwHQYDVR0OBBYEFC8ID5rlWNnlvAGItMEZpbyK QlX2MB8GA1UdIwQYMBaAFC8ID5rlWNnlvAGItMEZpbyKQlX2MA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQCx07pzaaXTYum5vv8XSZbE8ZQMnq/esd+g /ftqsIPASzq0hlwXHcVZnzpDYdp5D7EXCkLds3NmNC1O0/F7t6ap -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEAyc5eYF31olZz9jJz XjhK7pghp6ATHxfvQ2fyZhHvDRuNgLVc+X/7saFz6q5KLO+d8MD6xOzazSgCz9rv ewA6/wIDAQABAkBNgIzsM4mPU+ZrCcsWx0W3xgM+zhIp4dZIq9YC7yZAgMLMqgHy ZaHFxFnmysT7RR/QDbGAfV4oMX2x1yeby/KZAiEA5AuxgUjpsk+pZbuIUHgs/xc8 tmzOaN/PM609fk6t5EsCIQDii0BZuktx5p79PMf5n9OldYxtx62uGDEXcG/MlSQL nQIhANd81Ta9l1cPP5sKIj0n0h0Z8BzRpBolor3KLhl0b40RAiEAvrmrwJ8F+2vE uMDePzuezPMs+hOdFjAJzIj9psh9I0UCIQCpXU1o2XY62ndgOeACdV1QoSR3Naej NzAKmRegbxWPEQ== -----END PRIVATE KEY-----` }, { 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIUJ2PdpCc1DUfa3fgNG6JRu8WWxPcwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNTEyN1oXDTIwMTIxMTEwNTEy N1owbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMS+W6v4 oWGsgIB/icxw4TBebQadWaPQLOiyhTRrDQvcAsLTdbaSVEPAef/VCiIBEmZx6buy fk9adHD1PK8/utMCAwEAAaNTMFEwHQYDVR0OBBYEFJGUOmo7zfmAZQjdPavh/hGN yhRNMB8GA1UdIwQYMBaAFJGUOmo7zfmAZQjdPavh/hGNyhRNMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQBDp4/RSijgUughMmHh28HB9zsj04/x9FZ/ O7iWToRod3w9ZrPPg42WLzdV0F3LcDhdnTFhobcGDtqievEtwlc4 -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEAxL5bq/ihYayAgH+J zHDhMF5tBp1Zo9As6LKFNGsNC9wCwtN1tpJUQ8B5/9UKIgESZnHpu7J+T1p0cPU8 rz+60wIDAQABAkEAvv0b+MGPyEWxKQymNHSP5miD5hvx3PhF4E8MyGnzbEIfdXPO TCxufN2fxFvtBF1TIQbMXAuqLnqxzwUz/m5TwQIhAO1C1uGFgp5k6hZjM5bn2REk +XdwE2FVWVTZjznT6e4ZAiEA1EhMhszbALnI9n30KOFtlox78yEEN3H2DGooZrsy 9csCIQCKDwWorx6leoU4R7tCSWDm+APtuxqb3aUgmYQdGzGZKQIgJKaS59conJh2 9O/MHt7E3/BDWjfCFZyMYZpWfV4mrz8CIQDHox16lO1wqjVDsRcstxsgwagXFUQu yt0yTM03th3j4g== -----END PRIVATE KEY-----` }, { 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIULp3O5+a3uwR/PTlgnX4hUJgJ0UYwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNTE0OFoXDTIwMTIxMTEwNTE0 OFowbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANKluZBU HT+sygaq9IqEPJ5zdxeT8++NlIWtBgtgGMR+bcIsuWLB02uatua6U3HbVCZxfzrH 6PbNoIUCLcamm1UCAwEAAaNTMFEwHQYDVR0OBBYEFBcRoBmuBNrWXBKYBljFsmAs i+uAMB8GA1UdIwQYMBaAFBcRoBmuBNrWXBKYBljFsmAsi+uAMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQAMDDBMgD2/tS0BkHHHaKULXnPd2bz2uOVt 3tFbJ89GaSsbGNZr048pIQE9oHVqWcdO9yqtdAOPmnY98yR64bIj -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0qW5kFQdP6zKBqr0 ioQ8nnN3F5Pz742Uha0GC2AYxH5twiy5YsHTa5q25rpTcdtUJnF/Osfo9s2ghQIt xqabVQIDAQABAkAFcDnmPAW1SyS8H1XI7bkS7jA475zwplsbSGhLiuOYzw7QB9Hu yhtqcEvuBsadS0jep9xXbqMJ2GAH2JednPmBAiEA7TtNtlU1dNYGTlS6SsOcz/Ky 1D2JXRsJRAzrbR1sAxkCIQDjUAE2GaV0SfkeYmKVro/kIrBLeXcPuCYetIPFK0H9 nQIgNUxRlVlnfSxolkiq4gk4ve+FBfIdXnGoj0Vnz0gA8GECIBCsQpp8QRWJg3tG DiMafbVnEfVHQINnp2wjI3Mn3BxFAiAuoJugQ+FeKwWbiWLFm1rmz1ln9pMa8RHk bOXwd/tqcQ== -----END PRIVATE KEY-----` }, { 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIUdA/H9/YqQLgwyEDJZTL8cN3z4CMwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNTIxMFoXDTIwMTIxMTEwNTIx MFowbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOPeeTRS gbZ2VOgGISCXH8mc9Qmmx+KRJk2ecuQn+SKl3pNnBCrCk3HzOypTCb7kZs06NdlD 9zQFP2jdJmLQfQkCAwEAAaNTMFEwHQYDVR0OBBYEFNizmcbAmm1dPrs4z8eRKXJ3 eEA6MB8GA1UdIwQYMBaAFNizmcbAmm1dPrs4z8eRKXJ3eEA6MA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQCuQ0E4/f4ZPHCXbIX8Tnjmq/4DpEAssk0R maQ6+Bbh3BX2g7qEdThwDf+JGanh2Qy5y2uqEUHu5ychv/KdwW5t -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEA4955NFKBtnZU6AYh IJcfyZz1CabH4pEmTZ5y5Cf5IqXek2cEKsKTcfM7KlMJvuRmzTo12UP3NAU/aN0m YtB9CQIDAQABAkEAxSvILOIHo16Y8Xv8Rjr+InJSBVvvMbjvL9KfD5UXGkZSNk/T HPgDiePycmdLKb25wX3Ujhl3lCvILY1L5muLEQIhAPkuwAVpDnFtmnAKDl02IYut yGU20oeiyMbQ/I3O5Pa7AiEA6hpx+N3JcDcN7Qb64mBz9yInsra2Y7baSpOzDHQa +QsCICB9UPojnYd6k/VhykerBCqzKPrRcBfRSL5rh1JyFHZ7AiAkqQWGGn1MJGL6 5mftgXtHjUK4OuKvFNh0a1LTtW7v5wIgZXZJESW2lvfdz+ktDrAzgjbF9/7jmop0 NtW+eSTB8Zc= -----END PRIVATE KEY-----` }, { 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIUQRTiIKp6shr4JqraDTd1T/QlqEUwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNTI1NloXDTIwMTIxMTEwNTI1 NlowbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAM3uVzcr DZcQ43r90GcMmYfpeQDBAGrMgAAm1NuJsqJax3zLdUMVTn5XbrKCBr9KEkkG3JgO KD1XZm1ui17oudMCAwEAAaNTMFEwHQYDVR0OBBYEFJzJjbJGHY6ycr4P4x2/I3lM 5RWzMB8GA1UdIwQYMBaAFJzJjbJGHY6ycr4P4x2/I3lM5RWzMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQADb4zDR/VDCnu/PUw/XOS1qa2tySgu4tdS MuHokfaON3rHgn/hkFJncokmbW/+Eci6bm7o8VLRwPMv73Vgn3HC -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEAze5XNysNlxDjev3Q ZwyZh+l5AMEAasyAACbU24myolrHfMt1QxVOfldusoIGv0oSSQbcmA4oPVdmbW6L Xui50wIDAQABAkEAsnPP8GbGqBpihrpcVnB8u2J/EUAu9F2yrm74FicFPdqNNr9p VlBMVfnpq/Npvd7NBmRNMRNH0XTNIKPzLSXggQIhAPyC9hjk23VLkedQKbP9RzUN F+z73EzFFQijQMNu/bI5AiEA0MakNW6XKdblHseVIhrvqp3ViFeRWAplNUSsszJp HGsCIH7pp50tcWvLtqJm9P7k3uQ4F31hvQDM0VyNCODxKQtpAiEAvLw2yo71XL+G VbL7oN9U9prE5QK0xDBxmhxBO6ZA240CIQD1/6bdhaD5mIYX2iGgseYumuctlsX6 mMIpu75/ph7fYg== -----END PRIVATE KEY-----` }, { 'cert': `-----BEGIN CERTIFICATE----- MIICMzCCAd2gAwIBAgIUX9Z2cLLXPKYr4AhDidrB1lVvo2wwDQYJKoZIhvcNAQEL BQAwbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMB4XDTE5MTIxMjEwNTMxM1oXDTIwMTIxMTEwNTMx M1owbjELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFuZDERMA8GA1UE BwwIRGVuIEhhYWcxDTALBgNVBAoMBElDVFUxEDAOBgNVBAsMB0Rpc2NpcGwxFDAS BgNVBAMMC2V4YW1wbGUuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANa00Y5k xDD2MVgMSYndjpLViKZWA7gQ+rXOJmyfRLclw8FArsHjmOflll0yGfuCK9Lp5pua bWO5MqNzs9AFU0UCAwEAAaNTMFEwHQYDVR0OBBYEFO1tcNOIIxsn2eBrY/sq++H7 rjlCMB8GA1UdIwQYMBaAFO1tcNOIIxsn2eBrY/sq++H7rjlCMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQELBQADQQCZ6S+bMWcMvrG9O2oE1RkOIgxM1zkRWo4w XM6uJA/KAbFVV6RUblkl1TbodAoLTjhk323V0UnuCrzKiDwCO7r9 -----END CERTIFICATE-----`, 'privkey': `-----BEGIN PRIVATE KEY----- MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEA1rTRjmTEMPYxWAxJ id2OktWIplYDuBD6tc4mbJ9EtyXDwUCuweOY5+WWXTIZ+4Ir0unmm5ptY7kyo3Oz 0AVTRQIDAQABAkEAo2fejTbXskPM7iv70/dRSSNG6wFPt0kE5lVNHSJiE9g/C8qM E+0QCDI+dLU3ycEx9wxoLfto7J5IGRMbe0kFAQIhAPGWRRum8Ut+EnZ5eCtXVxQw vDkAp2oHxKuDOMJSmGjhAiEA44QA112KTrNHq6nvjeNivZZXRqz3bsXC12GfZ4vV wuUCIQDfPYz+0HWI3ScSc4yoAD1nWuGTixco06TZGJkKeGh+AQIhAJzJO/cuXACO JabT7eS+vS3fa/elfMIWgIYCnWIzCDVNAiAwS3pUt9ZS0L6Ic4G709zCA7pwxKVK ejzvQU+uAf73Bg== -----END PRIVATE KEY-----` }]; class Util { constructor(lawReg) { this.lawReg = lawReg; this.core = lawReg.getAbundanceService().getCoreAPI(); } async setupModel(model, actors, factFunctionSpec, usePregenIdentities = true) { const ephemeralConnector = await this.core.getConnector('ephemeral'); const allActors = actors.concat(['lawmaker']); const ssids = {}; let identityIndex = 1; for (const actor of allActors) { if (usePregenIdentities && CERTS[identityIndex]) { ssids[actor] = await ephemeralConnector.newIdentity(CERTS[identityIndex]); identityIndex += 1; } else { ssids[actor] = await ephemeralConnector.newIdentity({}); } await this.core.allow(ssids[actor]); } const factFunctions = Object.keys(factFunctionSpec).reduce((factFunctions, fact) => { let actors = factFunctionSpec[fact]; if (!Array.isArray(actors)) { actors = [actors]; } const values = actors.map(actor => { if (allActors.includes(actor)) { return _identity_util.default.identityExpression(ssids[actor].did); } else if (Array.isArray(factFunctionSpec[fact])) { return _identity_util.default.identityExpression(actor); } else { return factFunctionSpec[fact]; } }); factFunctions[fact] = { 'expression': 'OR', 'operands': values }; return factFunctions; }, {}); const modelLink = await this.lawReg.publish(ssids['lawmaker'], { ...model, 'model': 'LB' }, factFunctions); return { 'ssids': ssids, 'modelLink': modelLink }; } async scenarioTest(ssids, modelLink, acts, facts, usePregenIdentity = true) { const ephemeralConnector = await this.core.getConnector('ephemeral'); const cert = usePregenIdentity ? CERTS[0] : {}; const needSsid = await ephemeralConnector.newIdentity(cert); await this.core.allow(needSsid); let caseLink = await this.core.claim(needSsid, { 'need': { 'DISCIPL_FLINT_MODEL_LINK': modelLink } }); const factResolver = fact => { if (facts[fact]) { if (Array.isArray(facts[fact])) { return facts[fact].shift(); } else { return facts[fact]; } } return false; }; for (const act of acts) { caseLink = await this.lawReg.take(ssids[act.actor], caseLink, act.act, factResolver); } } } var _default = Util; exports.default = _default;