📗Orbiter Router

Mainnet
👷♂️Smart ContractTestnet
EVMcontract
EVM OrbiterRouterV3 ABI
[
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "transfer",
"outputs": [
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "transferToken",
"outputs": [
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
},
{
"internalType": "address[]",
"name": "tos",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "transferTokens",
"outputs": [
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "tos",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "transfers",
"outputs": [
],
"stateMutability": "payable",
"type": "function"
}
]
Introduction to main methods
Initiate Orbiter Maker cross-chain transaction
transferToken
The ERC20 token of the chain where the contract is located cross-chain
parameter
token=> ERC20 contract address (if not approved, you need to approve it first)
to=>address (pass Orbiter Maker address)
value=>uint (quantity)
data=> bytes (extended parameters that need to be passed, see below for details)Introduction to Data extended parameters)
transfer
Cross-chain native main currency of the chain where the contract is located
parameter
to => address (pass Orbiter Maker address)
data=> bytes (extended parameters that need to be passed, see below for details)Introduction to Data extended parameters)
Introduction to Data extended parameters
Parameter format
// Parameter text
t=0x069A775eF31FaE8311B2EE2024243C9F1eE46E63f98A7DCAF3D077C951f5174b
// The hexadecimal encoding is passed into the contract
https://string-functions.com/string-hex.aspx hex code
743D30783036394137373565463331466145383331314232454532303234323433433946316545343645363366393841374443414633443037374339353 1663531373462
// Parameter text
c=9002&t=0xEFc6089224068b20197156A91D50132b2A47b908
// The hexadecimal encoding is passed into the contract
633d3930303226743d307845466336303839323234303638623230313937313536413931443530313332623241343762393038
Supported parameter list
name
desc
default
required
c
Security code, vc parameter obtained through routers interface, if the amount has a mantissa, it does not need to be passed here.
false
t
Target link receiving address (can be passed when ToStarknet and cross-address)
false
app
If you enter the evm wallet address, you will get a commission
false
Starknet contract
Starknet OrbiterRouterV3 ABI
```typescript
[
{
"name": "Uint256",
"size": 2,
"type": "struct",
"members": [
{
"name": "low",
"type": "felt",
"offset": 0
},
{
"name": "high",
"type": "felt",
"offset": 1
}
]
},
{
"data": [
{
"name": "to",
"type": "felt"
},
{
"name": "amount",
"type": "Uint256"
},
{
"name": "token",
"type": "felt"
},
{
"name": "ext_len",
"type": "felt"
},
{
"name": "ext",
"type": "felt*"
}
],
"keys": [],
"name": "Transfer",
"type": "event"
},
{
"name": "transferERC20",
"type": "function",
"inputs": [
{
"name": "_token",
"type": "felt"
},
{
"name": "_to",
"type": "felt"
},
{
"name": "_amount",
"type": "Uint256"
},
{
"name": "_ext_len",
"type": "felt"
},
{
"name": "_ext",
"type": "felt*"
}
],
"outputs": []
}
]
```
test transaction:
https://sepolia.starkscan.co/tx/0x4e64431da3a475ea77e87adf2d1709f56a2782389039e93596a497e5ce2df7a
Last updated
Was this helpful?