UNPKG

sunweb

Version:
2 lines 25 kB
module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}([function(e,t){e.exports=require("@babel/runtime/regenerator")},function(e,t){e.exports=require("@babel/runtime/helpers/asyncToGenerator")},function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t){e.exports=require("injectpromise")},function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return y}));var n=r(2),a=r.n(n),i=r(0),s=r.n(i),u=r(1),c=r.n(u),o=r(3),h=r.n(o),d=r(4),l=r.n(d),p=r(5),v=r.n(p);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(r,!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var y=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];h()(this,e),this.mainchain=t,this.sidechain=r,this.isAddress=this.mainchain.isAddress,this.utils=this.mainchain.utils,this.setMainGatewayAddress(n),this.setSideGatewayAddress(a),this.setChainId(i),this.injectPromise=v()(this),this.validator=this.mainchain.trx.validator;var s=this;this.sidechain.trx.sign=function(){return s.sign.apply(s,arguments)},this.sidechain.trx.multiSign=function(){return s.multiSign.apply(s,arguments)}}var t,r,n,a,i,u,o,d,p,f,y,m,b,x,w,k,P,T,K,j,O;return l()(e,[{key:"setMainGatewayAddress",value:function(e){if(!this.isAddress(e))throw new Error("Invalid main gateway address provided");this.mainGatewayAddress=e}},{key:"setSideGatewayAddress",value:function(e){if(!this.isAddress(e))throw new Error("Invalid side gateway address provided");this.sideGatewayAddress=e}},{key:"setChainId",value:function(e){if(!this.utils.isString(e)||!e)throw new Error("Invalid side chainId provided");this.chainId=e}},{key:"signTransaction",value:function(e,t){"string"==typeof e&&(e=this.utils.code.hexStr2byteArray(e));var r=this.utils.code.hexStr2byteArray(this.chainId),n=this.utils.code.hexStr2byteArray(t.txID).concat(r),a=this.sidechain.utils.ethersUtils.sha256(n),i=this.utils.crypto.ECKeySign(this.utils.code.hexStr2byteArray(a.replace(/^0x/,"")),e);return Array.isArray(t.signature)?t.signature.includes(i)||t.signature.push(i):t.signature=[i],t}},{key:"multiSign",value:(O=c()(s.a.mark((function e(){var t,r,n,a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=o.length>0&&void 0!==o[0]&&o[0],r=o.length>1&&void 0!==o[1]?o[1]:this.sidechain.defaultPrivateKey,n=o.length>2&&void 0!==o[2]&&o[2],a=o.length>3&&void 0!==o[3]&&o[3],this.utils.isFunction(n)&&(a=n,n=0),this.utils.isFunction(r)&&(a=r,r=this.mainchain.defaultPrivateKey,n=0),a){e.next=8;break}return e.abrupt("return",this.injectPromise(this.multiSign,t,r,n));case 8:if(this.utils.isObject(t)&&t.raw_data&&t.raw_data.contract){e.next=10;break}return e.abrupt("return",a("Invalid transaction provided"));case 10:return t.raw_data.contract[0].Permission_id=n,i=this.sidechain.address.toHex(this.sidechain.address.fromPrivateKey(r)).toLowerCase(),e.next=14,this.sidechain.trx.getSignWeight(t,n);case 14:if("PERMISSION_ERROR"!==(u=e.sent).result.code){e.next=17;break}return e.abrupt("return",a(u.result.message));case 17:if(c=!1,u.permission.keys.map((function(e){e.address===i&&(c=!0)})),c){e.next=21;break}return e.abrupt("return",a(r+" has no permission to sign"));case 21:if(!u.approved_list||-1==u.approved_list.indexOf(i)){e.next=23;break}return e.abrupt("return",a(r+" already sign transaction"));case 23:if(!u.transaction||!u.transaction.transaction){e.next=28;break}(t=u.transaction.transaction).raw_data.contract[0].Permission_id=n,e.next=29;break;case 28:return e.abrupt("return",a("Invalid transaction provided"));case 29:return e.prev=29,e.abrupt("return",a(null,this.signTransaction(r,t)));case 33:e.prev=33,e.t0=e.catch(29),a(e.t0);case 36:case"end":return e.stop()}}),e,this,[[29,33]])}))),function(){return O.apply(this,arguments)})},{key:"sign",value:(j=c()(s.a.mark((function e(){var t,r,n,a,i,u,c=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=c.length>0&&void 0!==c[0]&&c[0],r=c.length>1&&void 0!==c[1]?c[1]:this.sidechain.defaultPrivateKey,n=!(c.length>2&&void 0!==c[2])||c[2],a=c.length>3&&void 0!==c[3]&&c[3],i=c.length>4&&void 0!==c[4]&&c[4],this.utils.isFunction(a)&&(i=a,a=!1),this.utils.isFunction(n)&&(i=n,n=!0,a=!1),this.utils.isFunction(r)&&(i=r,r=this.sidechain.defaultPrivateKey,n=!0,a=!1),i){e.next=10;break}return e.abrupt("return",this.injectPromise(this.sign,t,r,n,a));case 10:if(!this.utils.isString(t)){e.next=21;break}if(this.utils.isHex(t)){e.next=13;break}return e.abrupt("return",i("Expected hex message input"));case 13:return e.prev=13,u=this.sidechain.trx.signString(t,r,n),e.abrupt("return",i(null,u));case 18:e.prev=18,e.t0=e.catch(13),i(e.t0);case 21:if(this.utils.isObject(t)){e.next=23;break}return e.abrupt("return",i("Invalid transaction provided"));case 23:if(a||!t.signature){e.next=25;break}return e.abrupt("return",i("Transaction is already signed"));case 25:if(e.prev=25,a){e.next=30;break}if(this.sidechain.address.toHex(this.sidechain.address.fromPrivateKey(r)).toLowerCase()===t.raw_data.contract[0].parameter.value.owner_address.toLowerCase()){e.next=30;break}return e.abrupt("return",i("Private key does not match address in transaction"));case 30:return e.abrupt("return",i(null,this.signTransaction(r,t)));case 33:e.prev=33,e.t1=e.catch(25),i(e.t1);case 36:case"end":return e.stop()}}),e,this,[[13,18],[25,33]])}))),function(){return j.apply(this,arguments)})},{key:"depositTrx",value:(K=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o,h=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=h.length>3&&void 0!==h[3]?h[3]:{},i=h.length>4&&void 0!==h[4]?h[4]:this.mainchain.defaultPrivateKey,u=h.length>5&&void 0!==h[5]&&h[5],this.utils.isFunction(i)&&(u=i,i=this.mainchain.defaultPrivateKey),this.utils.isFunction(a)&&(u=a,a={}),u){e.next=7;break}return e.abrupt("return",this.injectPromise(this.depositTrx,t,r,n,a,i));case 7:if(!this.validator.notValid([{name:"callValue",type:"integer",value:t,gte:0},{name:"depositFee",type:"integer",value:r,gte:0},{name:"feeLimit",type:"integer",value:n,gt:0,lte:1e9}],u)){e.next=9;break}return e.abrupt("return");case 9:return a=g({callValue:Number(t)+Number(r),feeLimit:n},a),e.prev=10,e.next=13,this.mainchain.contract().at(this.mainGatewayAddress);case 13:return c=e.sent,e.next=16,c.depositTRX().send(a,i);case 16:return o=e.sent,e.abrupt("return",u(null,o));case 20:return e.prev=20,e.t0=e.catch(10),e.abrupt("return",u(e.t0));case 23:case"end":return e.stop()}}),e,this,[[10,20]])}))),function(e,t,r){return K.apply(this,arguments)})},{key:"depositTrc10",value:(T=c()(s.a.mark((function e(t,r,n,a){var i,u,c,o,h,d=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=d.length>4&&void 0!==d[4]?d[4]:{},u=d.length>5&&void 0!==d[5]?d[5]:this.mainchain.defaultPrivateKey,c=d.length>6&&void 0!==d[6]&&d[6],this.utils.isFunction(u)&&(c=u,u=this.mainchain.defaultPrivateKey),this.utils.isFunction(i)&&(c=i,i={}),c){e.next=7;break}return e.abrupt("return",this.injectPromise(this.depositTrc10,t,r,n,a,i,u));case 7:if(!this.validator.notValid([{name:"tokenValue",type:"integer",value:r,gte:0},{name:"depositFee",type:"integer",value:n,gte:0},{name:"feeLimit",type:"integer",value:a,gt:0,lte:1e9},{name:"tokenId",type:"integer",value:t,gte:0}],c)){e.next=9;break}return e.abrupt("return");case 9:return i=g({tokenId:t,tokenValue:r,feeLimit:a},i,{callValue:n}),e.prev=10,e.next=13,this.mainchain.contract().at(this.mainGatewayAddress);case 13:return o=e.sent,e.next=16,o.depositTRC10(t,r).send(i,u);case 16:h=e.sent,c(null,h),e.next=23;break;case 20:return e.prev=20,e.t0=e.catch(10),e.abrupt("return",c(e.t0));case 23:case"end":return e.stop()}}),e,this,[[10,20]])}))),function(e,t,r,n){return T.apply(this,arguments)})},{key:"depositTrc",value:(P=c()(s.a.mark((function e(t,r,n,a,i){var u,c,o,h,d,l,p=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u=p.length>5&&void 0!==p[5]?p[5]:{},c=p.length>6&&void 0!==p[6]?p[6]:this.mainchain.defaultPrivateKey,o=p.length>7&&void 0!==p[7]&&p[7],this.utils.isFunction(c)&&(o=c,c=this.mainchain.defaultPrivateKey),this.utils.isFunction(u)&&(o=u,u={}),o){e.next=7;break}return e.abrupt("return",this.injectPromise(this.depositTrc,t,r,n,a,i,u,c));case 7:if(!this.validator.notValid([{name:"functionSelector",type:"not-empty-string",value:t},{name:"num",type:"integer",value:r,gte:0},{name:"fee",type:"integer",value:n,gte:0},{name:"feeLimit",type:"integer",value:a,gt:0,lte:1e9},{name:"contractAddress",type:"address",value:i}],o)){e.next=9;break}return e.abrupt("return");case 9:if(u=g({feeLimit:a},u,{callValue:n,tokenId:"",tokenValue:0}),e.prev=10,h=null,"approve"!==t){e.next=21;break}return e.next=15,this.mainchain.contract().at(i);case 15:return d=e.sent,e.next=18,d.approve(this.mainGatewayAddress,r).send(u,c);case 18:h=e.sent,e.next=44;break;case 21:return e.next=23,this.mainchain.contract().at(this.mainGatewayAddress);case 23:l=e.sent,e.t0=t,e.next="depositTRC20"===e.t0?27:"depositTRC721"===e.t0?31:"retryDeposit"===e.t0?35:"retryMapping"===e.t0?39:43;break;case 27:return e.next=29,l.depositTRC20(i,r).send(u,c);case 29:return h=e.sent,e.abrupt("break",44);case 31:return e.next=33,l.depositTRC721(i,r).send(u,c);case 33:return h=e.sent,e.abrupt("break",44);case 35:return e.next=37,l.retryDeposit(r).send(u,c);case 37:return h=e.sent,e.abrupt("break",44);case 39:return e.next=41,l.retryMapping(r).send(u,c);case 41:return h=e.sent,e.abrupt("break",44);case 43:return e.abrupt("break",44);case 44:o(null,h),e.next=50;break;case 47:return e.prev=47,e.t1=e.catch(10),e.abrupt("return",o(e.t1));case 50:case"end":return e.stop()}}),e,this,[[10,47]])}))),function(e,t,r,n,a){return P.apply(this,arguments)})},{key:"approveTrc20",value:(k=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=o.length>3&&void 0!==o[3]?o[3]:{},i=o.length>4&&void 0!==o[4]?o[4]:this.mainchain.defaultPrivateKey,u=o.length>5&&void 0!==o[5]&&o[5],c="approve",e.abrupt("return",this.depositTrc(c,t,0,r,n,a,i,u));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return k.apply(this,arguments)})},{key:"approveTrc721",value:(w=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=o.length>3&&void 0!==o[3]?o[3]:{},i=o.length>4&&void 0!==o[4]?o[4]:this.mainchain.defaultPrivateKey,u=o.length>5&&void 0!==o[5]&&o[5],c="approve",e.abrupt("return",this.depositTrc(c,t,0,r,n,a,i,u));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return w.apply(this,arguments)})},{key:"depositTrc20",value:(x=c()(s.a.mark((function e(t,r,n,a){var i,u,c,o,h=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=h.length>4&&void 0!==h[4]?h[4]:{},u=h.length>5&&void 0!==h[5]?h[5]:this.mainchain.defaultPrivateKey,c=h.length>6&&void 0!==h[6]&&h[6],o="depositTRC20",e.abrupt("return",this.depositTrc(o,t,r,n,a,i,u,c));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return x.apply(this,arguments)})},{key:"depositTrc721",value:(b=c()(s.a.mark((function e(t,r,n,a){var i,u,c,o,h=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=h.length>4&&void 0!==h[4]?h[4]:{},u=h.length>5&&void 0!==h[5]?h[5]:this.mainchain.defaultPrivateKey,c=h.length>6&&void 0!==h[6]&&h[6],o="depositTRC721",e.abrupt("return",this.depositTrc(o,t,r,n,a,i,u,c));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return b.apply(this,arguments)})},{key:"mappingTrc",value:(m=c()(s.a.mark((function e(t,r,n,a){var i,u,c,o,h,d=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=d.length>4&&void 0!==d[4]?d[4]:{},u=d.length>5&&void 0!==d[5]?d[5]:this.mainchain.defaultPrivateKey,c=d.length>6?d[6]:void 0,this.utils.isFunction(u)&&(c=u,u=this.mainchain.defaultPrivateKey),this.utils.isFunction(i)&&(c=i,i={}),c){e.next=7;break}return e.abrupt("return",this.injectPromise(this.mappingTrc,t,r,n,a,i,u));case 7:if(!this.validator.notValid([{name:"trxHash",type:"not-empty-string",value:t},{name:"mappingFee",type:"integer",value:r,gte:0},{name:"feeLimit",type:"integer",value:n,gt:0,lte:1e9}],c)){e.next=9;break}return e.abrupt("return");case 9:return t=t.startsWith("0x")?t:"0x"+t,i=g({feeLimit:n},i,{callValue:r}),e.prev=11,e.next=14,this.mainchain.contract().at(this.mainGatewayAddress);case 14:if(o=e.sent,h=null,"mappingTRC20"!==a){e.next=22;break}return e.next=19,o.mappingTRC20(t).send(i,u);case 19:h=e.sent,e.next=29;break;case 22:if("mappingTRC721"!==a){e.next=28;break}return e.next=25,o.mappingTRC721(t).send(i,u);case 25:h=e.sent,e.next=29;break;case 28:c(new Error("type must be trc20 or trc721"));case 29:c(null,h),e.next=35;break;case 32:return e.prev=32,e.t0=e.catch(11),e.abrupt("return",c(e.t0));case 35:case"end":return e.stop()}}),e,this,[[11,32]])}))),function(e,t,r,n){return m.apply(this,arguments)})},{key:"mappingTrc20",value:(y=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=o.length>3&&void 0!==o[3]?o[3]:{},i=o.length>4&&void 0!==o[4]?o[4]:this.mainchain.defaultPrivateKey,u=o.length>5&&void 0!==o[5]&&o[5],c="mappingTRC20",e.abrupt("return",this.mappingTrc(t,r,n,c,a,i,u));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return y.apply(this,arguments)})},{key:"mappingTrc721",value:(f=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=o.length>3&&void 0!==o[3]?o[3]:{},i=o.length>4&&void 0!==o[4]?o[4]:this.mainchain.defaultPrivateKey,u=o.length>5&&void 0!==o[5]&&o[5],c="mappingTRC721",e.abrupt("return",this.mappingTrc(t,r,n,c,a,i,u));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return f.apply(this,arguments)})},{key:"withdrawTrx",value:(p=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o,h=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=h.length>3&&void 0!==h[3]?h[3]:{},i=h.length>4&&void 0!==h[4]?h[4]:this.mainchain.defaultPrivateKey,u=h.length>5&&void 0!==h[5]&&h[5],this.utils.isFunction(i)&&(u=i,i=this.mainchain.defaultPrivateKey),this.utils.isFunction(a)&&(u=a,a={}),u){e.next=7;break}return e.abrupt("return",this.injectPromise(this.withdrawTrx,t,r,n,a,i));case 7:if(!this.validator.notValid([{name:"callValue",type:"integer",value:t,gte:0},{name:"withdrawFee",type:"integer",value:r,gte:0},{name:"feeLimit",type:"integer",value:n,gt:0,lte:1e9}],u)){e.next=9;break}return e.abrupt("return");case 9:return a=g({callValue:Number(t)+Number(r),feeLimit:n},a),e.prev=10,e.next=13,this.sidechain.contract().at(this.sideGatewayAddress);case 13:return c=e.sent,e.next=16,c.withdrawTRX().send(a,i);case 16:return o=e.sent,e.abrupt("return",u(null,o));case 20:return e.prev=20,e.t0=e.catch(10),e.abrupt("return",u(e.t0));case 23:case"end":return e.stop()}}),e,this,[[10,20]])}))),function(e,t,r){return p.apply(this,arguments)})},{key:"withdrawTrc10",value:(d=c()(s.a.mark((function e(t,r,n,a){var i,u,c,o,h,d=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=d.length>4&&void 0!==d[4]?d[4]:{},u=d.length>5&&void 0!==d[5]?d[5]:this.mainchain.defaultPrivateKey,c=d.length>6&&void 0!==d[6]&&d[6],this.utils.isFunction(u)&&(c=u,u=this.mainchain.defaultPrivateKey),this.utils.isFunction(i)&&(c=i,i={}),c){e.next=7;break}return e.abrupt("return",this.injectPromise(this.withdrawTrc10,t,r,n,a,i,u));case 7:if(!this.validator.notValid([{name:"tokenId",type:"integer",value:t,gte:0},{name:"tokenValue",type:"integer",value:r,gte:0},{name:"withdrawFee",type:"integer",value:n,gte:0},{name:"feeLimit",type:"integer",value:a,gt:0,lte:1e9}],c)){e.next=9;break}return e.abrupt("return");case 9:return i=g({tokenValue:r,tokenId:t,callValue:n,feeLimit:a},i),e.prev=10,e.next=13,this.sidechain.contract().at(this.sideGatewayAddress);case 13:return o=e.sent,e.next=16,o.withdrawTRC10(t,r).send(i,u);case 16:return h=e.sent,e.abrupt("return",c(null,h));case 20:return e.prev=20,e.t0=e.catch(10),e.abrupt("return",c(e.t0));case 23:case"end":return e.stop()}}),e,this,[[10,20]])}))),function(e,t,r,n){return d.apply(this,arguments)})},{key:"withdrawTrc",value:(o=c()(s.a.mark((function e(t,r,n,a,i){var u,o,h,d,l,p,v,f,y,m,b=this,x=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u=x.length>5&&void 0!==x[5]?x[5]:{},o=x.length>6&&void 0!==x[6]?x[6]:this.mainchain.defaultPrivateKey,h=x.length>7&&void 0!==x[7]&&x[7],this.utils.isFunction(o)&&(h=o,o=this.mainchain.defaultPrivateKey),this.utils.isFunction(u)&&(h=u,u={}),h){e.next=7;break}return e.abrupt("return",this.injectPromise(this.withdrawTrc,t,r,n,a,i,u,o));case 7:if(!this.validator.notValid([{name:"functionSelector",type:"not-empty-string",value:t},{name:"numOrId",type:"integer",value:r,gte:0},{name:"withdrawFee",type:"integer",value:n,gte:0},{name:"feeLimit",type:"integer",value:a,gt:0,lte:1e9},{name:"contractAddress",type:"address",value:i}],h)){e.next=9;break}return e.abrupt("return");case 9:return u=g({feeLimit:a},u,{callValue:n}),d=[{type:"uint256",value:r}],e.prev=11,l=o?this.sidechain.address.fromPrivateKey(o):this.sidechain.defaultAddress.base58,e.next=15,this.sidechain.transactionBuilder.triggerSmartContract(i,t,u,d,this.sidechain.address.toHex(l));case 15:if((p=e.sent).result&&p.result.result){e.next=18;break}return e.abrupt("return",h("Unknown error: "+JSON.stringify(p.transaction,null,2)));case 18:return e.next=20,this.sidechain.trx.sign(p.transaction,o);case 20:if((v=e.sent).signature){e.next=25;break}if(o){e.next=24;break}return e.abrupt("return",h("Transaction was not signed properly"));case 24:return e.abrupt("return",h("Invalid private key provided"));case 25:return e.next=27,this.sidechain.trx.sendRawTransaction(v);case 27:if(!(f=e.sent).code){e.next=32;break}return y={error:f.code,message:f.code},f.message&&(y.message=this.sidechain.toUtf8(f.message)),e.abrupt("return",h(y));case 32:if(u.shouldPollResponse){e.next=34;break}return e.abrupt("return",h(null,v.txID));case 34:(m=function(){var e=c()(s.a.mark((function e(){var t,r,n,a=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(20!=(t=a.length>0&&void 0!==a[0]?a[0]:0)){e.next=3;break}return e.abrupt("return",h({error:"Cannot find result in solidity node",transaction:v}));case 3:return e.next=5,b.sidechain.trx.getTransactionInfo(v.txID);case 5:if(r=e.sent,Object.keys(r).length){e.next=8;break}return e.abrupt("return",setTimeout((function(){m(t+1)}),3e3));case 8:if(!r.result||"FAILED"!=r.result){e.next=10;break}return e.abrupt("return",h({error:b.sidechain.toUtf8(r.resMessage),transaction:v,output:r}));case 10:if(utils.hasProperty(r,"contractResult")){e.next=12;break}return e.abrupt("return",h({error:"Failed to execute: "+JSON.stringify(r,null,2),transaction:v,output:r}));case 12:if(!u.rawResponse){e.next=14;break}return e.abrupt("return",h(null,r));case 14:return 1===(n=decodeOutput(b.outputs,"0x"+r.contractResult[0])).length&&(n=n[0]),e.abrupt("return",h(null,n));case 17:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}())(),e.next=41;break;case 38:return e.prev=38,e.t0=e.catch(11),e.abrupt("return",h(e.t0));case 41:case"end":return e.stop()}}),e,this,[[11,38]])}))),function(e,t,r,n,a){return o.apply(this,arguments)})},{key:"withdrawTrc20",value:(u=c()(s.a.mark((function e(t,r,n,a,i){var u,c,o,h=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=h.length>5&&void 0!==h[5]?h[5]:this.mainchain.defaultPrivateKey,c=h.length>6&&void 0!==h[6]&&h[6],o="withdrawal(uint256)",e.abrupt("return",this.withdrawTrc(o,t,r,n,a,i,u,c));case 4:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n,a){return u.apply(this,arguments)})},{key:"withdrawTrc721",value:(i=c()(s.a.mark((function e(t,r,n,a,i){var u,c,o,h=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=h.length>5&&void 0!==h[5]?h[5]:this.mainchain.defaultPrivateKey,c=h.length>6&&void 0!==h[6]&&h[6],o="withdrawal(uint256)",e.abrupt("return",this.withdrawTrc(o,t,r,n,a,i,u,c));case 4:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n,a){return i.apply(this,arguments)})},{key:"injectFund",value:(a=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o,h,d,l,p=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=p.length>3&&void 0!==p[3]?p[3]:this.mainchain.defaultPrivateKey,i=p.length>4&&void 0!==p[4]&&p[4],this.utils.isFunction(a)&&(i=a,a=this.mainchain.defaultPrivateKey),this.utils.isFunction(n)&&(i=n,n={}),i){e.next=6;break}return e.abrupt("return",this.injectPromise(this.injectFund,t,r,n,a));case 6:if(!this.validator.notValid([{name:"num",type:"integer",value:t,gte:0},{name:"feeLimit",type:"integer",value:r,gt:0,lte:1e9}],i)){e.next=8;break}return e.abrupt("return");case 8:return e.prev=8,u=this.sidechain.address.fromPrivateKey(a),c=this.sidechain.address.toHex(u),e.next=13,this.sidechain.fullNode.request("/wallet/fundinject",{owner_address:c,amount:t},"post");case 13:return o=e.sent,e.next=16,this.sidechain.trx.sign(o,a);case 16:if((h=e.sent).signature){e.next=21;break}if(a){e.next=20;break}return e.abrupt("return",i("Transaction was not signed properly"));case 20:return e.abrupt("return",i("Invalid private key provided"));case 21:return e.next=23,this.sidechain.trx.sendRawTransaction(h);case 23:if(!(d=e.sent).code){e.next=28;break}return l={error:d.code,message:d.code},d.message&&(l.message=this.mainchain.toUtf8(d.message)),e.abrupt("return",i(l));case 28:return e.abrupt("return",i(null,h.txID));case 31:return e.prev=31,e.t0=e.catch(8),e.abrupt("return",i(e.t0));case 34:case"end":return e.stop()}}),e,this,[[8,31]])}))),function(e,t,r){return a.apply(this,arguments)})},{key:"retryWithdraw",value:(n=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=o.length>3&&void 0!==o[3]?o[3]:{},i=o.length>4&&void 0!==o[4]?o[4]:this.sidechain.defaultPrivateKey,u=o.length>5&&void 0!==o[5]&&o[5],c="retryWithdraw(uint256)",e.abrupt("return",this.withdrawTrc(c,t,r,n,this.sideGatewayAddress,a,i,u));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"retryDeposit",value:(r=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=o.length>3&&void 0!==o[3]?o[3]:{},i=o.length>4&&void 0!==o[4]?o[4]:this.mainchain.defaultPrivateKey,u=o.length>5&&void 0!==o[5]&&o[5],c="retryDeposit",e.abrupt("return",this.depositTrc(c,t,r,n,this.mainGatewayAddress,a,i,u));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"retryMapping",value:(t=c()(s.a.mark((function e(t,r,n){var a,i,u,c,o=arguments;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=o.length>3&&void 0!==o[3]?o[3]:{},i=o.length>4&&void 0!==o[4]?o[4]:this.mainchain.defaultPrivateKey,u=o.length>5&&void 0!==o[5]&&o[5],c="retryMapping",e.abrupt("return",this.depositTrc(c,t,r,n,this.mainGatewayAddress,a,i,u));case 5:case"end":return e.stop()}}),e,this)}))),function(e,r,n){return t.apply(this,arguments)})}]),e}()}]).default; //# sourceMappingURL=SunWeb.node.js.map