private static void OnPingTimerEvent(Object source, System.Timers.ElapsedEventArgs e) { // When the timer event is fired create a ping transaction AppServices.createSignPublishTransaction( AppModelConfig.TIMER.abi, pingTimerContractAdr, pingTimerSigningPrivateKey, "ping" ); }
public object Put(AdjustDaylightSaving request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.TRUST.abi, AppServices.GetEcosystemAdr(request.ContractAdr).TrustContractAdr, request.SigningPrivateKey, "adjustDaylightSaving" )); }
public object Put(RetirePolicy request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.POLICY.abi, AppServices.GetEcosystemAdr(request.ContractAdr).PolicyContractAdr, request.SigningPrivateKey, "retirePolicy", request.PolicyHash.HexToByteArray() )); }
public object Post(CreateBond request) { // Submit and return the transaction hash of the broadcasted transaction return AppServices.createSignPublishTransaction( AppModelConfig.BOND.abi, AppServices.GetEcosystemAdr(request.ContractAdr).BondContractAdr, request.SigningPrivateKey, "createBond", request.Principal, (AppModelConfig.isEmptyHash(request.SecurityReferenceHash) ? AppModelConfig.EMPTY_HASH.HexToByteArray() : request.SecurityReferenceHash.HexToByteArray()) ); }
public object Put(RetireAdjustor request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.TRUST, AppServices.GetEcosystemAdr(request.ContractAdr).TrustContractAdr, request.SigningPrivateKey, "retireAdjustor", request.AdjustorHash.HexToByteArray() )); }
public object Put(RotateAuthKey request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.EXTACCESSI.abi, request.ContractAdr, request.SigningPrivateKey, "rotateKey", null )); }
// ******************************************************************************************** // *** ECOSYSTEM TRANSACTIONS - Set Working Capital expenses, Adjust daylight saving, etc. // ******************************************************************************************** public object Put(SetWcExpenses request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.TRUST.abi, AppServices.GetEcosystemAdr(request.ContractAdr).TrustContractAdr, request.SigningPrivateKey, "setWcExpenses", request.Amount )); }
public object Put(AddAuthKey request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.EXTACCESSI, request.ContractAdr, request.SigningPrivateKey, "addKey", request.KeyToAddAdr )); }
public object Post(ProcessBankPaymentAdvice request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.BANK.abi, AppServices.GetEcosystemAdr(request.ContractAdr).BankContractAdr, request.SigningPrivateKey, "processPaymentAdvice", request.AdviceIdx, request.BankTransactionIdx )); }
public object Put(SetExpectedSettlementAmount request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.SETTLEMENT.abi, AppServices.GetEcosystemAdr(request.ContractAdr).SettlementContractAdr, request.SigningPrivateKey, "setExpectedSettlementAmount", request.SettlementHash.HexToByteArray(), request.AdjustorHash.HexToByteArray(), request.ExpectedSettlementAmount )); }
public object Post(CreateSettlement request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.SETTLEMENT.abi, AppServices.GetEcosystemAdr(request.ContractAdr).SettlementContractAdr, request.SigningPrivateKey, "createSettlement", request.AdjustorHash.HexToByteArray(), (AppModelConfig.isEmptyHash(request.PolicyHash) ? AppModelConfig.EMPTY_HASH.HexToByteArray() : request.PolicyHash.HexToByteArray()), (AppModelConfig.isEmptyHash(request.DocumentHash) ? AppModelConfig.EMPTY_HASH.HexToByteArray() : request.DocumentHash.HexToByteArray()) )); }
public object Put(UpdatePolicy request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.POLICY.abi, AppServices.GetEcosystemAdr(request.ContractAdr).PolicyContractAdr, request.SigningPrivateKey, "updatePolicy", request.AdjustorHash.HexToByteArray(), request.PolicyHash.HexToByteArray(), request.DocumentHash.HexToByteArray(), request.RiskPoints )); }
public object Post(CreateAdjustor request) { // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.TRUST, AppServices.GetEcosystemAdr(request.ContractAdr).TrustContractAdr, request.SigningPrivateKey, "createAdjustor", request.Owner, request.SettlementApprovalAmount, request.PolicyRiskPointLimit, request.ServiceAgreementHash.HexToByteArray() )); }
public object Put(PingTimer request) { string timerContractAdr = AppServices.GetEcosystemAdr(request.ContractAdr).TimerContractAdr; // Activate or deactivate the auto ping scheduling functionality AppServices.configureTimerPing(timerContractAdr, request.SigningPrivateKey, request.AutoSchedulePingDuration); // Submit and return the transaction hash of the broadcasted ping transaction return(AppServices.createSignPublishTransaction( AppModelConfig.TIMER.abi, timerContractAdr, request.SigningPrivateKey, "ping" )); }
public object Post(ProcessBankAccountCredit request) { // Convert the payment subject to a hash if it is a valid number if (uint.TryParse(request.PaymentSubject, out uint val) == true) { request.PaymentSubject = val.ToString("X64").EnsureHexPrefix(); } // Submit and return the transaction hash of the broadcasted transaction return(AppServices.createSignPublishTransaction( AppModelConfig.BANK.abi, AppServices.GetEcosystemAdr(request.ContractAdr).BankContractAdr, request.SigningPrivateKey, "processAccountCredit", request.BankTransactionIdx, (ulong)request.AccountType, request.PaymentAccountHashSender.HexToByteArray(), request.PaymentSubject.HexToByteArray(), request.CreditAmount )); }
public object Post(DeployContracts request) { // Deploy the library contract and await until the transaction has been mined TransactionHash libTransactionHash = AppServices.createSignDeployContract( AppModelConfig.LIB.abi, AppModelConfig.LIB.bytecode, request.SigningPrivateKey, null); TransactionResult libTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = libTransactionHash.Hash }); // Deploy the trust contract and await until the transaction has been mined TransactionHash trustTransactionHash = AppServices.createSignDeployContract( AppModelConfig.TRUST.abi, AppModelConfig.linkContractBytecode(AppModelConfig.TRUST.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, null); TransactionResult trustTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = trustTransactionHash.Hash }); // Deploy the pool contract TransactionHash poolTransactionHash = AppServices.createSignDeployContract( AppModelConfig.POOL.abi, AppModelConfig.linkContractBytecode(AppModelConfig.POOL.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, trustTransResult.ContractAddress); TransactionResult poolTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = poolTransactionHash.Hash }); // Deploy the bond contract TransactionHash bondTransactionHash = AppServices.createSignDeployContract( AppModelConfig.BOND.abi, AppModelConfig.linkContractBytecode(AppModelConfig.BOND.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, trustTransResult.ContractAddress); TransactionResult bondTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = bondTransactionHash.Hash }); // Deploy the bank contract TransactionHash bankTransactionHash = AppServices.createSignDeployContract( AppModelConfig.BANK.abi, AppModelConfig.linkContractBytecode(AppModelConfig.BANK.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, trustTransResult.ContractAddress); TransactionResult bankTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = bankTransactionHash.Hash }); // Deploy the policy contract TransactionHash policyTransactionHash = AppServices.createSignDeployContract( AppModelConfig.POLICY.abi, AppModelConfig.linkContractBytecode(AppModelConfig.POLICY.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, trustTransResult.ContractAddress); TransactionResult policyTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = policyTransactionHash.Hash }); // Deploy the claim contract TransactionHash settlementTransactionHash = AppServices.createSignDeployContract( AppModelConfig.SETTLEMENT.abi, AppModelConfig.linkContractBytecode(AppModelConfig.SETTLEMENT.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, trustTransResult.ContractAddress); TransactionResult settlementTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = settlementTransactionHash.Hash }); // Deploy the adjustor contract TransactionHash adjustorTransactionHash = AppServices.createSignDeployContract( AppModelConfig.ADJUSTOR.abi, AppModelConfig.linkContractBytecode(AppModelConfig.ADJUSTOR.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, trustTransResult.ContractAddress); TransactionResult adjustorTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = adjustorTransactionHash.Hash }); // Deploy the timer contract TransactionHash timerTransactionHash = AppServices.createSignDeployContract( AppModelConfig.TIMER.abi, AppModelConfig.linkContractBytecode(AppModelConfig.TIMER.bytecode, "Lib", libTransResult.ContractAddress), request.SigningPrivateKey, trustTransResult.ContractAddress); TransactionResult timerTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = timerTransactionHash.Hash }); // Submit and return the transaction hash of the broadcasted transaction TransactionHash initEcosytemHash = AppServices.createSignPublishTransaction( AppModelConfig.TRUST.abi, trustTransResult.ContractAddress, request.SigningPrivateKey, "initEcosystem", poolTransResult.ContractAddress, // pool bondTransResult.ContractAddress, // bond bankTransResult.ContractAddress, // bank policyTransResult.ContractAddress, // policy settlementTransResult.ContractAddress, // settlement adjustorTransResult.ContractAddress, // adjustor timerTransResult.ContractAddress, // timer request.IsWinterTime ); // Get the transaction result TransactionResult initTransResult = (TransactionResult)Get(new GetReceipt { TransactionHash = initEcosytemHash.Hash }); // Return the addresses of the newly created contracts return(new EcosystemContractAddresses { TrustContractAdr = trustTransResult.ContractAddress, PoolContractAdr = poolTransResult.ContractAddress, BondContractAdr = bondTransResult.ContractAddress, BankContractAdr = bankTransResult.ContractAddress, PolicyContractAdr = policyTransResult.ContractAddress, SettlementContractAdr = settlementTransResult.ContractAddress, AdjustorContractAdr = adjustorTransResult.ContractAddress, TimerContractAdr = timerTransResult.ContractAddress }); }