UNPKG

@hashgraph/sdk

Version:
3 lines (2 loc) 6.08 kB
import"@hashgraph/proto";import e from"../Hbar.js";import t from"./AccountId.js";import i,{TRANSACTION_REGISTRY as o,DEFAULT_RECORD_THRESHOLD as r,DEFAULT_AUTO_RENEW_PERIOD as s}from"../transaction/Transaction.js";import n from"../Duration.js";import a from"long";import u from"../Key.js";import c from"../PrivateKey.js";import d from"../EvmAddress.js";import l from"../PublicKey.js";class h extends i{constructor(e={}){super(),this._key=null,this._initialBalance=null,this._sendRecordThreshold=r,this._receiveRecordThreshold=r,this._receiverSignatureRequired=!1,this._proxyAccountId=null,this._autoRenewPeriod=new n(s),this._accountMemo=null,this._maxAutomaticTokenAssociations=null,this._stakedAccountId=null,this._stakedNodeId=null,this._declineStakingReward=!1,this._alias=null,null!=e.key&&this.setKeyWithoutAlias(e.key),null!=e.receiverSignatureRequired&&this.setReceiverSignatureRequired(e.receiverSignatureRequired),null!=e.initialBalance&&this.setInitialBalance(e.initialBalance),null!=e.proxyAccountId&&this.setProxyAccountId(e.proxyAccountId),null!=e.autoRenewPeriod&&this.setAutoRenewPeriod(e.autoRenewPeriod),null!=e.accountMemo&&this.setAccountMemo(e.accountMemo),null!=e.maxAutomaticTokenAssociations&&this.setMaxAutomaticTokenAssociations(e.maxAutomaticTokenAssociations),null!=e.stakedAccountId&&this.setStakedAccountId(e.stakedAccountId),null!=e.stakedNodeId&&this.setStakedNodeId(e.stakedNodeId),null!=e.declineStakingReward&&this.setDeclineStakingReward(e.declineStakingReward),null!=e.alias&&this.setAlias(e.alias)}static _fromProtobuf(o,r,s,n,a){const c=a[0].cryptoCreateAccount;let l;return null!=c.alias&&c.alias.length>0&&20===c.alias.length&&(l=d.fromBytes(c.alias)),i._fromProtobufTransactions(new h({key:null!=c.key?u._fromProtobufKey(c.key):void 0,initialBalance:null!=c.initialBalance?e.fromTinybars(c.initialBalance):void 0,receiverSignatureRequired:null!=c.receiverSigRequired?c.receiverSigRequired:void 0,proxyAccountId:null!=c.proxyAccountID?t._fromProtobuf(c.proxyAccountID):void 0,autoRenewPeriod:null!=c.autoRenewPeriod&&null!=c.autoRenewPeriod.seconds?c.autoRenewPeriod.seconds:void 0,accountMemo:null!=c.memo?c.memo:void 0,maxAutomaticTokenAssociations:null!=c.maxAutomaticTokenAssociations?c.maxAutomaticTokenAssociations:void 0,stakedAccountId:null!=c.stakedAccountId?t._fromProtobuf(c.stakedAccountId):void 0,stakedNodeId:null!=c.stakedNodeId?c.stakedNodeId:void 0,declineStakingReward:1==c.declineReward,alias:l}),o,r,s,n,a)}get key(){return this._key}setKey(e){return this._requireNotFrozen(),this._key=e,this}setECDSAKeyWithAlias(e){this.setKeyWithoutAlias(e);const t=this._deriveECDSAKeyAlias(e);return this.setAlias(t),this}setKeyWithAlias(e,t){this.setKeyWithoutAlias(e);const i=this._deriveECDSAKeyAlias(t);return this.setAlias(i),this}setKeyWithoutAlias(e){return this._requireNotFrozen(),this._key=e,this}get initialBalance(){return this._initialBalance}setInitialBalance(t){return this._requireNotFrozen(),this._initialBalance=t instanceof e?t:new e(t),this}get receiverSignatureRequired(){return this._receiverSignatureRequired}setReceiverSignatureRequired(e){return this._requireNotFrozen(),this._receiverSignatureRequired=e,this}get proxyAccountId(){return this._proxyAccountId}setProxyAccountId(e){return this._requireNotFrozen(),this._proxyAccountId=e,this}get autoRenewPeriod(){return this._autoRenewPeriod}setAutoRenewPeriod(e){return this._requireNotFrozen(),this._autoRenewPeriod=e instanceof n?e:new n(e),this}get accountMemo(){return this._accountMemo}setAccountMemo(e){return this._requireNotFrozen(),this._accountMemo=e,this}get maxAutomaticTokenAssociations(){return this._maxAutomaticTokenAssociations}setMaxAutomaticTokenAssociations(e){return this._requireNotFrozen(),this._maxAutomaticTokenAssociations="number"==typeof e?a.fromNumber(e):e,this}get stakedAccountId(){return this._stakedAccountId}setStakedAccountId(e){return this._requireNotFrozen(),this._stakedAccountId="string"==typeof e?t.fromString(e):e,this}get stakedNodeId(){return this._stakedNodeId}setStakedNodeId(e){return this._requireNotFrozen(),this._stakedNodeId=a.fromValue(e),this}get declineStakingRewards(){return this._declineStakingReward}setDeclineStakingReward(e){return this._requireNotFrozen(),this._declineStakingReward=e,this}get alias(){return this._alias}setAlias(e){if("string"==typeof e){if(!(e.startsWith("0x")&&42==e.length||40==e.length))throw new Error('evmAddress must be a valid EVM address with or without "0x" prefix');this._alias=d.fromString(e)}else this._alias=e;return this}_validateChecksums(e){null!=this._proxyAccountId&&this._proxyAccountId.validateChecksum(e)}_deriveECDSAKeyAlias(e){const t=e instanceof c&&"secp256k1"===e.type,i=e instanceof l&&"secp256k1"===e.type;if(t)return e.publicKey.toEvmAddress();if(i)return e.toEvmAddress();throw new Error("Invalid key for alias derivation provided: expected an ECDSA (secp256k1) PrivateKey or PublicKey.")}_execute(e,t){return e.crypto.createAccount(t)}_getTransactionDataCase(){return"cryptoCreateAccount"}_makeTransactionData(){let e=null;return null!=this._alias&&(e=this._alias.toBytes()),{key:null!=this._key?this._key._toProtobufKey():null,initialBalance:null!=this._initialBalance?this._initialBalance.toTinybars():null,autoRenewPeriod:this._autoRenewPeriod._toProtobuf(),proxyAccountID:null!=this._proxyAccountId?this._proxyAccountId._toProtobuf():null,receiveRecordThreshold:this._receiveRecordThreshold.toTinybars(),sendRecordThreshold:this._sendRecordThreshold.toTinybars(),receiverSigRequired:this._receiverSignatureRequired,memo:this._accountMemo,maxAutomaticTokenAssociations:null!=this._maxAutomaticTokenAssociations?this._maxAutomaticTokenAssociations.toInt():null,stakedAccountId:null!=this.stakedAccountId?this.stakedAccountId._toProtobuf():null,stakedNodeId:this.stakedNodeId,declineReward:this.declineStakingRewards,alias:e}}_getLogId(){return`AccountCreateTransaction:${this._transactionIds.current.validStart.toString()}`}}o.set("cryptoCreateAccount",h._fromProtobuf);export{h as default}; //# sourceMappingURL=AccountCreateTransaction.js.map