Пример #1
0
        static void Main(string[] args)
        {
            //Build the Matic Init Options
            maticInitOptions = new MaticInitOptions();
            maticInitOptions.DepositManagerAddress  = MaticConfiguration.DepositManagerAddress;
            maticInitOptions.RootChainAddress       = MaticConfiguration.RootChainAddress;
            maticInitOptions.WithdrawManagerAddress = MaticConfiguration.WithdrawManagerAddress;
            maticInitOptions.ParentProvider         = MaticConfiguration.ParentProvider;
            maticInitOptions.SyncerUrl     = MaticConfiguration.ParentProvider;
            maticInitOptions.WatcherUrl    = MaticConfiguration.WatcherUrl;
            maticInitOptions.MaticProvider = MaticConfiguration.Web3Provider;

            //Call A function Here
            string response = ApproveERC20TokensForDeposit().GetAwaiter().GetResult();

            Console.WriteLine(response);
            Console.ReadLine();
        }
Пример #2
0
        public Matic(MaticInitOptions options)
        {
            if (String.IsNullOrEmpty(options.MaticProvider))
            {
                throw new Exception("Matic Provider is required");
            }
            if (String.IsNullOrEmpty(options.ParentProvider))
            {
                throw new Exception("Parent provider is required");
            }

            //Assign the Web3 Provider Urls
            ParentProvider = options.ParentProvider;
            MaticProvider  = options.MaticProvider;

            //Define the Addresses For Matic
            RootChainContractAddress       = options.RootChainAddress;
            WithdrawManagerContractAddress = options.WithdrawManagerAddress;
            DepositManagerContractAddress  = options.DepositManagerAddress;

            //Define the Web3 Instances
            web3       = new Web3(MaticProvider);
            ParentWeb3 = new Web3(ParentProvider);

            //Create Root Chain Contract
            maticRootChainContract = new RootChainContract(ParentProvider, RootChainContractAddress);

            //Create Withdrawal Manger Contract
            maticWithrawalManagerContract = new WithdrawalManagerContract(MaticProvider, WithdrawManagerContractAddress);

            //Create Deposit Manager Contract
            maticDepositManagerContract = new DepositManagerContract(web3, DepositManagerContractAddress);

            //Assign the Syncer and Watcher Url
            SyncerUrl  = options.SyncerUrl;
            WatcherUrl = options.WatcherUrl;
        }