@yaswap/evm-contracts 2.0.0
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.
- package/CHANGELOG.md +5 -0
- package/README.md +115 -0
- package/artifacts/contracts/ILiqualityHTLC.sol/ILiqualityHTLC.json +216 -0
- package/artifacts/contracts/LibTransfer.sol/LibTransfer.json +10 -0
- package/artifacts/contracts/LiqualityHTLC.sol/LiqualityHTLC.json +260 -0
- package/artifacts/contracts/test/TestERC20.sol/TestERC20.json +304 -0
- package/artifacts/contracts/utils/Multicall.sol/Multicall3.json +449 -0
- package/contracts/ILiqualityHTLC.sol +59 -0
- package/contracts/LibTransfer.sol +11 -0
- package/contracts/LiqualityHTLC.sol +104 -0
- package/contracts/nft/ERC1155.sol +3 -0
- package/contracts/nft/ERC721.sol +3 -0
- package/contracts/test/TestERC20.sol +12 -0
- package/contracts/utils/Multicall.sol +242 -0
- package/package.json +94 -0
package/CHANGELOG.md
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Liquality HTLC
|
|
2
|
+
|
|
3
|
+
## Gas usage
|
|
4
|
+
|
|
5
|
+
### Ether HTLC
|
|
6
|
+
|
|
7
|
+
<img width="900" alt="Screenshot 2022-01-27 at 16 25 27" src="https://user-images.githubusercontent.com/7030722/151378268-0c503bc1-5915-4e9e-8825-1a0892074bef.png">
|
|
8
|
+
|
|
9
|
+
### ERC20 HTLC
|
|
10
|
+
|
|
11
|
+
<img width="903" alt="Screenshot 2022-01-27 at 16 26 07" src="https://user-images.githubusercontent.com/7030722/151378336-de923bf3-d743-4941-a6e1-f8dc18e9ddd4.png">
|
|
12
|
+
|
|
13
|
+
### Coverage
|
|
14
|
+
|
|
15
|
+
<img width="741" alt="Screenshot 2022-01-27 at 16 28 40" src="https://user-images.githubusercontent.com/7030722/151378625-715934a4-f358-4712-bc8f-840ba2a2f179.png">
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
### Pre Requisites
|
|
20
|
+
|
|
21
|
+
Before running any command, you need to create a `.env` file and set a BIP-39 compatible mnemonic as an environment
|
|
22
|
+
variable. Follow the example in `.env.example`. If you don't already have a mnemonic, use this [website](https://iancoleman.io/bip39/) to generate one.
|
|
23
|
+
|
|
24
|
+
Then, proceed with installing dependencies:
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
yarn install
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Compile
|
|
31
|
+
|
|
32
|
+
Compile the smart contracts with Hardhat:
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
$ yarn compile
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### TypeChain
|
|
39
|
+
|
|
40
|
+
Compile the smart contracts and generate TypeChain artifacts:
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
$ yarn typechain
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Lint Solidity
|
|
47
|
+
|
|
48
|
+
Lint the Solidity code:
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
$ yarn lint:sol
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Lint TypeScript
|
|
55
|
+
|
|
56
|
+
Lint the TypeScript code:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
$ yarn lint:ts
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Test
|
|
63
|
+
|
|
64
|
+
Run the Mocha tests:
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
$ yarn test
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Coverage
|
|
71
|
+
|
|
72
|
+
Generate the code coverage report:
|
|
73
|
+
|
|
74
|
+
```sh
|
|
75
|
+
$ yarn coverage
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Report Gas
|
|
79
|
+
|
|
80
|
+
See the gas usage per unit test and average gas per method call:
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
$ REPORT_GAS=true yarn test
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Clean
|
|
87
|
+
|
|
88
|
+
Delete the smart contract artifacts, the coverage reports and the Hardhat cache:
|
|
89
|
+
|
|
90
|
+
```sh
|
|
91
|
+
$ yarn clean
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Deploy
|
|
95
|
+
|
|
96
|
+
Deploy the contracts to Hardhat Network:
|
|
97
|
+
|
|
98
|
+
```sh
|
|
99
|
+
$ yarn deploy --greeting "Bonjour, le monde!"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Syntax Highlighting
|
|
103
|
+
|
|
104
|
+
If you use VSCode, you can enjoy syntax highlighting for your Solidity code via the
|
|
105
|
+
[vscode-solidity](https://github.com/juanfranblanco/vscode-solidity) extension. The recommended approach to set the
|
|
106
|
+
compiler version is to add the following fields to your VSCode user settings:
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"solidity.compileUsingRemoteVersion": "v0.8.4+commit.c7e474f2",
|
|
111
|
+
"solidity.defaultCompiler": "remote"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Where of course `v0.8.4+commit.c7e474f2` can be replaced with any other version.
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "ILiqualityHTLC",
|
|
4
|
+
"sourceName": "contracts/ILiqualityHTLC.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "LiqualityHTLC__InvalidExpiration",
|
|
9
|
+
"type": "error"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [],
|
|
13
|
+
"name": "LiqualityHTLC__InvalidMsgValue",
|
|
14
|
+
"type": "error"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"inputs": [],
|
|
18
|
+
"name": "LiqualityHTLC__InvalidSender",
|
|
19
|
+
"type": "error"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"inputs": [],
|
|
23
|
+
"name": "LiqualityHTLC__InvalidSwapAmount",
|
|
24
|
+
"type": "error"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"inputs": [],
|
|
28
|
+
"name": "LiqualityHTLC__SwapAlreadyExists",
|
|
29
|
+
"type": "error"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"inputs": [],
|
|
33
|
+
"name": "LiqualityHTLC__SwapDoesNotExist",
|
|
34
|
+
"type": "error"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"inputs": [],
|
|
38
|
+
"name": "LiqualityHTLC__SwapNotExpired",
|
|
39
|
+
"type": "error"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputs": [],
|
|
43
|
+
"name": "LiqualityHTLC__WrongSecret",
|
|
44
|
+
"type": "error"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"anonymous": false,
|
|
48
|
+
"inputs": [
|
|
49
|
+
{
|
|
50
|
+
"indexed": true,
|
|
51
|
+
"internalType": "bytes32",
|
|
52
|
+
"name": "id",
|
|
53
|
+
"type": "bytes32"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"indexed": false,
|
|
57
|
+
"internalType": "bytes32",
|
|
58
|
+
"name": "secret",
|
|
59
|
+
"type": "bytes32"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"name": "Claim",
|
|
63
|
+
"type": "event"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"anonymous": false,
|
|
67
|
+
"inputs": [
|
|
68
|
+
{
|
|
69
|
+
"indexed": false,
|
|
70
|
+
"internalType": "bytes32",
|
|
71
|
+
"name": "id",
|
|
72
|
+
"type": "bytes32"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"components": [
|
|
76
|
+
{
|
|
77
|
+
"internalType": "uint256",
|
|
78
|
+
"name": "amount",
|
|
79
|
+
"type": "uint256"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"internalType": "uint256",
|
|
83
|
+
"name": "expiration",
|
|
84
|
+
"type": "uint256"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"internalType": "bytes32",
|
|
88
|
+
"name": "secretHash",
|
|
89
|
+
"type": "bytes32"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"internalType": "address",
|
|
93
|
+
"name": "tokenAddress",
|
|
94
|
+
"type": "address"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"internalType": "address",
|
|
98
|
+
"name": "refundAddress",
|
|
99
|
+
"type": "address"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"internalType": "address",
|
|
103
|
+
"name": "recipientAddress",
|
|
104
|
+
"type": "address"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"indexed": false,
|
|
108
|
+
"internalType": "struct ILiqualityHTLC.HTLCData",
|
|
109
|
+
"name": "htlc",
|
|
110
|
+
"type": "tuple"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"name": "Initiate",
|
|
114
|
+
"type": "event"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"anonymous": false,
|
|
118
|
+
"inputs": [
|
|
119
|
+
{
|
|
120
|
+
"indexed": true,
|
|
121
|
+
"internalType": "bytes32",
|
|
122
|
+
"name": "id",
|
|
123
|
+
"type": "bytes32"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"name": "Refund",
|
|
127
|
+
"type": "event"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"inputs": [
|
|
131
|
+
{
|
|
132
|
+
"internalType": "bytes32",
|
|
133
|
+
"name": "id",
|
|
134
|
+
"type": "bytes32"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"internalType": "bytes32",
|
|
138
|
+
"name": "secret",
|
|
139
|
+
"type": "bytes32"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"name": "claim",
|
|
143
|
+
"outputs": [],
|
|
144
|
+
"stateMutability": "nonpayable",
|
|
145
|
+
"type": "function"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"components": [
|
|
151
|
+
{
|
|
152
|
+
"internalType": "uint256",
|
|
153
|
+
"name": "amount",
|
|
154
|
+
"type": "uint256"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"internalType": "uint256",
|
|
158
|
+
"name": "expiration",
|
|
159
|
+
"type": "uint256"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"internalType": "bytes32",
|
|
163
|
+
"name": "secretHash",
|
|
164
|
+
"type": "bytes32"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"internalType": "address",
|
|
168
|
+
"name": "tokenAddress",
|
|
169
|
+
"type": "address"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"internalType": "address",
|
|
173
|
+
"name": "refundAddress",
|
|
174
|
+
"type": "address"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"internalType": "address",
|
|
178
|
+
"name": "recipientAddress",
|
|
179
|
+
"type": "address"
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
"internalType": "struct ILiqualityHTLC.HTLCData",
|
|
183
|
+
"name": "htlc",
|
|
184
|
+
"type": "tuple"
|
|
185
|
+
}
|
|
186
|
+
],
|
|
187
|
+
"name": "initiate",
|
|
188
|
+
"outputs": [
|
|
189
|
+
{
|
|
190
|
+
"internalType": "bytes32",
|
|
191
|
+
"name": "",
|
|
192
|
+
"type": "bytes32"
|
|
193
|
+
}
|
|
194
|
+
],
|
|
195
|
+
"stateMutability": "payable",
|
|
196
|
+
"type": "function"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"inputs": [
|
|
200
|
+
{
|
|
201
|
+
"internalType": "bytes32",
|
|
202
|
+
"name": "id",
|
|
203
|
+
"type": "bytes32"
|
|
204
|
+
}
|
|
205
|
+
],
|
|
206
|
+
"name": "refund",
|
|
207
|
+
"outputs": [],
|
|
208
|
+
"stateMutability": "nonpayable",
|
|
209
|
+
"type": "function"
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
"bytecode": "0x",
|
|
213
|
+
"deployedBytecode": "0x",
|
|
214
|
+
"linkReferences": {},
|
|
215
|
+
"deployedLinkReferences": {}
|
|
216
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "LibTransfer",
|
|
4
|
+
"sourceName": "contracts/LibTransfer.sol",
|
|
5
|
+
"abi": [],
|
|
6
|
+
"bytecode": "0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080b000a",
|
|
7
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080b000a",
|
|
8
|
+
"linkReferences": {},
|
|
9
|
+
"deployedLinkReferences": {}
|
|
10
|
+
}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "LiqualityHTLC",
|
|
4
|
+
"sourceName": "contracts/LiqualityHTLC.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "LiqualityHTLC__InvalidExpiration",
|
|
9
|
+
"type": "error"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [],
|
|
13
|
+
"name": "LiqualityHTLC__InvalidMsgValue",
|
|
14
|
+
"type": "error"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"inputs": [],
|
|
18
|
+
"name": "LiqualityHTLC__InvalidSender",
|
|
19
|
+
"type": "error"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"inputs": [],
|
|
23
|
+
"name": "LiqualityHTLC__InvalidSwapAmount",
|
|
24
|
+
"type": "error"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"inputs": [],
|
|
28
|
+
"name": "LiqualityHTLC__SwapAlreadyExists",
|
|
29
|
+
"type": "error"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"inputs": [],
|
|
33
|
+
"name": "LiqualityHTLC__SwapDoesNotExist",
|
|
34
|
+
"type": "error"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"inputs": [],
|
|
38
|
+
"name": "LiqualityHTLC__SwapNotExpired",
|
|
39
|
+
"type": "error"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputs": [],
|
|
43
|
+
"name": "LiqualityHTLC__WrongSecret",
|
|
44
|
+
"type": "error"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"anonymous": false,
|
|
48
|
+
"inputs": [
|
|
49
|
+
{
|
|
50
|
+
"indexed": true,
|
|
51
|
+
"internalType": "bytes32",
|
|
52
|
+
"name": "id",
|
|
53
|
+
"type": "bytes32"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"indexed": false,
|
|
57
|
+
"internalType": "bytes32",
|
|
58
|
+
"name": "secret",
|
|
59
|
+
"type": "bytes32"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"name": "Claim",
|
|
63
|
+
"type": "event"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"anonymous": false,
|
|
67
|
+
"inputs": [
|
|
68
|
+
{
|
|
69
|
+
"indexed": false,
|
|
70
|
+
"internalType": "bytes32",
|
|
71
|
+
"name": "id",
|
|
72
|
+
"type": "bytes32"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"components": [
|
|
76
|
+
{
|
|
77
|
+
"internalType": "uint256",
|
|
78
|
+
"name": "amount",
|
|
79
|
+
"type": "uint256"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"internalType": "uint256",
|
|
83
|
+
"name": "expiration",
|
|
84
|
+
"type": "uint256"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"internalType": "bytes32",
|
|
88
|
+
"name": "secretHash",
|
|
89
|
+
"type": "bytes32"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"internalType": "address",
|
|
93
|
+
"name": "tokenAddress",
|
|
94
|
+
"type": "address"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"internalType": "address",
|
|
98
|
+
"name": "refundAddress",
|
|
99
|
+
"type": "address"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"internalType": "address",
|
|
103
|
+
"name": "recipientAddress",
|
|
104
|
+
"type": "address"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"indexed": false,
|
|
108
|
+
"internalType": "struct ILiqualityHTLC.HTLCData",
|
|
109
|
+
"name": "htlc",
|
|
110
|
+
"type": "tuple"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"name": "Initiate",
|
|
114
|
+
"type": "event"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"anonymous": false,
|
|
118
|
+
"inputs": [
|
|
119
|
+
{
|
|
120
|
+
"indexed": true,
|
|
121
|
+
"internalType": "bytes32",
|
|
122
|
+
"name": "id",
|
|
123
|
+
"type": "bytes32"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"name": "Refund",
|
|
127
|
+
"type": "event"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"inputs": [
|
|
131
|
+
{
|
|
132
|
+
"internalType": "bytes32",
|
|
133
|
+
"name": "id",
|
|
134
|
+
"type": "bytes32"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"internalType": "bytes32",
|
|
138
|
+
"name": "secret",
|
|
139
|
+
"type": "bytes32"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"name": "claim",
|
|
143
|
+
"outputs": [],
|
|
144
|
+
"stateMutability": "nonpayable",
|
|
145
|
+
"type": "function"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"internalType": "bytes32",
|
|
151
|
+
"name": "",
|
|
152
|
+
"type": "bytes32"
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"name": "htlcs",
|
|
156
|
+
"outputs": [
|
|
157
|
+
{
|
|
158
|
+
"internalType": "uint256",
|
|
159
|
+
"name": "amount",
|
|
160
|
+
"type": "uint256"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"internalType": "uint256",
|
|
164
|
+
"name": "expiration",
|
|
165
|
+
"type": "uint256"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"internalType": "bytes32",
|
|
169
|
+
"name": "secretHash",
|
|
170
|
+
"type": "bytes32"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"internalType": "address",
|
|
174
|
+
"name": "tokenAddress",
|
|
175
|
+
"type": "address"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"internalType": "address",
|
|
179
|
+
"name": "refundAddress",
|
|
180
|
+
"type": "address"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"internalType": "address",
|
|
184
|
+
"name": "recipientAddress",
|
|
185
|
+
"type": "address"
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"stateMutability": "view",
|
|
189
|
+
"type": "function"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"inputs": [
|
|
193
|
+
{
|
|
194
|
+
"components": [
|
|
195
|
+
{
|
|
196
|
+
"internalType": "uint256",
|
|
197
|
+
"name": "amount",
|
|
198
|
+
"type": "uint256"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"internalType": "uint256",
|
|
202
|
+
"name": "expiration",
|
|
203
|
+
"type": "uint256"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"internalType": "bytes32",
|
|
207
|
+
"name": "secretHash",
|
|
208
|
+
"type": "bytes32"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"internalType": "address",
|
|
212
|
+
"name": "tokenAddress",
|
|
213
|
+
"type": "address"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"internalType": "address",
|
|
217
|
+
"name": "refundAddress",
|
|
218
|
+
"type": "address"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"internalType": "address",
|
|
222
|
+
"name": "recipientAddress",
|
|
223
|
+
"type": "address"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"internalType": "struct ILiqualityHTLC.HTLCData",
|
|
227
|
+
"name": "htlc",
|
|
228
|
+
"type": "tuple"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"name": "initiate",
|
|
232
|
+
"outputs": [
|
|
233
|
+
{
|
|
234
|
+
"internalType": "bytes32",
|
|
235
|
+
"name": "id",
|
|
236
|
+
"type": "bytes32"
|
|
237
|
+
}
|
|
238
|
+
],
|
|
239
|
+
"stateMutability": "payable",
|
|
240
|
+
"type": "function"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"inputs": [
|
|
244
|
+
{
|
|
245
|
+
"internalType": "bytes32",
|
|
246
|
+
"name": "id",
|
|
247
|
+
"type": "bytes32"
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"name": "refund",
|
|
251
|
+
"outputs": [],
|
|
252
|
+
"stateMutability": "nonpayable",
|
|
253
|
+
"type": "function"
|
|
254
|
+
}
|
|
255
|
+
],
|
|
256
|
+
"bytecode": "0x608060405234801561001057600080fd5b50610cfd806100206000396000f3fe60806040526004361061003f5760003560e01c8063337bc2fa146100445780637249fbb61461006a57806384cc9dfb1461008c57806391edd8f2146100ac575b600080fd5b610057610052366004610a95565b610147565b6040519081526020015b60405180910390f35b34801561007657600080fd5b5061008a610085366004610aad565b61036d565b005b34801561009857600080fd5b5061008a6100a7366004610ac6565b6104c8565b3480156100b857600080fd5b5061010b6100c7366004610aad565b6000602081905290815260409020805460018201546002830154600384015460048501546005909501549394929391926001600160a01b0391821692908216911686565b604080519687526020870195909552938501929092526001600160a01b03908116606085015290811660808401521660a082015260c001610061565b6000428260200135101561016e5760405163e7ec8bc960e01b815260040160405180910390fd5b813561018d57604051639f7fe22f60e01b815260040160405180910390fd5b600061019f6080840160608501610b00565b6001600160a01b031614156101d457813534146101cf576040516309a9fccd60e01b815260040160405180910390fd5b61021b565b34156101f3576040516309a9fccd60e01b815260040160405180910390fd5b61021b3330843561020a6080870160608801610b00565b6001600160a01b03169291906106a0565b600261022d60a0840160808501610b00565b4284356020860135604087013561024a60c0890160a08a01610b00565b604080516001600160a01b039788166020820152908101959095526060850193909352608084019190915260a083015290911660c082015260e00160408051601f198184030181529082905261029f91610b49565b602060405180830381855afa1580156102bc573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906102df9190610b65565b600081815260208190526040902060010154909150156103125760405163908b86b760e01b815260040160405180910390fd5b6000818152602081905260409020829061032c8282610b7e565b9050507f3c07675a13dc2c3d44c781f9dd3db9ac3a9cc543a5f46777f7bd60a942cf6eb78183604051610360929190610c1e565b60405180910390a1919050565b60008181526020818152604091829020825160c08101845281548152600182015492810183905260028201549381019390935260038101546001600160a01b0390811660608501526004820154811660808501526005909101541660a08301526103ea5760405163501a3cef60e11b815260040160405180910390fd5b8060200151421161040e576040516377128aa160e11b815260040160405180910390fd5b60008281526020819052604080822082815560018101839055600281018390556003810180546001600160a01b0319908116909155600482018054821690556005909101805490911690555183917f3fbd469ec3a5ce074f975f76ce27e727ba21c99176917b97ae2e713695582a1291a260608101516001600160a01b03166104a7576104a38160800151826000015161073e565b5050565b6080810151815160608301516104a3926001600160a01b03909116916107e6565b60008281526020818152604091829020825160c08101845281548152600182015492810183905260028201549381019390935260038101546001600160a01b0390811660608501526004820154811660808501526005909101541660a08301526105455760405163501a3cef60e11b815260040160405180910390fd5b806040015160028360405160200161055f91815260200190565b60408051601f198184030181529082905261057991610b49565b602060405180830381855afa158015610596573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906105b99190610b65565b146105d7576040516392631d5760e01b815260040160405180910390fd5b6000838152602081815260408083208381556001810184905560028101939093556003830180546001600160a01b03199081169091556004840180548216905560059093018054909316909255905183815284917f5664142af3dcfc3dc3de45a43f75c746bd1d8c11170a5037fdf98bdb35775137910160405180910390a260608101516001600160a01b031661067f5761067a8160a00151826000015161073e565b505050565b60a08101518151606083015161067a926001600160a01b03909116916107e6565b6040516001600160a01b03808516602483015283166044820152606481018290526107389085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610816565b50505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461078b576040519150601f19603f3d011682016040523d82523d6000602084013e610790565b606091505b505090508061067a5760405162461bcd60e51b815260206004820152600f60248201527f7472616e73666572206661696c6564000000000000000000000000000000000060448201526064015b60405180910390fd5b6040516001600160a01b03831660248201526044810182905261067a90849063a9059cbb60e01b906064016106d4565b600061086b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108fb9092919063ffffffff16565b80519091501561067a57808060200190518101906108899190610c9b565b61067a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016107dd565b606061090a8484600085610914565b90505b9392505050565b60608247101561098c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016107dd565b6001600160a01b0385163b6109e35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107dd565b600080866001600160a01b031685876040516109ff9190610b49565b60006040518083038185875af1925050503d8060008114610a3c576040519150601f19603f3d011682016040523d82523d6000602084013e610a41565b606091505b5091509150610a51828286610a5c565b979650505050505050565b60608315610a6b57508161090d565b825115610a7b5782518084602001fd5b8160405162461bcd60e51b81526004016107dd9190610cbd565b600060c08284031215610aa757600080fd5b50919050565b600060208284031215610abf57600080fd5b5035919050565b60008060408385031215610ad957600080fd5b50508035926020909101359150565b6001600160a01b0381168114610afd57600080fd5b50565b600060208284031215610b1257600080fd5b813561090d81610ae8565b60005b83811015610b38578181015183820152602001610b20565b838111156107385750506000910152565b60008251610b5b818460208701610b1d565b9190910192915050565b600060208284031215610b7757600080fd5b5051919050565b8135815560208201356001820155604082013560028201556060820135610ba481610ae8565b6003820180546001600160a01b0319166001600160a01b038316179055506080820135610bd081610ae8565b6004820180546001600160a01b0319166001600160a01b0383161790555060a0820135610bfc81610ae8565b6005820180546001600160a01b0319166001600160a01b038316179055505050565b600060e0820190508382528235602083015260208301356040830152604083013560608301526060830135610c5281610ae8565b6001600160a01b03808216608085015260808501359150610c7282610ae8565b80821660a085015260a08501359150610c8a82610ae8565b80821660c085015250509392505050565b600060208284031215610cad57600080fd5b8151801515811461090d57600080fd5b6020815260008251806020840152610cdc816040850160208701610b1d565b601f01601f1916919091016040019291505056fea164736f6c634300080b000a",
|
|
257
|
+
"deployedBytecode": "0x60806040526004361061003f5760003560e01c8063337bc2fa146100445780637249fbb61461006a57806384cc9dfb1461008c57806391edd8f2146100ac575b600080fd5b610057610052366004610a95565b610147565b6040519081526020015b60405180910390f35b34801561007657600080fd5b5061008a610085366004610aad565b61036d565b005b34801561009857600080fd5b5061008a6100a7366004610ac6565b6104c8565b3480156100b857600080fd5b5061010b6100c7366004610aad565b6000602081905290815260409020805460018201546002830154600384015460048501546005909501549394929391926001600160a01b0391821692908216911686565b604080519687526020870195909552938501929092526001600160a01b03908116606085015290811660808401521660a082015260c001610061565b6000428260200135101561016e5760405163e7ec8bc960e01b815260040160405180910390fd5b813561018d57604051639f7fe22f60e01b815260040160405180910390fd5b600061019f6080840160608501610b00565b6001600160a01b031614156101d457813534146101cf576040516309a9fccd60e01b815260040160405180910390fd5b61021b565b34156101f3576040516309a9fccd60e01b815260040160405180910390fd5b61021b3330843561020a6080870160608801610b00565b6001600160a01b03169291906106a0565b600261022d60a0840160808501610b00565b4284356020860135604087013561024a60c0890160a08a01610b00565b604080516001600160a01b039788166020820152908101959095526060850193909352608084019190915260a083015290911660c082015260e00160408051601f198184030181529082905261029f91610b49565b602060405180830381855afa1580156102bc573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906102df9190610b65565b600081815260208190526040902060010154909150156103125760405163908b86b760e01b815260040160405180910390fd5b6000818152602081905260409020829061032c8282610b7e565b9050507f3c07675a13dc2c3d44c781f9dd3db9ac3a9cc543a5f46777f7bd60a942cf6eb78183604051610360929190610c1e565b60405180910390a1919050565b60008181526020818152604091829020825160c08101845281548152600182015492810183905260028201549381019390935260038101546001600160a01b0390811660608501526004820154811660808501526005909101541660a08301526103ea5760405163501a3cef60e11b815260040160405180910390fd5b8060200151421161040e576040516377128aa160e11b815260040160405180910390fd5b60008281526020819052604080822082815560018101839055600281018390556003810180546001600160a01b0319908116909155600482018054821690556005909101805490911690555183917f3fbd469ec3a5ce074f975f76ce27e727ba21c99176917b97ae2e713695582a1291a260608101516001600160a01b03166104a7576104a38160800151826000015161073e565b5050565b6080810151815160608301516104a3926001600160a01b03909116916107e6565b60008281526020818152604091829020825160c08101845281548152600182015492810183905260028201549381019390935260038101546001600160a01b0390811660608501526004820154811660808501526005909101541660a08301526105455760405163501a3cef60e11b815260040160405180910390fd5b806040015160028360405160200161055f91815260200190565b60408051601f198184030181529082905261057991610b49565b602060405180830381855afa158015610596573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906105b99190610b65565b146105d7576040516392631d5760e01b815260040160405180910390fd5b6000838152602081815260408083208381556001810184905560028101939093556003830180546001600160a01b03199081169091556004840180548216905560059093018054909316909255905183815284917f5664142af3dcfc3dc3de45a43f75c746bd1d8c11170a5037fdf98bdb35775137910160405180910390a260608101516001600160a01b031661067f5761067a8160a00151826000015161073e565b505050565b60a08101518151606083015161067a926001600160a01b03909116916107e6565b6040516001600160a01b03808516602483015283166044820152606481018290526107389085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610816565b50505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461078b576040519150601f19603f3d011682016040523d82523d6000602084013e610790565b606091505b505090508061067a5760405162461bcd60e51b815260206004820152600f60248201527f7472616e73666572206661696c6564000000000000000000000000000000000060448201526064015b60405180910390fd5b6040516001600160a01b03831660248201526044810182905261067a90849063a9059cbb60e01b906064016106d4565b600061086b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108fb9092919063ffffffff16565b80519091501561067a57808060200190518101906108899190610c9b565b61067a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016107dd565b606061090a8484600085610914565b90505b9392505050565b60608247101561098c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016107dd565b6001600160a01b0385163b6109e35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107dd565b600080866001600160a01b031685876040516109ff9190610b49565b60006040518083038185875af1925050503d8060008114610a3c576040519150601f19603f3d011682016040523d82523d6000602084013e610a41565b606091505b5091509150610a51828286610a5c565b979650505050505050565b60608315610a6b57508161090d565b825115610a7b5782518084602001fd5b8160405162461bcd60e51b81526004016107dd9190610cbd565b600060c08284031215610aa757600080fd5b50919050565b600060208284031215610abf57600080fd5b5035919050565b60008060408385031215610ad957600080fd5b50508035926020909101359150565b6001600160a01b0381168114610afd57600080fd5b50565b600060208284031215610b1257600080fd5b813561090d81610ae8565b60005b83811015610b38578181015183820152602001610b20565b838111156107385750506000910152565b60008251610b5b818460208701610b1d565b9190910192915050565b600060208284031215610b7757600080fd5b5051919050565b8135815560208201356001820155604082013560028201556060820135610ba481610ae8565b6003820180546001600160a01b0319166001600160a01b038316179055506080820135610bd081610ae8565b6004820180546001600160a01b0319166001600160a01b0383161790555060a0820135610bfc81610ae8565b6005820180546001600160a01b0319166001600160a01b038316179055505050565b600060e0820190508382528235602083015260208301356040830152604083013560608301526060830135610c5281610ae8565b6001600160a01b03808216608085015260808501359150610c7282610ae8565b80821660a085015260a08501359150610c8a82610ae8565b80821660c085015250509392505050565b600060208284031215610cad57600080fd5b8151801515811461090d57600080fd5b6020815260008251806020840152610cdc816040850160208701610b1d565b601f01601f1916919091016040019291505056fea164736f6c634300080b000a",
|
|
258
|
+
"linkReferences": {},
|
|
259
|
+
"deployedLinkReferences": {}
|
|
260
|
+
}
|