public async Task TestDeployContract() { byte[] script; var manifest = new ContractManifest() { Permissions = new[] { ContractPermission.DefaultPermission }, Abi = new ContractAbi() { Events = new ContractEventDescriptor[0], Methods = new ContractMethodDescriptor[0] }, Groups = new ContractGroup[0], Trusts = WildcardContainer <ContractPermissionDescriptor> .Create(), SupportedStandards = new string[] { "NEP-10" }, Extra = null, }; using (ScriptBuilder sb = new ScriptBuilder()) { sb.EmitDynamicCall(NativeContract.ContractManagement.Hash, "deploy", new byte[1], manifest.ToJson().ToString()); script = sb.ToArray(); } UT_TransactionManager.MockInvokeScript(rpcClientMock, script, new ContractParameter()); ContractClient contractClient = new ContractClient(rpcClientMock.Object); var result = await contractClient.CreateDeployContractTxAsync(new byte[1], manifest, keyPair1); Assert.IsNotNull(result); }
public async Task TestDeployContract() { byte[] script; var manifest = new ContractManifest() { Permissions = new[] { ContractPermission.DefaultPermission }, Abi = new ContractAbi() { Hash = new byte[1].ToScriptHash(), Events = new ContractEventDescriptor[0], Methods = new ContractMethodDescriptor[0] }, Groups = new ContractGroup[0], SafeMethods = WildcardContainer <string> .Create(), Trusts = WildcardContainer <UInt160> .Create(), SupportedStandards = new string[] { "NEP-10" }, Extra = null, }; manifest.Features = ContractFeatures.HasStorage | ContractFeatures.Payable; using (ScriptBuilder sb = new ScriptBuilder()) { sb.EmitSysCall(ApplicationEngine.System_Contract_Create, new byte[1], manifest.ToString()); script = sb.ToArray(); } UT_TransactionManager.MockInvokeScript(rpcClientMock, script, new ContractParameter()); ContractClient contractClient = new ContractClient(rpcClientMock.Object); var result = await contractClient.CreateDeployContractTxAsync(new byte[1], manifest, keyPair1); Assert.IsNotNull(result); }