blob: 0656271db57bda0fa33cb2bdda96402e74f1f6fe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.8.0;
library NativeAssets {
address constant balanceAddr = 0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF;
address constant transferAddr = 0xffffFFFfFFffffffffffffffFfFFFfffFFFfFFfE;
function assetBalance(address addr, uint256 assetID) public returns (uint256) {
(bool success, bytes memory data) = balanceAddr.call(abi.encodePacked(addr, assetID));
require(success, "assetBalance failed");
return abi.decode(data, (uint256));
}
function assetCall(address addr, uint256 assetID, uint256 assetAmount, bytes memory callData) public returns (bytes memory) {
(bool success, bytes memory data) = transferAddr.call(abi.encodePacked(addr, assetID, assetAmount, callData));
require(success, "assetCall failed");
return data;
}
}
|