public void CreateAppPool(string name, string user, string pass, RuntimeVersion version, bool forceOverwrite = false) { using (var manager = new ServerManager()) { // create app pool if not exists if (manager.ApplicationPools[name] == null || forceOverwrite) { var pool = manager.ApplicationPools.Add(name); pool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser; pool.ProcessModel.UserName = user; pool.ProcessModel.Password = pass; pool.ManagedRuntimeVersion = "v".Fmt(version.ToVersionNumber()); manager.CommitChanges(); } } }
public string GenerateScript(byte[] serialized_object, string entry_class_name, string additional_script, RuntimeVersion version, bool enable_debug) { string[] lines = JScriptGenerator.BinToBase64Lines(serialized_object); return(GetScriptHeader(version, enable_debug) + Properties.Resources.vbs_template.Replace( "%SERIALIZED%", String.Join(Environment.NewLine + "s = s & ", lines) ).Replace( "%CLASS%", entry_class_name ).Replace( "%ADDEDSCRIPT%", additional_script )); }
public RuntimeConfigViewModel( Version targetNetFrameworkVersion, Version installedEntityFrameworkVersion, bool isModernProviderAvailable, bool isCodeFirst) { if (targetNetFrameworkVersion == NetFrameworkVersioningHelper.NetFrameworkVersion3_5) { Debug.Assert(!isCodeFirst, "CodeFirst not supported on .NET Framework 3.5"); _entityFrameworkVersions.Add(new EntityFrameworkVersionOption(RuntimeVersion.Latest) { Disabled = true }); _entityFrameworkVersions.Add(new EntityFrameworkVersionOption(RuntimeVersion.Version1) { IsDefault = true }); _message = Resources.RuntimeConfig_Net35; } else { if (installedEntityFrameworkVersion != null) { if (installedEntityFrameworkVersion < RuntimeVersion.Version6) { Debug.Assert(!isCodeFirst, "CodeFirst only valid for no EF or EF6"); _entityFrameworkVersions.Add(new EntityFrameworkVersionOption(RuntimeVersion.Latest) { Disabled = true }); if (installedEntityFrameworkVersion == RuntimeVersion.Version4) { // EF V4 (i.e. System.Data.Entity) is installed, but when we go through the wizard we // will end up with DbContext templates which will automatically install V5 of the // runtime - so update the options so that the only choice other than V6 is V5 installedEntityFrameworkVersion = targetNetFrameworkVersion == NetFrameworkVersioningHelper.NetFrameworkVersion4 ? RuntimeVersion.Version5Net40 : RuntimeVersion.Version5Net45; } _entityFrameworkVersions.Add( new EntityFrameworkVersionOption(installedEntityFrameworkVersion, targetNetFrameworkVersion) { IsDefault = true }); _message = Resources.RuntimeConfig_BelowSixInstalled; } else if (!isModernProviderAvailable) { _entityFrameworkVersions.Add( new EntityFrameworkVersionOption(installedEntityFrameworkVersion) { Disabled = true, IsDefault = true }); _state = RuntimeConfigState.Error; _message = Resources.RuntimeConfig_SixInstalledButNoProvider; _helpUrl = Resources.RuntimeConfig_LearnProvidersUrl; } else { _entityFrameworkVersions.Add(new EntityFrameworkVersionOption(installedEntityFrameworkVersion) { IsDefault = true }); _state = RuntimeConfigState.Skip; } } else { if (isModernProviderAvailable) { _entityFrameworkVersions.Add(new EntityFrameworkVersionOption(RuntimeVersion.Latest) { IsDefault = true }); if (!isCodeFirst) { _entityFrameworkVersions.Add( new EntityFrameworkVersionOption(RuntimeVersion.Version5(targetNetFrameworkVersion))); _message = Resources.RuntimeConfig_TargetingHint; _helpUrl = Resources.RuntimeConfig_LearnTargetingUrl; } else { _state = RuntimeConfigState.Skip; } } else { if (isCodeFirst) { _state = RuntimeConfigState.Error; _entityFrameworkVersions.Add(new EntityFrameworkVersionOption(RuntimeVersion.Latest) { Disabled = true, IsDefault = true }); } else { _entityFrameworkVersions.Add(new EntityFrameworkVersionOption(RuntimeVersion.Latest) { Disabled = true }); _entityFrameworkVersions.Add( new EntityFrameworkVersionOption(RuntimeVersion.Version5(targetNetFrameworkVersion)) { IsDefault = true }); } _message = Resources.RuntimeConfig_NoProvider; _helpUrl = Resources.RuntimeConfig_LearnProvidersUrl; } } } Debug.Assert(_entityFrameworkVersions.Count != 0, "_entityFrameworkVersions is empty."); Debug.Assert(_entityFrameworkVersions.Any(v => v.IsDefault), "No element of _entityFrameworkVersions is the default."); }
private static void GetAssemblyFiles([NotNull] List <InstalledPluginInfo> result, [NotNull] IEnumerable <string> fileNames, [NotNull] System.Version sitecoreVersion, [NotNull] RuntimeVersion kernelRuntimeVersion) { Diagnostics.Debug.ArgumentNotNull(result, nameof(result)); Diagnostics.Debug.ArgumentNotNull(fileNames, nameof(fileNames)); Diagnostics.Debug.ArgumentNotNull(sitecoreVersion, nameof(sitecoreVersion)); Diagnostics.Debug.ArgumentNotNull(kernelRuntimeVersion, nameof(kernelRuntimeVersion)); foreach (var fileName in fileNames) { var runtimeVersion = GetRuntimeVersion(fileName); if (kernelRuntimeVersion != RuntimeVersion.Empty && runtimeVersion > kernelRuntimeVersion) { continue; } if (!IsSitecoreVersion(sitecoreVersion, fileName)) { continue; } var fileVersionInfo = FileVersionInfo.GetVersionInfo(fileName); var info = new InstalledPluginInfo { ServerFile = fileName, Name = Path.GetFileNameWithoutExtension(fileName) ?? string.Empty, Version = fileVersionInfo.FileVersion, RuntimeVersion = runtimeVersion }; result.Add(info); } }
public void BalanceTransferMockedTest2() { var _runtime = new RuntimeVersion { SpecVersion = 1, TransactionVersion = 1 }; Constants.AddressVersion = 0; //[ // { // "signature": { // "signer": "5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM", // "signature": { // "Ed25519": "0x97176876e9cb26b2449855a332efee478768b31e215ed025ce57dd8e6bdfa63df3adfcf29091eb53c326173a5aad23661e074d132ae804bbd91126cd19093302" // }, // "era": { // "MortalEra": "0x7500" // }, // "nonce": 6, // "tip": 1234 // }, // "method": { // "callIndex": "0x0400", // "args": { // "dest": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", // "value": 7654321 // } // } // } //] byte publicKeyType = 0x00; var publicKey = Utils.GetPublicKeyFrom("5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM"); CompactInteger nonce = 6; byte moduleIndex = 0x04; byte callIndex = 0x00; var destPublicKey = Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"); CompactInteger amount = 7654321; var parameters = destPublicKey.Concat(amount.Encode()).ToArray(); var genesisHash = Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9"); var currentBlockHash = Utils.HexToByteArray("0xcfa2f9c52f94bc50658735d0f18f72590c981fdc15657636a99c437553c53253"); ; ulong currentBlockNumber = 7; CompactInteger tip = 1234; // mocked signature var signature = Utils.HexToByteArray( "0x97176876e9cb26b2449855a332efee478768b31e215ed025ce57dd8e6bdfa63df3adfcf29091eb53c326173a5aad23661e074d132ae804bbd91126cd19093302"); var method = new Method(moduleIndex, callIndex, parameters); var era = new Era(Constants.ExtrinsicEraPeriodDefault, currentBlockNumber, currentBlockNumber == 0 ? true : false); var genesis = new Hash(); genesis.Create(genesisHash); var currentBlock = new Hash(); currentBlock.Create(currentBlockHash); var uncheckedExtrinsic = new UnCheckedExtrinsic(true, Account.Build(KeyType.Ed25519, new byte[0], publicKey), method, era, nonce, tip, genesis, currentBlock); var balanceTransfer = "0x350284278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e0097176876e9cb26b2449855a332efee478768b31e215ed025ce57dd8e6bdfa63df3adfcf29091eb53c326173a5aad23661e074d132ae804bbd91126cd1909330275001849130400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27dc62ed301"; uncheckedExtrinsic.AddPayloadSignature(signature); Assert.AreEqual(Utils.HexToByteArray(balanceTransfer), uncheckedExtrinsic.Encode()); var _ = uncheckedExtrinsic.GetPayload(_runtime).Encode(); }
public void CreateMogwaiTestZurich() { // 792,193 ---> 0x0cf64c1e0e45b2fba6fd524e180737f5e1bb46e0691783d6963b2e26253f8592 var runtime = new RuntimeVersion { SpecVersion = 1, TransactionVersion = 1 }; Constants.AddressVersion = 1; var accountZurich = Account.Build( KeyType.Ed25519, Utils.HexToByteArray( "0xf5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"), Utils.GetPublicKeyFrom("5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM")); var privatKey = Utils.HexToByteArray( "0xf5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"); var publicKey = Utils.HexToByteArray("0x278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"); // 278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e // 029d6a4d204108ecc3d27ccfb5163c85582f946282ba7625c0c9da2595ba89856df529efea6fdc36426a6be89bddefed52d23fc1ccf66dd9483b542ed96e0b08 var referenceExtrinsic = "0xa50184ff278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e00029d6a4d204108ecc3d27ccfb5163c85582f946282ba7625c0c9da2595ba89856df529efea6fdc36426a6be89bddefed52d23fc1ccf66dd9483b542ed96e0b08750304002003"; // "0xA50184FF278117FC144C72340F67D0F2316E8386CEFFBF2B2428C9C51FEF7C597F1D426E00029D6A4D204108ECC3D27CCFB5163C85582F946282BA7625C0C9DA2595BA89856DF529EFEA6FDC36426A6BE89BDDEFED52D23FC1CCF66DD9483B542ED96E0B08750304003203" var method = new Method(0x20, 0x03); var era = Era.Create(64, 792183); CompactInteger nonce = 7; CompactInteger tip = 0; var genesis = new Hash(); genesis.Create(Utils.HexToByteArray("0x778c4bb53621114939206c9c9874c5fa1da38d2e14293d053a0b8dd6125b4042")); var startEra = new Hash(); startEra.Create(Utils.HexToByteArray("0x1a62fe1013aab94901e7dd80051f8e2b6b3c44bd0f0c934ff665768d459b3aa5")); var uncheckedExtrinsic = new UnCheckedExtrinsic(true , Account.Build(KeyType.Ed25519, privatKey, publicKey) , method , era , 1 , 0 , genesis , startEra // currentblock ); uncheckedExtrinsic.AddPayloadSignature(Utils.HexToByteArray( "0x029d6a4d204108ecc3d27ccfb5163c85582f946282ba7625c0c9da2595ba89856df529efea6fdc36426a6be89bddefed52d23fc1ccf66dd9483b542ed96e0b08")); var uncheckedExtrinsicStr = Utils.Bytes2HexString(uncheckedExtrinsic.Encode()); var payload = uncheckedExtrinsic.GetPayload(runtime).Encode(); /// Payloads longer than 256 bytes are going to be `blake2_256`-hashed. if (payload.Length > 256) { payload = HashExtension.Blake2(payload, 256); } byte[] signature; signature = Chaos.NaCl.Ed25519.Sign(payload, privatKey); var signatureStr = Utils.Bytes2HexString(signature); uncheckedExtrinsic.AddPayloadSignature(signature); Assert.AreEqual(referenceExtrinsic, uncheckedExtrinsicStr.ToLower()); /** * * { * isSigned: true, * method: { * args: [], * method: createMogwai, * section: dotMogModule * }, * era: { * MortalEra: { * period: 64, * phase: 55 * } * }, * nonce: 1, * signature: 0x029d6a4d204108ecc3d27ccfb5163c85582f946282ba7625c0c9da2595ba89856df529efea6fdc36426a6be89bddefed52d23fc1ccf66dd9483b542ed96e0b08, * signer: 5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM, * tip: 0 * } * */ //{ // "Signed": true, // "TransactionVersion": 4, // "Account": { // "KeyType": 0, // "Address": "5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM", // "PublicKey": "J4EX/BRMcjQPZ9DyMW6Dhs7/vyskKMnFH+98WX8dQm4=" // }, // "Era": { // "IsImmortal": false, // "Period": 64, // "Phase": 55 // }, // "Nonce": { // "Value": 1 // }, // "Tip": { // "Value": 0 // }, // "Method": { // "ModuleName": "DotMogModule", // "ModuleIndex": 32, // "CallName": "create_mogwai", // "CallIndex": 3, // "Arguments": [ // ], // "Parameters": "" // }, // "Signature": "Ap1qTSBBCOzD0nzPtRY8hVgvlGKCunYlwMnaJZW6iYVt9Snv6m/cNkJqa+ib3e/tUtI/wcz2bdlIO1Qu2W4LCA==" // } }
public static void Reset (bool full) { if (!full) return; Checked = false; Unsafe = false; StdLib = true; StrongNameKeyFile = null; StrongNameKeyContainer = null; StrongNameDelaySign = false; MainClass = null; OutputFile = null; Target = Target.Exe; SdkVersion = SdkVersion.v2; TargetExt = ".exe"; Platform = Platform.AnyCPU; Version = LanguageVersion.Default; VerifyClsCompliance = true; Optimize = true; Encoding = Encoding.Default; Documentation = null; GenerateDebugInfo = false; ParseOnly = false; TokenizeOnly = false; Win32IconFile = null; Win32ResourceFile = null; Resources = null; LoadDefaultReferences = true; AssemblyReferences = new List<string> (); AssemblyReferencesAliases = new List<Tuple<string, string>> (); Modules = new List<string> (); ReferencesLookupPaths = new List<string> (); StdLibRuntimeVersion = RuntimeVersion.v2; // // Setup default defines // AllDefines = new List<string> (); AddConditional ("__MonoCS__"); }
public void DmogCreateImmortalAliceTest() { var _runtime = new RuntimeVersion { SpecVersion = 1, TransactionVersion = 1 }; Constants.AddressVersion = 0; var privatKey = Utils.HexToByteArray( "0x33A6F3093F158A7109F679410BEF1A0C54168145E0CECB4DF006C1C2FFFB1F09925A225D97AA00682D6A59B95B18780C10D7032336E88F3442B42361F4A66011"); //byte publicKeyType = 0x01; var publicKey = Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"); // Alice CompactInteger nonce = 5; byte moduleIndex = 0x06; byte callIndex = 0x02; var parameters = new byte[0]; var genesisHash = Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9"); var currentBlockHash = Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9"); ; ulong currentBlockNumber = 0; CompactInteger tip = 0; // mocked signature var signature = Utils.HexToByteArray( "0xB8FB3FE1B723B69ED2011E5E3B168F202DFAE3853C81D5617DD35A60C29F1C4B49B95DCF5631CCA678837BC1B347DD1C20161E12512E16CED78A9592DEECDA8C"); var method = new Method(moduleIndex, callIndex, parameters); var era = new Era(Constants.ExtrinsicEraPeriodDefault, currentBlockNumber, currentBlockNumber == 0 ? true : false); var genesis = new Hash(); genesis.Create(genesisHash); var currentBlock = new Hash(); currentBlock.Create(currentBlockHash); var uncheckedExtrinsic = new UnCheckedExtrinsic(true, Account.Build(KeyType.Sr25519, new byte[0], publicKey), method, era, nonce, tip, genesis, currentBlock); var dmogCreateImmortal = "0x9d0184d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01b8fb3fe1b723b69ed2011e5e3b168f202dfae3853c81d5617dd35a60c29f1c4b49b95dcf5631cca678837bc1b347dd1c20161e12512e16ced78a9592deecda8c0014000602"; uncheckedExtrinsic.AddPayloadSignature(signature); Assert.AreEqual(Utils.HexToByteArray(dmogCreateImmortal), uncheckedExtrinsic.Encode()); var payload = uncheckedExtrinsic.GetPayload(_runtime).Encode(); //var payloadStr = Utils.Bytes2HexString(payload); if (payload.Length > 256) { payload = HashExtension.Blake2(payload, 256); } var simpleSign = Sr25519v091.SignSimple(publicKey, privatKey, payload); //var simpleSignStr = Utils.Bytes2HexString(simpleSign); Assert.True(Sr25519v091.Verify(simpleSign, publicKey, payload)); Assert.True(Sr25519v091.Verify(signature, publicKey, payload)); }
public void DmogCreateImmortalAliceTest2() { var _runtime = new RuntimeVersion { SpecVersion = 1, TransactionVersion = 1 }; Constants.AddressVersion = 0; // length: 103[2] // signatureVersion: 0x84 // sendPublicKey: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY[0xD43593C715FDD31C61141ABD04A99FD6822C8558854CCDE39A5684E7A56DA27D] // sendPublicKeyType: 0x01 // signature: 0x583313EF997E42929D889260EE8B75AE7FB5CE19B92E435CA0827A8C7B5BC44B7D1D3A8638D76C24EF47E61981B54BDDFDE64AA0C078F2B78EF915FF1B74468F // era: 0x00 // nonce: 5[1] // tip: 0[1] // moduleIndex: 0x0602 var privatKey = Utils.HexToByteArray( "0x33A6F3093F158A7109F679410BEF1A0C54168145E0CECB4DF006C1C2FFFB1F09925A225D97AA00682D6A59B95B18780C10D7032336E88F3442B42361F4A66011"); //byte publicKeyType = 0x01; var publicKey = Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"); // Alice CompactInteger nonce = 5; byte moduleIndex = 0x06; byte callIndex = 0x02; var parameters = new byte[0]; var genesisHash = Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9"); var currentBlockHash = Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9"); ulong currentBlockNumber = 0; CompactInteger tip = 0; // mocked signature var signature = Utils.HexToByteArray( "0x583313EF997E42929D889260EE8B75AE7FB5CE19B92E435CA0827A8C7B5BC44B7D1D3A8638D76C24EF47E61981B54BDDFDE64AA0C078F2B78EF915FF1B74468F"); var method = new Method(moduleIndex, callIndex, parameters); var era = new Era(Constants.ExtrinsicEraPeriodDefault, currentBlockNumber, currentBlockNumber == 0 ? true : false); var genesis = new Hash(); genesis.Create(genesisHash); var currentBlock = new Hash(); currentBlock.Create(currentBlockHash); var uncheckedExtrinsic = new UnCheckedExtrinsic(true, Account.Build(KeyType.Sr25519, new byte[0], publicKey), method, era, nonce, tip, genesis, currentBlock); var dmogCreateImmortal = "0x9d0184d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01583313ef997e42929d889260ee8b75ae7fb5ce19b92e435ca0827a8c7b5bc44b7d1d3a8638d76c24ef47e61981b54bddfde64aa0c078f2b78ef915ff1b74468f0014000602"; uncheckedExtrinsic.AddPayloadSignature(signature); Assert.AreEqual(Utils.HexToByteArray(dmogCreateImmortal), uncheckedExtrinsic.Encode()); var payload = uncheckedExtrinsic.GetPayload(_runtime).Encode(); //var payloadStr = Utils.Bytes2HexString(payload); if (payload.Length > 256) { payload = HashExtension.Blake2(payload, 256); } var simpleSign = Sr25519v091.SignSimple(publicKey, privatKey, payload); //var simpleSignStr = Utils.Bytes2HexString(simpleSign); Assert.True(Sr25519v091.Verify(simpleSign, publicKey, payload)); Assert.True(Sr25519v091.Verify(signature, publicKey, payload)); }
public string GenerateScript(byte[] serialized_object, string entry_class_name, string additional_script, RuntimeVersion version, bool enable_debug) { string hex_encoded = BitConverter.ToString(serialized_object).Replace("-", ""); StringBuilder builder = new StringBuilder(); string dotnetversion = (version != RuntimeVersion.v2) ? "v4" : "v2"; for (int i = 0; i < hex_encoded.Length; i++) { if (i == 0) { builder.Append("s = \""); } else if (i % 300 == 0) { builder.Append("\""); builder.AppendLine(); builder.Append(" s = s & \""); } builder.Append(hex_encoded[i]); } builder.Append("\""); return(GetScriptHeader(enable_debug) + Properties.Resources.vba_template.Replace( "%SERIALIZED%", builder.ToString() ).Replace( "%CLASS%", entry_class_name ).Replace( "%MANIFEST%", GetManifest(version) ).Replace( "%ADDEDSCRIPT%", additional_script ).Replace( "%DOTNETVERSION%", dotnetversion )); }
public void BalanceTransferAliceTest() { var _runtime = new RuntimeVersion { SpecVersion = 1, TransactionVersion = 1 }; Constants.AddressVersion = 0; //[ // { // isSigned: true, // method: { // args: [ // 5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM, // 4.321n Unit // ], // method: transfer, // section: balances // }, // era: { // MortalEra: { // period: 64, // phase: 10 // } // }, // nonce: 4, // signature: 0x726ba1fab06d3e1bf6abfa0d5af85e25f2a970e11384162b7caf83935c58f769b6fef3b83a29ffd8d813a037d01cd6bcb21beaa88e9a18b3abe366b0458a8a82, // signer: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY, // tip: 1.234n Unit // } //] // [{ "signature":{ "signer":"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY","signature":{ "Sr25519":"0x726ba1fab06d3e1bf6abfa0d5af85e25f2a970e11384162b7caf83935c58f769b6fef3b83a29ffd8d813a037d01cd6bcb21beaa88e9a18b3abe366b0458a8a82"},"era":{ "MortalEra":"0xa500"},"nonce":4,"tip":1234},"method":{ "callIndex":"0x0400","args":{ "dest":"5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM","value":4321} } }] var privatKey = Utils.HexToByteArray( "0x33A6F3093F158A7109F679410BEF1A0C54168145E0CECB4DF006C1C2FFFB1F09925A225D97AA00682D6A59B95B18780C10D7032336E88F3442B42361F4A66011"); byte publicKeyType = 0x01; var publicKey = Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"); // Alice CompactInteger nonce = 4; byte moduleIndex = 0x04; byte callIndex = 0x00; var bytes = new List <byte>(); bytes.AddRange(Utils.GetPublicKeyFrom("5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM")); CompactInteger amount = 4321; bytes.AddRange(amount.Encode()); var parameters = bytes.ToArray(); var genesisHash = Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9"); var startEra = Utils.HexToByteArray( "0xcfa2f9c52f94bc50658735d0f18f72590c981fdc15657636a99c437553c53253"); // CurrentBlock 780, startErar 778 ulong currentBlockNumber = 10; CompactInteger tip = 1234; //var Era = new Era(64, 10, false); // mocked signature var signature = Utils.HexToByteArray( "0x726ba1fab06d3e1bf6abfa0d5af85e25f2a970e11384162b7caf83935c58f769b6fef3b83a29ffd8d813a037d01cd6bcb21beaa88e9a18b3abe366b0458a8a82"); var method = new Method(moduleIndex, callIndex, parameters); var era = new Era(Constants.ExtrinsicEraPeriodDefault, currentBlockNumber, currentBlockNumber == 0 ? true : false); var genesis = new Hash(); genesis.Create(genesisHash); var startEraHash = new Hash(); startEraHash.Create(startEra); var uncheckedExtrinsic = new UnCheckedExtrinsic(true, Account.Build(KeyType.Sr25519, new byte[0], publicKey), method, era, nonce, tip, genesis, startEraHash); var balanceTransfer = "0x2d0284d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01726ba1fab06d3e1bf6abfa0d5af85e25f2a970e11384162b7caf83935c58f769b6fef3b83a29ffd8d813a037d01cd6bcb21beaa88e9a18b3abe366b0458a8a82a5001049130400278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e8543"; uncheckedExtrinsic.AddPayloadSignature(signature); Assert.AreEqual(Utils.HexToByteArray(balanceTransfer), uncheckedExtrinsic.Encode()); var payload = uncheckedExtrinsic.GetPayload(_runtime).Encode(); var simpleSign = Sr25519v091.SignSimple(publicKey, privatKey, payload); Assert.True(Sr25519v091.Verify(simpleSign, publicKey, payload)); Assert.True(Sr25519v091.Verify(signature, publicKey, payload)); }
/// <summary> /// Generates and loads code for the specified inputs. /// </summary> /// <param name="inputs">The assemblies to generate code for.</param> public IReadOnlyList <GeneratedAssembly> GenerateAndLoadForAssemblies(params Assembly[] inputs) { if (inputs == null) { throw new ArgumentNullException(nameof(inputs)); } var results = new List <GeneratedAssembly>(); var timer = Stopwatch.StartNew(); var emitDebugSymbols = false; foreach (var input in inputs) { if (!emitDebugSymbols) { emitDebugSymbols |= RuntimeVersion.IsAssemblyDebugBuild(input); } RegisterGeneratedCodeTargets(input); var cached = TryLoadGeneratedAssemblyFromCache(input); if (cached != null) { results.Add(cached); } } var grainAssemblies = inputs.Where(ShouldGenerateCodeForAssembly).ToList(); if (grainAssemblies.Count == 0) { // Already up to date. return(results); } try { // Generate code for newly loaded assemblies. var generatedSyntax = GenerateForAssemblies(grainAssemblies, true); CachedAssembly generatedAssembly; if (generatedSyntax.Syntax != null) { generatedAssembly = CompileAndLoad(generatedSyntax, emitDebugSymbols); if (generatedAssembly != null) { results.Add(generatedAssembly); } } else { generatedAssembly = new CachedAssembly { Loaded = true }; } foreach (var assembly in generatedSyntax.SourceAssemblies) { CompiledAssemblies.AddOrUpdate( assembly.GetName().FullName, generatedAssembly, (_, __) => generatedAssembly); } if (Logger.IsVerbose2) { Logger.Verbose2( ErrorCode.CodeGenCompilationSucceeded, "Generated code for {0} assemblies in {1}ms", generatedSyntax.SourceAssemblies.Count, timer.ElapsedMilliseconds); } return(results); } catch (Exception exception) { var assemblyNames = string.Join("\n", grainAssemblies.Select(_ => _.GetName().FullName)); var message = $"Exception generating code for input assemblies:\n{assemblyNames}\nException: {LogFormatter.PrintException(exception)}"; Logger.Warn(ErrorCode.CodeGenCompilationFailed, message, exception); throw; } }
internal void TestConstructorNull(RuntimeVersion version, BundleArch arch, string uninstallCommand, string displayName) { Action action = () => new Bundle <RuntimeVersion>(version, arch, uninstallCommand, displayName); action.Should().Throw <ArgumentNullException>(); }
internal void TestToString(RuntimeVersion version, BundleArch arch) { new Bundle <RuntimeVersion>(version, arch, TestUninstallCommand1, TestDisplayName1).ToString() .Should().Be($"{version.ToString()} ({arch.ToString().ToLower()})"); }
public CompilerSettings () { StdLib = true; Target = Target.Exe; TargetExt = ".exe"; Platform = Platform.AnyCPU; Version = LanguageVersion.Default; VerifyClsCompliance = true; Optimize = true; Encoding = Encoding.UTF8; LoadDefaultReferences = true; StdLibRuntimeVersion = RuntimeVersion.v4; WarningLevel = 4; if (Environment.OSVersion.Platform == PlatformID.Win32NT) TabSize = 4; else TabSize = 8; AssemblyReferences = new List<string> (); AssemblyReferencesAliases = new List<Tuple<string, string>> (); Modules = new List<string> (); ReferencesLookupPaths = new List<string> (); conditional_symbols = new List<string> (); // // Add default mcs define // conditional_symbols.Add ("__MonoCS__"); source_files = new List<SourceFile> (); }
public void DmogCreateMortalAliceTest1() { var _runtime = new RuntimeVersion { SpecVersion = 1, TransactionVersion = 1 }; Constants.AddressVersion = 0; //length: 104[2] //signatureVersion: 0x84 //sendPublicKey: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY[0xD43593C715FDD31C61141ABD04A99FD6822C8558854CCDE39A5684E7A56DA27D] //sendPublicKeyType: 0x01 //signature: 0x448082984004E4DC7CB964EBA2EB7201C5686D80E666944E2AA01C2BE95EAA5BE9D547DA63616A82631E87E4078A647FBD07920F97C8EA0993207C0FBDD2A98E //era: 0x1503 //nonce: 5[1] //tip: 0[1] //moduleIndex: 0x0602 //[ // { // isSigned: true, // method: // { // args:[], // method: createMogwai, // section: dmog // }, // era: // { // MortalEra: // { // period: 64, // phase: 49 // } // }, // nonce: 5, // signature: 0x448082984004e4dc7cb964eba2eb7201c5686d80e666944e2aa01c2be95eaa5be9d547da63616a82631e87e4078a647fbd07920f97c8ea0993207c0fbdd2a98e, // signer: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY, // tip: 0 // } //] //0xcd36f4e312289c56a3d9a464cc9b555e4f3634cd91409a7e05de58f37f9e0289 // [{ "signature":{ "signer":"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY","signature":{ "Sr25519":"0x448082984004e4dc7cb964eba2eb7201c5686d80e666944e2aa01c2be95eaa5be9d547da63616a82631e87e4078a647fbd07920f97c8ea0993207c0fbdd2a98e"},"era":{ "MortalEra":"0x1503"},"nonce":5,"tip":0},"method":{ "callIndex":"0x0602","args":{ } } }] // { block: { header: { parentHash: 0xaad3e1fd9da755971ccb9e07bd7cd4c335dffc236fd03a870178c211ce15ea06, number: 1587, stateRoot: 0x90469b87f5e818c5c8496a188997a057d14948fb421c62bb64eea52c442bde0f, extrinsicsRoot: 0x9882c28bc845ac3a17dcb244a5f1eaaf470ce43da24693cf9ef2fe1352da319f, digest: { logs:[{ "PreRuntime":[1634891105,"0x4457e60f00000000"]}, { "Seal":[1634891105,"0x42f94aef7c67e271aab99da484f83dda673cf5ecc0fc1a796aa2a06d0350d67afbf398fcf936d1574ccd89fef9397d09070921238e7c1f5742db795316084889"]}]} }, extrinsics:[{ "signature":{ "signer":"5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM","signature":{ "Ed25519":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},"era":{ "ImmortalEra":"0x00"},"nonce":0,"tip":0},"method":{ "callIndex":"0x0200","args":{ "now":1600523160000} } }]}, justification: 0x} var privatKey = Utils.HexToByteArray( "0x33A6F3093F158A7109F679410BEF1A0C54168145E0CECB4DF006C1C2FFFB1F09925A225D97AA00682D6A59B95B18780C10D7032336E88F3442B42361F4A66011"); //byte publicKeyType = 0x01; var publicKey = Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY"); // Alice CompactInteger nonce = 5; byte moduleIndex = 0x06; byte callIndex = 0x02; var parameters = new byte[0]; var genesisHash = Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9"); var currentBlockHash = Utils.HexToByteArray("0xdce5a3ddc16196c00041d716e0cca8a8bf88b8aeebdb2714778fcdc0fe20079f"); ; var era = new Era(64, 49, false); //var blockHash = era.EraStart(1587); CompactInteger tip = 0; // mocked signature var signature = Utils.HexToByteArray( "0x448082984004e4dc7cb964eba2eb7201c5686d80e666944e2aa01c2be95eaa5be9d547da63616a82631e87e4078a647fbd07920f97c8ea0993207c0fbdd2a98e"); var method = new Method(moduleIndex, callIndex, parameters); var genesis = new Hash(); genesis.Create(genesisHash); var currentBlock = new Hash(); currentBlock.Create(currentBlockHash); var uncheckedExtrinsic = new UnCheckedExtrinsic(true, Account.Build(KeyType.Sr25519, new byte[0], publicKey), method, era, nonce, tip, genesis, currentBlock); var dmogCreateMortal = "0xa10184d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01448082984004e4dc7cb964eba2eb7201c5686d80e666944e2aa01c2be95eaa5be9d547da63616a82631e87e4078a647fbd07920f97c8ea0993207c0fbdd2a98e150314000602"; uncheckedExtrinsic.AddPayloadSignature(signature); //var uncheckedExtrinsicStr = Utils.Bytes2HexString(uncheckedExtrinsic.Encode()); Assert.AreEqual(Utils.HexToByteArray(dmogCreateMortal), uncheckedExtrinsic.Encode()); var payload = uncheckedExtrinsic.GetPayload(_runtime).Encode(); //var payloadStr = Utils.Bytes2HexString(payload); if (payload.Length > 256) { payload = HashExtension.Blake2(payload, 256); } var simpleSign = Sr25519v091.SignSimple(publicKey, privatKey, payload); //var simpleSignStr = Utils.Bytes2HexString(simpleSign); Assert.True(Sr25519v091.Verify(simpleSign, publicKey, payload)); Assert.True(Sr25519v091.Verify(signature, publicKey, payload)); }
public CompilerSettings () { StdLib = true; Target = Target.Exe; TargetExt = ".exe"; Platform = Platform.AnyCPU; Version = LanguageVersion.Default; VerifyClsCompliance = true; Optimize = true; Encoding = Encoding.UTF8; LoadDefaultReferences = true; StdLibRuntimeVersion = RuntimeVersion.v4; AssemblyReferences = new List<string> (); AssemblyReferencesAliases = new List<Tuple<string, string>> (); Modules = new List<string> (); ReferencesLookupPaths = new List<string> (); conditional_symbols = new List<string> (); // // Add default mcs define // conditional_symbols.Add ("__MonoCS__"); source_files = new List<CompilationSourceFile> (); LaunchDebugger = false; }
public void BalanceTransferCreateMortalAccountToAliceTest1() { var _runtime = new RuntimeVersion { SpecVersion = 1, TransactionVersion = 1 }; Constants.AddressVersion = 0; // 0x310284278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e007c9777cf14fe0e14e8aef019695043be2fd153a75ff3381f4cc4850755d537b1a9d7920e509ee2e4e1f244dad670dc44ec3fc24388181e6465fdda13d59ae70063001c000400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d02890700 // sender 5FfBQ3kwXrbdyoqLPvcXRp7ikWydXawpNs2Ceu3WwFdhZ8W4 // recent blocks 15,689 0xf8438a058c66ab33628249459d1f0bc8114c6550d3ddea45351a96cbf2999813 // nonce 7 // receiver 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY // Lifetime 12 //length: 140[2] //signatureVersion: 0x84 //sendPublicKey: 5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM[0x278117FC144C72340F67D0F2316E8386CEFFBF2B2428C9C51FEF7C597F1D426E] //sendPublicKeyType: 0x00 //signature: 0x7C9777CF14FE0E14E8AEF019695043BE2FD153A75FF3381F4CC4850755D537B1A9D7920E509EE2E4E1F244DAD670DC44EC3FC24388181E6465FDDA13D59AE700 //era: 0x6300 //nonce: 7[1] //tip: 0[1] //moduleIndex: 0x0400 //destPublicKey: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY[0xD43593C715FDD31C61141ABD04A99FD6822C8558854CCDE39A5684E7A56DA27D] //amount: 123456[4] var privatKey = Utils.HexToByteArray( "0xf5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"); var publicKey = Utils.HexToByteArray("0x278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"); var account = Account.Build(KeyType.Ed25519, privatKey, publicKey); var bytes = new List <byte>(); bytes.AddRange(Utils.GetPublicKeyFrom("5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY")); CompactInteger amount = 123456; bytes.AddRange(amount.Encode()); var method = new Method(0x04, 0x00, bytes.ToArray()); var era = Era.Create(12, 15686); CompactInteger nonce = 7; CompactInteger tip = 0; var genesis = new Hash(); genesis.Create(Utils.HexToByteArray("0x9b443ea9cd42d9c3e0549757d029d28d03800631f9a9abf1d96d0c414b9aded9")); var startEra = new Hash(); startEra.Create( Utils.HexToByteArray( "0x4c4e0d1594e526c2392e7b6306f890fd0705085a5f83f9114caebb369bc1511f")); // FinalizedHead 15686 // mocked signature var signature = Utils.HexToByteArray( "0x7C9777CF14FE0E14E8AEF019695043BE2FD153A75FF3381F4CC4850755D537B1A9D7920E509EE2E4E1F244DAD670DC44EC3FC24388181E6465FDDA13D59AE700"); var uncheckedExtrinsic = new UnCheckedExtrinsic(true, account, method, era, nonce, tip, genesis, startEra); uncheckedExtrinsic.AddPayloadSignature(signature); var balanceTransferNode = "0x310284278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e007c9777cf14fe0e14e8aef019695043be2fd153a75ff3381f4cc4850755d537b1a9d7920e509ee2e4e1f244dad670dc44ec3fc24388181e6465fdda13d59ae70063001c000400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d02890700"; //var uncheckedExtrinsicStr = Utils.Bytes2HexString(uncheckedExtrinsic.Encode()); Assert.AreEqual(Utils.HexToByteArray(balanceTransferNode), uncheckedExtrinsic.Encode()); var payload = uncheckedExtrinsic.GetPayload(_runtime).Encode(); //var payloadStr = Utils.Bytes2HexString(payload); if (payload.Length > 256) { payload = HashExtension.Blake2(payload, 256); } var simpleSign = Chaos.NaCl.Ed25519.Sign(payload, account.PrivateKey); //var simpleSignStr = Utils.Bytes2HexString(simpleSign); Assert.True(Chaos.NaCl.Ed25519.Verify(simpleSign, payload, publicKey)); Assert.True(Chaos.NaCl.Ed25519.Verify(signature, payload, publicKey)); var extrinsic = RequestGenerator.SubmitExtrinsic(true, account, method, era, nonce, tip, genesis, startEra, _runtime); Assert.True(Chaos.NaCl.Ed25519.Verify(extrinsic.Signature, extrinsic.GetPayload(_runtime).Encode(), publicKey)); Assert.True(Chaos.NaCl.Ed25519.Verify(signature, extrinsic.GetPayload(_runtime).Encode(), publicKey)); }
public CompilerSettings () { StdLib = true; Target = Target.Exe; TargetExt = ".exe"; Platform = Platform.AnyCPU; Version = LanguageVersion.Default; VerifyClsCompliance = true; Optimize = true; Encoding = Encoding.Default; LoadDefaultReferences = true; StdLibRuntimeVersion = RuntimeVersion.v4; AssemblyReferences = new List<string> (); AssemblyReferencesAliases = new List<Tuple<string, string>> (); Modules = new List<string> (); ReferencesLookupPaths = new List<string> (); }
public void BalanceTransferAccountTest() { var _runtime = new RuntimeVersion { SpecVersion = 259, TransactionVersion = 1 }; Constants.AddressVersion = 1; // 797447 --> 0xe7b99ee484e6369dd3c2a66d6306bffde5048ddf2090e990faae83e66f5275f4 //var accountZurich = Account.Build( // KeyType.Ed25519, // Utils.HexToByteArray( // "0xf5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"), // Utils.GetPublicKeyFrom("5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM")); var privatKey = Utils.HexToByteArray( "0xf5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"); var publicKey = Utils.HexToByteArray("0x278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"); //var receiverPublicKey = // Utils.Bytes2HexString(Utils.GetPublicKeyFrom("5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH")); var referenceExtrinsic = "0x450284ff278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e00d6a14aac2c0da8330f67a04f9ff4154b3c31d02529eaf112a23d59f5a5e1d1766efbb7f4dd56e6ed84a543de94342bdec8c80bdac62373d22387ea980a42270f36000c000600ff4d2b23d27e1f6e3733d7ebf3dc04f3d5d0010cd18038055f9bbbab48f460b61e0b00b04e2bde6f"; // "0x450284FF278117FC144C72340F67D0F2316E8386CEFFBF2B2428C9C51FEF7C597F1D426E00D6A14AAC2C0DA8330F67A04F9FF4154B3C31D02529EAF112A23D59F5A5E1D1766EFBB7F4DD56E6ED84A543DE94342BDEC8C80BDAC62373D22387EA980A42270F35000C000600FF4D2B23D27E1F6E3733D7EBF3DC04F3D5D0010CD18038055F9BBBAB48F460B61E0B00B04E2BDE6F" // "0x450284FF278117FC144C72340F67D0F2316E8386CEFFBF2B2428C9C51FEF7C597F1D426E00D6A14AAC2C0DA8330F67A04F9FF4154B3C31D02529EAF112A23D59F5A5E1D1766EFBB7F4DD56E6ED84A543DE94342BDEC8C80BDAC62373D22387EA980A42270F36000C000600FF4D2B23D27E1F6E3733D7EBF3DC04F3D5D0010CD18038055F9BBBAB48F460B61E0B00B04E2BDE6F" //var bytes = new List<byte>(); //bytes.Add(0xFF); //bytes.AddRange(Utils.GetPublicKeyFrom("5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH")); //CompactInteger amount = 123000000000000; //bytes.AddRange(amount.Encode()); //byte[] parameters = bytes.ToArray(); ////var method = new Method(0x06, 0x00, parameters); var accountId = new AccountId(); accountId.Create(Utils.GetPublicKeyFrom("5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH")); var balance = new Balance(); balance.Create(123000000000000); var extrinsic = ExtrinsicCall.BalanceTransfer(accountId, balance); var method = new Method(0x06, 0x00, extrinsic.Encode()); //var era = Era.Create(64, 797443); var era = new Era(128, 3, false); CompactInteger nonce = 3; CompactInteger tip = 0; var genesis = new Hash(); genesis.Create(Utils.HexToByteArray("0x778c4bb53621114939206c9c9874c5fa1da38d2e14293d053a0b8dd6125b4042")); var startEra = new Hash(); startEra.Create(Utils.HexToByteArray("0xd5a0f4467c6c8885b531f12028789e83c2e473b8d2d44edbc09811fd2f903f1f")); var uncheckedExtrinsic = new UnCheckedExtrinsic(true , Account.Build(KeyType.Ed25519, privatKey, publicKey) , method , era , nonce , tip , genesis , startEra // currentblock ); //uncheckedExtrinsic.AddPayloadSignature(Utils.HexToByteArray("0xd6a14aac2c0da8330f67a04f9ff4154b3c31d02529eaf112a23d59f5a5e1d1766efbb7f4dd56e6ed84a543de94342bdec8c80bdac62373d22387ea980a42270f")); var payload = uncheckedExtrinsic.GetPayload(_runtime).Encode(); /// Payloads longer than 256 bytes are going to be `blake2_256`-hashed. if (payload.Length > 256) { payload = HashExtension.Blake2(payload, 256); } byte[] signature; signature = Chaos.NaCl.Ed25519.Sign(payload, privatKey); //var signatureStr = Utils.Bytes2HexString(signature); uncheckedExtrinsic.AddPayloadSignature(signature); var uncheckedExtrinsicStr = Utils.Bytes2HexString(uncheckedExtrinsic.Encode()); Assert.AreEqual(referenceExtrinsic, uncheckedExtrinsicStr.ToLower()); //{ // isSigned: true, // method: // { // args:[ // 5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH, // 123.0000 mUnit // ], // method: transfer, // section: balances // }, // era: // { // MortalEra: // { // period: 128, // phase: 3 // } // }, // nonce: 3, // signature: 0xd6a14aac2c0da8330f67a04f9ff4154b3c31d02529eaf112a23d59f5a5e1d1766efbb7f4dd56e6ed84a543de94342bdec8c80bdac62373d22387ea980a42270f, // signer: 5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM, // tip: 0 //} //{ // "Signed": true, // "TransactionVersion": 4, // "Account": { // "KeyType": 0, // "Address": "5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM", // "PublicKey": "J4EX/BRMcjQPZ9DyMW6Dhs7/vyskKMnFH+98WX8dQm4=" // }, // "Era": { // "IsImmortal": false, // "Period": 128, // "Phase": 3 // }, // "Nonce": { // "Value": 3 // }, // "Tip": { // "Value": 0 // }, // "Method": { // "ModuleName": "Balances", // "ModuleIndex": 6, // "CallName": "transfer", // "CallIndex": 0, // "Arguments": [ // { // "Name": "dest", // "Type": "<T::Lookup as StaticLookup>::Source", // "Value": "5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH" // }, // { // "Name": "value", // "Type": "Compact<T::Balance>", // "Value": { // "Value": 123000000000000 // } // } // ], // "Parameters": "/00rI9J+H243M9fr89wE89XQAQzRgDgFX5u7q0j0YLYeCwCwTivebw==" // }, // "Signature": "1qFKrCwNqDMPZ6BPn/QVSzwx0CUp6vESoj1Z9aXh0XZu+7f03Vbm7YSlQ96UNCveyMgL2sYjc9Ijh+qYCkInDw==" //} }
public CompilerSettings () { StdLib = true; Target = Target.Exe; TargetExt = ".exe"; Platform = Platform.AnyCPU; Version = LanguageVersion.Default; VerifyClsCompliance = true; Encoding = Encoding.UTF8; LoadDefaultReferences = true; StdLibRuntimeVersion = RuntimeVersion.v4; WarningLevel = 4; // Default to 1 or mdb files would be platform speficic TabSize = 1; AssemblyReferences = new List<string> (); AssemblyReferencesAliases = new List<Tuple<string, string>> (); Modules = new List<string> (); ReferencesLookupPaths = new List<string> (); conditional_symbols = new List<string> (); // // Add default mcs define // conditional_symbols.Add ("__MonoCS__"); source_files = new List<SourceFile> (); }
public string GenerateScript(byte[] serialized_object, string entry_class_name, string additional_script, RuntimeVersion version, bool enable_debug) { if (version != RuntimeVersion.None) { throw new ArgumentException("VBA generator does not support version detection"); } if (enable_debug) { throw new ArgumentException("VBA generator does not support debug output"); } string hex_encoded = BitConverter.ToString(serialized_object).Replace("-", ""); StringBuilder builder = new StringBuilder(); for (int i = 0; i < hex_encoded.Length; i++) { if (i == 0) { builder.Append(" serialized_obj = \""); } else if (i % 100 == 0) { builder.Append("\""); builder.AppendLine(); builder.Append(" serialized_obj = serialized_obj & \""); } builder.Append(hex_encoded[i]); } builder.Append("\""); return(Properties.Resources.vba_template.Replace("%SERIALIZED%", builder.ToString()).Replace("%CLASS%", entry_class_name).Replace("%ADDEDSCRIPT%", additional_script)); }