@kapa123456789/sdk 0.0.55 → 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../constants/protocol.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../externalABIs/index.cjs`),i=require(`../../../error-handling/error-codes.constants.cjs`),a=require(`../../utils/tron.utils.cjs`),o=require(`../../../error-handling/logger.cjs`),s=require(`../../utils/tronSimulation.utils.cjs`),c=require(`./waitForErc20Approvals.cjs`);var l=async(l,u,d,f,p,m,h,g,_,v=!0)=>{let y=l.getTronWeb(),b=a.evmHexToTronBase58Address(f.erc20TokenAddress),x=await l.getEthereumAddressByChain(u),{hinkalAddress:S,hinkalABI:C}=e.networkRegistry[u].contractData,w=y.contract(C,a.evmHexToTronBase58Address(S)),T=g??w,E=_??w;if(!T.address)throw Error(`contractForApproval address not set`);if(!E.address)throw Error(`contractForTransaction address not set`);let D=n.caseInsensitiveEqual(f.erc20TokenAddress,t.zeroAddress);if(!D&&d>0n){let e=T.address;if(!e)throw Error(`token approval spender not set`);let n=d,i=await y.contract(r.ERC20ABI,b).allowance(x,e).call({from:x});if(BigInt(String(i))<n){let{transaction:r}=await y.transactionBuilder.triggerSmartContract(b,`approve(address,uint256)`,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:e},{type:`uint256`,value:n.toString()}],x),i=await y.trx.sign(r),a=await y.trx.sendRawTransaction(i);if(!a.result){let e=a.code??`UNKNOWN`,t=a.message?Buffer.from(a.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}await c.waitForTronErc20Approvals(y,x,e,[{tokenAddress:b,requiredAmount:n}])}}let{a:O,b:k,c:A}=a.parseZkCalldata(p),j=await a.reorderZkCallData(!0,p,h,m,!1);if(!j)throw Error(`Tron proof signature not found`);let M=[j.v,j.r,j.s],N=[h.tokenNumber,h.nullifierAmount,h.outputAmount],P=a.circomDataToArray(m);if(v&&(await s.simulateTronTransaction(u,E.address,`transact`,E.abi,[M,O,k,A,N,P],x,D?d:0n),D)){let e=BigInt(await y.trx.getBalance(x)),n=BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN);try{let e=a.createTronCallData(E.abi,`transact`,[M,O,k,A,N,P]);n=await a.estimateTronFeeSunWithPadding(y,u,E.address,x,e,d)}catch(e){o.Logger.error(`Error estimating Tron transact fee`,e)}if(e<d+n)throw Error(i.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)}let F=await E.transact(M,O,k,A,N,P).send({feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:D?Number(d):0}),I=typeof F==`string`?F:F?.txid??F?.transaction?.txID??F?.transaction?.txid;if(!I)throw Error(`Tron transact failed (missing txid)`);return I};exports.transactCallDirectTron=l;
1
+ const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../constants/protocol.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../externalABIs/index.cjs`),i=require(`../../../error-handling/error-codes.constants.cjs`),a=require(`../../utils/tron.utils.cjs`),o=require(`../../../error-handling/logger.cjs`),s=require(`../../utils/tronSimulation.utils.cjs`),c=require(`./waitForErc20Approvals.cjs`);var l=async(l,u,d,f,p,m,h,g,_,v=!0)=>{let y=l.getTronWeb(),b=a.evmHexToTronBase58Address(f.erc20TokenAddress),x=await l.getEthereumAddressByChain(u),{hinkalAddress:S,hinkalABI:C}=e.networkRegistry[u].contractData,w=y.contract(C,a.evmHexToTronBase58Address(S)),T=g??w,E=_??w;if(!T.address)throw Error(`contractForApproval address not set`);if(!E.address)throw Error(`contractForTransaction address not set`);let D=n.caseInsensitiveEqual(f.erc20TokenAddress,t.zeroAddress),O=D&&d>0n?d:0n;if(!D&&d>0n){let e=T.address;if(!e)throw Error(`token approval spender not set`);let n=d,i=await y.contract(r.ERC20ABI,b).allowance(x,e).call({from:x});if(BigInt(String(i))<n){let{transaction:r}=await y.transactionBuilder.triggerSmartContract(b,`approve(address,uint256)`,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:e},{type:`uint256`,value:n.toString()}],x),i=await y.trx.sign(r),a=await y.trx.sendRawTransaction(i);if(!a.result){let e=a.code??`UNKNOWN`,t=a.message?Buffer.from(a.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}await c.waitForTronErc20Approvals(y,x,e,[{tokenAddress:b,requiredAmount:n}])}}let{a:k,b:A,c:j}=a.parseZkCalldata(p),M=await a.reorderZkCallData(!0,p,h,m,!1);if(!M)throw Error(`Tron proof signature not found`);let N=[M.v,M.r,M.s],P=[h.tokenNumber,h.nullifierAmount,h.outputAmount],F=a.circomDataToArray(m);if(v&&(await s.simulateTronTransaction(u,E.address,`transact`,E.abi,[N,k,A,j,P,F],x,O),D&&O>0n)){let e=BigInt(await y.trx.getBalance(x)),n=BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN);try{let e=a.createTronCallData(E.abi,`transact`,[N,k,A,j,P,F]);n=await a.estimateTronFeeSunWithPadding(y,u,E.address,x,e,O)}catch(e){o.Logger.error(`Error estimating Tron transact fee`,e)}console.log(`estimatedFeeSun`,n||`undefined`);let r=O+n;if(console.log(`totalRequiredSun`,r||`undefined`),e<r)throw Error(i.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)}let I=await E.transact(N,k,A,j,P,F).send({feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:Number(O)}),L=typeof I==`string`?I:I?.txid??I?.transaction?.txID??I?.transaction?.txid;if(!L)throw Error(`Tron transact failed (missing txid)`);return L};exports.transactCallDirectTron=l;
@@ -12,7 +12,7 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0) => {
12
12
  let T = h.getTronWeb(), E = l(v.erc20TokenAddress), D = await h.getEthereumAddressByChain(g), { hinkalAddress: O, hinkalABI: k } = e[g].contractData, A = T.contract(k, l(O)), j = S ?? A, M = C ?? A;
13
13
  if (!j.address) throw Error("contractForApproval address not set");
14
14
  if (!M.address) throw Error("contractForTransaction address not set");
15
- let N = r(v.erc20TokenAddress, n);
15
+ let N = r(v.erc20TokenAddress, n), P = N && _ > 0n ? _ : 0n;
16
16
  if (!N && _ > 0n) {
17
17
  let e = j.address;
18
18
  if (!e) throw Error("token approval spender not set");
@@ -35,47 +35,49 @@ var h = async (h, g, _, v, y, b, x, S, C, w = !0) => {
35
35
  }]);
36
36
  }
37
37
  }
38
- let { a: P, b: F, c: I } = u(y), L = await d(!0, y, x, b, !1);
39
- if (!L) throw Error("Tron proof signature not found");
40
- let R = [
41
- L.v,
42
- L.r,
43
- L.s
44
- ], z = [
38
+ let { a: F, b: I, c: L } = u(y), R = await d(!0, y, x, b, !1);
39
+ if (!R) throw Error("Tron proof signature not found");
40
+ let z = [
41
+ R.v,
42
+ R.r,
43
+ R.s
44
+ ], B = [
45
45
  x.tokenNumber,
46
46
  x.nullifierAmount,
47
47
  x.outputAmount
48
- ], B = o(b);
48
+ ], V = o(b);
49
49
  if (w && (await p(g, M.address, "transact", M.abi, [
50
- R,
51
- P,
50
+ z,
52
51
  F,
53
52
  I,
54
- z,
55
- B
56
- ], D, N ? _ : 0n), N)) {
53
+ L,
54
+ B,
55
+ V
56
+ ], D, P), N && P > 0n)) {
57
57
  let e = BigInt(await T.trx.getBalance(D)), n = BigInt(t);
58
58
  try {
59
59
  let e = s(M.abi, "transact", [
60
- R,
61
- P,
60
+ z,
62
61
  F,
63
62
  I,
64
- z,
65
- B
63
+ L,
64
+ B,
65
+ V
66
66
  ]);
67
- n = await c(T, g, M.address, D, e, _);
67
+ n = await c(T, g, M.address, D, e, P);
68
68
  } catch (e) {
69
69
  f.error("Error estimating Tron transact fee", e);
70
70
  }
71
- if (e < _ + n) throw Error(a.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
71
+ console.log("estimatedFeeSun", n || "undefined");
72
+ let r = P + n;
73
+ if (console.log("totalRequiredSun", r || "undefined"), e < r) throw Error(a.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
72
74
  }
73
- let V = await M.transact(R, P, F, I, z, B).send({
75
+ let H = await M.transact(z, F, I, L, B, V).send({
74
76
  feeLimit: t,
75
- callValue: N ? Number(_) : 0
76
- }), H = typeof V == "string" ? V : V?.txid ?? V?.transaction?.txID ?? V?.transaction?.txid;
77
- if (!H) throw Error("Tron transact failed (missing txid)");
78
- return H;
77
+ callValue: Number(P)
78
+ }), U = typeof H == "string" ? H : H?.txid ?? H?.transaction?.txID ?? H?.transaction?.txid;
79
+ if (!U) throw Error("Tron transact failed (missing txid)");
80
+ return U;
79
81
  };
80
82
  //#endregion
81
83
  export { h as transactCallDirectTron };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.55",
3
+ "version": "0.0.56",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapa123456789/sdk",
3
- "version": "0.0.55",
3
+ "version": "0.0.56",
4
4
  "homepage": "hinkal.io",
5
5
  "author": {
6
6
  "name": "Hinkal Protocol"