Ejemplo n.º 1
0
        public async Task RunAccountUninit()
        {
            KeyPair keys = await _tonClient.Crypto.GenerateRandomSignKeys();

            ResultOfEncodeMessage message = await _tonClient.Abi.EncodeMessage(new ParamsOfEncodeMessage
            {
                Abi     = TestsEnv.Packages.Hello.Abi,
                CallSet = new CallSet {
                    FunctionName = "constructor"
                },
                DeploySet = new DeploySet {
                    Tvc = TestsEnv.Packages.Hello.Tvc
                },
                Signer = new Signer.Keys {
                    KeysAccessor = keys
                }
            });

            ResultOfRunExecutor result = await _tonClient.Tvm.RunExecutor(new ParamsOfRunExecutor
            {
                Message = message.Message,
                Account = new AccountForExecutor.Uninit(),
                ReturnUpdatedAccount = true
            });

            ResultOfParse parsed = await _tonClient.Boc.ParseAccount(new ParamsOfParse
            {
                Boc = result.Account
            });

            parsed.Parsed.Get <string>("id").Should().Be(message.Address);
            parsed.Parsed.Get <string>("acc_type_name").Should().Be("Active");
        }
Ejemplo n.º 2
0
        public async Task RunExecutor()
        {
            async Task <string> Run(ResultOfEncodeMessage message, Abi abi, string account)
            {
                //act
                ResultOfRunExecutor resultOfRun = await _tonClient.Tvm.RunExecutor(new ParamsOfRunExecutor
                {
                    Message = message.Message,
                    Abi     = abi,
                    Account = new AccountForExecutor.Account
                    {
                        Boc = account
                    },
                    ReturnUpdatedAccount = true
                });

                resultOfRun.Transaction.Get <string>("in_msg").Should().Be(message.MessageId);
                resultOfRun.Fees.TotalAccountFees.Should().BePositive();

                return(resultOfRun.Account);
            }

            var result = await TestRunMessage(Run);

            result.Should().Be(SubscribeParamsPubkey);
        }
Ejemplo n.º 3
0
        public async Task RunAccountNone()
        {
            const string message =
                "te6ccgEBAQEAXAAAs0gAV2lB0HI8/VEO/pBKDJJJeoOcIh+dL9JzpmRzM8PfdicAPGNEGwRWGaJsR6UYmnsFVC2llSo1ZZN5mgUnCiHf7ZaUBKgXyAAGFFhgAAAB69+UmQS/LjmiQA==";

            ResultOfRunExecutor result = await _tonClient.Tvm.RunExecutor(new ParamsOfRunExecutor
            {
                Message = message,
                Account = new AccountForExecutor.None(),
                SkipTransactionCheck = true,
                ReturnUpdatedAccount = true
            });

            ResultOfParse parsed = await _tonClient.Boc.ParseAccount(new ParamsOfParse
            {
                Boc = result.Account
            });

            parsed.Parsed.Get <string>("id").Should().Be("0:f18d106c11586689b11e946269ec1550b69654a8d5964de668149c28877fb65a");
            parsed.Parsed.Get <string>("acc_type_name").Should().Be("Uninit");
        }