|
|
@@ -0,0 +1,444 @@
|
|
|
+## tronCross Contract Abi
|
|
|
+```js
|
|
|
+{
|
|
|
+ tronCrossAddress : "TTUzsY3UMVTwT8a7wmJ3P6ar7aj5ddjVsR",
|
|
|
+ tronCrossAbi : [
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l1Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l2Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_from",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20DepositInitiated",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l1Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l2Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_from",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ERC20WithdrawalFinalized",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_from",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ETHDepositInitiated",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_from",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": false,
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "ETHWithdrawalFinalized",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "anonymous": false,
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "previousOwner",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "indexed": true,
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "newOwner",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "OwnershipTransferred",
|
|
|
+ "type": "event"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l1Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l2Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint32",
|
|
|
+ "name": "_l2Gas",
|
|
|
+ "type": "uint32"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "depositERC20",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l1Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l2Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint32",
|
|
|
+ "name": "_l2Gas",
|
|
|
+ "type": "uint32"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "depositERC20To",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "uint32",
|
|
|
+ "name": "_l2Gas",
|
|
|
+ "type": "uint32"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "depositETH",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "payable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint32",
|
|
|
+ "name": "_l2Gas",
|
|
|
+ "type": "uint32"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "depositETHTo",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "payable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "deposits",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "",
|
|
|
+ "type": "uint256"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "view",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "donateETH",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "payable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l1Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_l2Token",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_from",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "finalizeERC20Withdrawal",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_from",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "_to",
|
|
|
+ "type": "address"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "uint256",
|
|
|
+ "name": "_amount",
|
|
|
+ "type": "uint256"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "internalType": "bytes",
|
|
|
+ "name": "_data",
|
|
|
+ "type": "bytes"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "finalizeETHWithdrawal",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "owner",
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "stateMutability": "view",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [],
|
|
|
+ "name": "renounceOwnership",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "inputs": [
|
|
|
+ {
|
|
|
+ "internalType": "address",
|
|
|
+ "name": "newOwner",
|
|
|
+ "type": "address"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "name": "transferOwnership",
|
|
|
+ "outputs": [],
|
|
|
+ "stateMutability": "nonpayable",
|
|
|
+ "type": "function"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "stateMutability": "payable",
|
|
|
+ "type": "receive"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+## call tron contract Address
|
|
|
+```js
|
|
|
+// first step: approve udst to contract address
|
|
|
+//调用trx的USDT合约中的approve方法,给lucky合约(cInstance)中转入USDT?
|
|
|
+async function usdtApprove(){
|
|
|
+ return await trxUsdtContract.methods.approve(cInstance.address,100000000000).send()
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+// second step:
|
|
|
+async function depositUsdtTo(to,amount){
|
|
|
+ try{
|
|
|
+ let _l1Token = "0xa614f803b6fd780986a42c78ec9c7f77e6ded13c".toLowerCase()
|
|
|
+ let _l2Token = "0x10186D85Ac0579Cb141Ff37261f23CF4F1D254b5".toLowerCase()
|
|
|
+//给lucky合约(cInstance) 给指定的地址转 amount(是USDT数量还是 lucky 数量)?
|
|
|
+ let res = await cInstance.methods.depositERC20To(_l1Token, _l2Token, to, _amount, 0, []).send()
|
|
|
+ logger.info("depositUsdtTo:",res)
|
|
|
+ } catch (e) {
|
|
|
+ logger.error(e.code)
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|