1. Register Artifacts on the Dashboard
Changes to be done on the dashboard for custom gasless transactions

Register Smart Contracts

​Checkout this section if you don't know how to register a dApp on the dashboard.
After having your dApp registered, on the β€œAdd Smart Contract” page, enter the contract name, address and ABI, select Meta Transaction Type as β€œCustom” then click β€œAdd”.
The ABI is the description of the contract interface. It contains no code and cannot be run by itself. Example of an ABI of a test contract:
TestConract.sol
ABI of TestContract.sol
1
pragma solidity ^0.5.0;
2
​
3
contract TestContract {
4
constructor() public { b = hex"12345678901234567890123456789012"; }
5
event Event(uint indexed a, bytes32 b);
6
event Event2(uint indexed a, bytes32 b);
7
function foo(uint a) public { emit Event(a, b); }
8
bytes32 b;
9
}
Copied!
1
[
2
{
3
"type": "event",
4
"inputs": [
5
{
6
"name": "a",
7
"type": "uint256",
8
"indexed": true
9
},
10
{
11
"name": "b",
12
"type": "bytes32",
13
"indexed": false
14
}
15
],
16
"name": "Event"
17
},
18
{
19
"type": "event",
20
"inputs": [
21
{
22
"name": "a",
23
"type": "uint256",
24
"indexed": true
25
},
26
{
27
"name": "b",
28
"type": "bytes32",
29
"indexed": false
30
}
31
],
32
"name": "Event2"
33
},
34
{
35
"type": "function",
36
"inputs": [
37
{
38
"name": "a",
39
"type": "uint256"
40
}
41
],
42
"name": "foo",
43
"outputs": []
44
}
45
]
46
​
Copied!

Select Smart Contract Methods

After uploading your smart contract, the next step is to select the smart contract method which needs to be called from client side. Now here instead of selecting your smart contract methods, you need to select the ExecuteMetaTransaction method inherited from Biconomy Contracts because that's the method we'll be calling from the client side.
ExecuteMetaTransaction has functionSignature as a parameter so any method you need to make gasless can be passed as data here. If you have inherited EIP712MetaTransaction specs, the only method you will register is executeMetaTransaction.
If you have methods in your smart contract that already supports native meta transaction via user signature as parameters or if they do not depend on msg.sender, you can directly select those methods here and call them from the client side. eg. DAI or USDC permit method.
After adding the smart contract and methods on the dashboard, the next step is to integrate Biconomy SDK or API in the client side code.