@trustline.id/web3sdk 1.0.2 → 1.0.4
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/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +56 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +76 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol/ERC1967Utils.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol/ERC1967Utils.json +49 -0
- package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +15 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +24 -0
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +22 -0
- package/artifacts/@openzeppelin/contracts/utils/Errors.sol/Errors.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Errors.sol/Errors.json +48 -0
- package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +10 -0
- package/artifacts/build-info/0aeaaf28859d341e1ee9ffb3d4ab07fc.json +1 -0
- package/artifacts/build-info/b10e3fa14fea75fdb2ecc56bfe679f1a.json +1 -0
- package/artifacts/contracts/Trustlined.sol/Trustlined.dbg.json +1 -1
- package/artifacts/contracts/Trustlined.sol/Trustlined.json +31 -0
- package/artifacts/contracts/examples/PaymentFirewall.sol/PaymentFirewall.dbg.json +1 -1
- package/artifacts/contracts/examples/PaymentFirewall.sol/PaymentFirewall.json +39 -3
- package/artifacts/contracts/interfaces/IValidationEngine.sol/IValidationEngine.dbg.json +1 -1
- package/contracts/Trustlined.sol +39 -6
- package/contracts/examples/PaymentFirewall.sol +5 -7
- package/contracts/interfaces/IValidationEngine.sol +3 -1
- package/dist/bundle.js +31 -0
- package/package.json +1 -1
|
@@ -3,6 +3,37 @@
|
|
|
3
3
|
"contractName": "Trustlined",
|
|
4
4
|
"sourceName": "contracts/Trustlined.sol",
|
|
5
5
|
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"anonymous": false,
|
|
8
|
+
"inputs": [
|
|
9
|
+
{
|
|
10
|
+
"indexed": true,
|
|
11
|
+
"internalType": "address",
|
|
12
|
+
"name": "client",
|
|
13
|
+
"type": "address"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"indexed": true,
|
|
17
|
+
"internalType": "address",
|
|
18
|
+
"name": "engineProxy",
|
|
19
|
+
"type": "address"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"indexed": true,
|
|
23
|
+
"internalType": "address",
|
|
24
|
+
"name": "logic",
|
|
25
|
+
"type": "address"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"indexed": false,
|
|
29
|
+
"internalType": "address",
|
|
30
|
+
"name": "initialOwner",
|
|
31
|
+
"type": "address"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"name": "ValidationEngineDeployed",
|
|
35
|
+
"type": "event"
|
|
36
|
+
},
|
|
6
37
|
{
|
|
7
38
|
"inputs": [],
|
|
8
39
|
"name": "validationEngine",
|
|
@@ -7,13 +7,49 @@
|
|
|
7
7
|
"inputs": [
|
|
8
8
|
{
|
|
9
9
|
"internalType": "address",
|
|
10
|
-
"name": "
|
|
10
|
+
"name": "trustlineValidationEngineLogic",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "trustlineValidationEngineProxy",
|
|
11
16
|
"type": "address"
|
|
12
17
|
}
|
|
13
18
|
],
|
|
14
19
|
"stateMutability": "nonpayable",
|
|
15
20
|
"type": "constructor"
|
|
16
21
|
},
|
|
22
|
+
{
|
|
23
|
+
"anonymous": false,
|
|
24
|
+
"inputs": [
|
|
25
|
+
{
|
|
26
|
+
"indexed": true,
|
|
27
|
+
"internalType": "address",
|
|
28
|
+
"name": "client",
|
|
29
|
+
"type": "address"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"indexed": true,
|
|
33
|
+
"internalType": "address",
|
|
34
|
+
"name": "engineProxy",
|
|
35
|
+
"type": "address"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"indexed": true,
|
|
39
|
+
"internalType": "address",
|
|
40
|
+
"name": "logic",
|
|
41
|
+
"type": "address"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"indexed": false,
|
|
45
|
+
"internalType": "address",
|
|
46
|
+
"name": "initialOwner",
|
|
47
|
+
"type": "address"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"name": "ValidationEngineDeployed",
|
|
51
|
+
"type": "event"
|
|
52
|
+
},
|
|
17
53
|
{
|
|
18
54
|
"inputs": [
|
|
19
55
|
{
|
|
@@ -64,8 +100,8 @@
|
|
|
64
100
|
"type": "function"
|
|
65
101
|
}
|
|
66
102
|
],
|
|
67
|
-
"bytecode": "
|
|
68
|
-
"deployedBytecode": "
|
|
103
|
+
"bytecode": "0x608060405234801561000f575f5ffd5b50604051610ccf380380610ccf83398101604081905261002e9161028d565b818161003a8282610043565b50505050610302565b61004d8282610051565b5050565b5f546001600160a01b0316156100ae5760405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a65640000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b03811615610136575f816001600160a01b03163b116101165760405162461bcd60e51b815260206004820152601760248201527f50726f7879206973206e6f74206120636f6e747261637400000000000000000060448201526064016100a5565b5f80546001600160a01b0383166001600160a01b03199091161790555050565b5f826001600160a01b03163b1161018f5760405162461bcd60e51b815260206004820152601760248201527f4c6f676963206973206e6f74206120636f6e747261637400000000000000000060448201526064016100a5565b6040513360248201819052905f9060440160408051601f198184030181529181526020820180516001600160e01b031663189acdbd60e31b179052519091505f90859083906101dd90610265565b6101e89291906102be565b604051809103905ff080158015610201573d5f5f3e3d5ffd5b505f80546001600160a01b0319166001600160a01b0383811691821790925560405186831681529293509087169130907fdd2b45b3a7206829b6ff077a468ad28c22d407de65990543cb4e4a8e8f8ba5c19060200160405180910390a45050505050565b6103dd806108f283390190565b80516001600160a01b0381168114610288575f5ffd5b919050565b5f5f6040838503121561029e575f5ffd5b6102a783610272565b91506102b560208401610272565b90509250929050565b60018060a01b0383168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b6105e38061030f5f395ff3fe608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b50610056610051366004610436565b6100bf565b005b610056610066366004610474565b61024a565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106100f3576100f3610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506101368161038c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d591906104c3565b905080610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f8151811061027e5761027e610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506102c18161038c565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f8114610317576040519150601f19603f3d011682016040523d82523d5f602084013e61031c565b606091505b5050905080610387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920657468657273000000000000000000000000604482015260640161023a565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916103e9913391349190369088906004016104e2565b5f604051808303815f87803b158015610400575f5ffd5b505af1158015610243573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff81168114610433575f5ffd5b50565b5f5f5f60608486031215610448575f5ffd5b833561045381610412565b9250602084013561046381610412565b929592945050506040919091013590565b5f60208284031215610484575f5ffd5b813561048f81610412565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156104d3575f5ffd5b8151801515811461048f575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b8083101561059f5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610566565b50999850505050505050505056fea264697066735822122087c461a3df0071ee8b59e067faed4b35dc0fe7089dc2e91b9f434c4494dd06b664736f6c634300081c003360806040526040516103dd3803806103dd8339810160408190526100229161023c565b61002c8282610033565b5050610321565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610128919061030b565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020f5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561024d575f5ffd5b82516001600160a01b0381168114610263575f5ffd5b60208401519092506001600160401b0381111561027e575f5ffd5b8301601f8101851361028e575f5ffd5b80516001600160401b038111156102a7576102a7610228565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d5576102d5610228565b6040528181528282016020018710156102ec575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b60b08061032d5f395ff3fe6080604052600a600c565b005b60186014601a565b605d565b565b5f60587f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156076573d5ff35b3d5ffdfea2646970667358221220135bdee684c63adc98111b5f8ef1566e2b1841823b3a85d9ed6bc17a6c0ebb2064736f6c634300081c0033",
|
|
104
|
+
"deployedBytecode": "0x608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b50610056610051366004610436565b6100bf565b005b610056610066366004610474565b61024a565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106100f3576100f3610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506101368161038c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d591906104c3565b905080610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f8151811061027e5761027e610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506102c18161038c565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f8114610317576040519150601f19603f3d011682016040523d82523d5f602084013e61031c565b606091505b5050905080610387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920657468657273000000000000000000000000604482015260640161023a565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916103e9913391349190369088906004016104e2565b5f604051808303815f87803b158015610400575f5ffd5b505af1158015610243573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff81168114610433575f5ffd5b50565b5f5f5f60608486031215610448575f5ffd5b833561045381610412565b9250602084013561046381610412565b929592945050506040919091013590565b5f60208284031215610484575f5ffd5b813561048f81610412565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156104d3575f5ffd5b8151801515811461048f575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b8083101561059f5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610566565b50999850505050505050505056fea264697066735822122087c461a3df0071ee8b59e067faed4b35dc0fe7089dc2e91b9f434c4494dd06b664736f6c634300081c0033",
|
|
69
105
|
"linkReferences": {},
|
|
70
106
|
"deployedLinkReferences": {}
|
|
71
107
|
}
|
package/contracts/Trustlined.sol
CHANGED
|
@@ -1,29 +1,62 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity ^0.8;
|
|
3
3
|
|
|
4
|
+
import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
|
|
4
5
|
import {IValidationEngine} from "./interfaces/IValidationEngine.sol";
|
|
5
6
|
|
|
6
7
|
/// @title Trustline's Base Contract
|
|
7
8
|
/// @author Trustline
|
|
8
9
|
/// @notice This library provides functions for verifying the trust status of a transaction
|
|
9
10
|
abstract contract Trustlined {
|
|
11
|
+
/// @notice Emitted when a new Validation Engine proxy is deployed for this client contract.
|
|
12
|
+
/// @dev `client` is the address of the integrating contract (i.e., the contract inheriting from Trustlined).
|
|
13
|
+
/// @dev `engineProxy` is the freshly deployed ERC1967 proxy address for the Validation Engine instance.
|
|
14
|
+
/// @dev `logic` is the Validation Engine implementation (logic) contract the proxy points to at deployment time.
|
|
15
|
+
/// @dev `initialOwner` is the address passed to the engine's `initialize(address)` call (typically the deployer/initializer).
|
|
16
|
+
event ValidationEngineDeployed(
|
|
17
|
+
address indexed client,
|
|
18
|
+
address indexed engineProxy,
|
|
19
|
+
address indexed logic,
|
|
20
|
+
address initialOwner
|
|
21
|
+
);
|
|
22
|
+
|
|
10
23
|
/// @notice The Trustline ValidationEngine contract address. It must be set before any of the provided functions can be used
|
|
11
24
|
/// @dev Multiple dapps can share the same ValidationEngine contract
|
|
12
25
|
/// @dev This contract is set by the owner and must implement the IValidationEngine interface
|
|
13
26
|
IValidationEngine public validationEngine;
|
|
14
27
|
|
|
15
28
|
/// @dev Both a constructor and initializer functions are defined to support both upgradeable and non-upgradeable deployment scenarios
|
|
16
|
-
|
|
17
|
-
|
|
29
|
+
/// @param trustlineValidationEngineLogic The Validation Engine logic contract address for deploying a proxy (used only if validationEngineAddress is zero)
|
|
30
|
+
/// @param trustlineValidationEngineProxy Optional Validation Engine proxy address. If provided (non-zero), it will be used directly instead of deploying a new proxy
|
|
31
|
+
constructor(address trustlineValidationEngineLogic, address trustlineValidationEngineProxy) {
|
|
32
|
+
__Trustlined_init(trustlineValidationEngineLogic, trustlineValidationEngineProxy);
|
|
18
33
|
}
|
|
19
34
|
|
|
20
|
-
function __Trustlined_init(address
|
|
21
|
-
__Trustlined_init_unchained(
|
|
35
|
+
function __Trustlined_init(address logic, address proxy) internal {
|
|
36
|
+
__Trustlined_init_unchained(logic, proxy);
|
|
22
37
|
}
|
|
23
38
|
|
|
24
|
-
function __Trustlined_init_unchained(address
|
|
39
|
+
function __Trustlined_init_unchained(address logic, address proxy) internal {
|
|
25
40
|
require(address(validationEngine) == address(0), "Already initialized");
|
|
26
|
-
|
|
41
|
+
|
|
42
|
+
if (proxy != address(0)) {
|
|
43
|
+
// Use the provided Validation Engine proxy
|
|
44
|
+
require(proxy.code.length > 0, "Proxy is not a contract");
|
|
45
|
+
validationEngine = IValidationEngine(proxy);
|
|
46
|
+
} else {
|
|
47
|
+
// Deploy a new Validation Engine proxy
|
|
48
|
+
require(logic.code.length > 0, "Logic is not a contract");
|
|
49
|
+
|
|
50
|
+
address initialOwner = msg.sender;
|
|
51
|
+
|
|
52
|
+
// Deployment of the Validation Engine proxy
|
|
53
|
+
bytes memory data = abi.encodeWithSignature("initialize(address)", initialOwner);
|
|
54
|
+
address proxy_ = address(new ERC1967Proxy(logic, data));
|
|
55
|
+
|
|
56
|
+
validationEngine = IValidationEngine(proxy_);
|
|
57
|
+
|
|
58
|
+
emit ValidationEngineDeployed(address(this), proxy_, logic, initialOwner);
|
|
59
|
+
}
|
|
27
60
|
}
|
|
28
61
|
|
|
29
62
|
/// @notice Checks whether a transaction is trusted and verifies msg.sender + addresses[] against sanctions lists
|
|
@@ -9,14 +9,13 @@ import {Trustlined} from "../Trustlined.sol";
|
|
|
9
9
|
/// @author Trustline
|
|
10
10
|
/// @notice This contract is a firewall ensuring all funds going in and out are compliant
|
|
11
11
|
contract PaymentFirewall is Trustlined {
|
|
12
|
-
constructor(address
|
|
12
|
+
constructor(address trustlineValidationEngineLogic, address trustlineValidationEngineProxy) Trustlined(trustlineValidationEngineLogic, trustlineValidationEngineProxy) {}
|
|
13
13
|
|
|
14
14
|
/// @notice Pay native ethers to a recipient
|
|
15
15
|
/// @param destination The recipient address
|
|
16
16
|
function payEthers(address payable destination) public payable {
|
|
17
|
-
address[] memory addresses = new address[](
|
|
18
|
-
addresses[0] =
|
|
19
|
-
addresses[1] = destination;
|
|
17
|
+
address[] memory addresses = new address[](1);
|
|
18
|
+
addresses[0] = destination;
|
|
20
19
|
requireTrustline(addresses);
|
|
21
20
|
(bool sent, ) = destination.call{value: msg.value}("");
|
|
22
21
|
require(sent, "Unable to pay ethers");
|
|
@@ -27,9 +26,8 @@ contract PaymentFirewall is Trustlined {
|
|
|
27
26
|
/// @param token The ERC20 token address
|
|
28
27
|
/// @param value The amount of tokens to pay
|
|
29
28
|
function payTokens(address destination, address token, uint256 value) external {
|
|
30
|
-
address[] memory addresses = new address[](
|
|
31
|
-
addresses[0] =
|
|
32
|
-
addresses[1] = destination;
|
|
29
|
+
address[] memory addresses = new address[](1);
|
|
30
|
+
addresses[0] = destination;
|
|
33
31
|
requireTrustline(addresses);
|
|
34
32
|
bool sent = IERC20(token).transferFrom(msg.sender, destination, value);
|
|
35
33
|
require(sent, "Unable to pay tokens");
|
|
@@ -8,7 +8,9 @@ pragma solidity ^0.8;
|
|
|
8
8
|
interface IValidationEngine {
|
|
9
9
|
enum ValidationMode {
|
|
10
10
|
Dapp,
|
|
11
|
-
UniswapV4
|
|
11
|
+
UniswapV4,
|
|
12
|
+
MorphoV2,
|
|
13
|
+
ERC3643
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
/// @notice Checks whether a transaction is trusted and verifies msg.sender + addresses[] against sanctions lists (advanced)
|
package/dist/bundle.js
CHANGED
|
@@ -4,6 +4,37 @@ module.exports={
|
|
|
4
4
|
"contractName": "Trustlined",
|
|
5
5
|
"sourceName": "contracts/Trustlined.sol",
|
|
6
6
|
"abi": [
|
|
7
|
+
{
|
|
8
|
+
"anonymous": false,
|
|
9
|
+
"inputs": [
|
|
10
|
+
{
|
|
11
|
+
"indexed": true,
|
|
12
|
+
"internalType": "address",
|
|
13
|
+
"name": "client",
|
|
14
|
+
"type": "address"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"indexed": true,
|
|
18
|
+
"internalType": "address",
|
|
19
|
+
"name": "engineProxy",
|
|
20
|
+
"type": "address"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"indexed": true,
|
|
24
|
+
"internalType": "address",
|
|
25
|
+
"name": "logic",
|
|
26
|
+
"type": "address"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"indexed": false,
|
|
30
|
+
"internalType": "address",
|
|
31
|
+
"name": "initialOwner",
|
|
32
|
+
"type": "address"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"name": "ValidationEngineDeployed",
|
|
36
|
+
"type": "event"
|
|
37
|
+
},
|
|
7
38
|
{
|
|
8
39
|
"inputs": [],
|
|
9
40
|
"name": "validationEngine",
|
package/package.json
CHANGED