@trustline.id/web3sdk 1.0.1 → 1.0.3

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.
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/76f09eb27f670259b58a26cf15f46c60.json"
3
+ "buildInfo": "../../build-info/b10e3fa14fea75fdb2ecc56bfe679f1a.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/76f09eb27f670259b58a26cf15f46c60.json"
3
+ "buildInfo": "../../../build-info/b10e3fa14fea75fdb2ecc56bfe679f1a.json"
4
4
  }
@@ -7,7 +7,7 @@
7
7
  "inputs": [
8
8
  {
9
9
  "internalType": "address",
10
- "name": "compliance",
10
+ "name": "validationEngine",
11
11
  "type": "address"
12
12
  }
13
13
  ],
@@ -64,8 +64,8 @@
64
64
  "type": "function"
65
65
  }
66
66
  ],
67
- "bytecode": "0x608060405234801561000f575f5ffd5b5060405161077f38038061077f83398101604081905261002e916100c8565b806100388161003f565b50506100f5565b6100488161004b565b50565b5f546001600160a01b0316156100a75760405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015260640160405180910390fd5b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602082840312156100d8575f5ffd5b81516001600160a01b03811681146100ee575f5ffd5b9392505050565b61067d806101025f395ff3fe608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b506100566100513660046104d0565b6100bf565b005b61005661006636600461050e565b610297565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106100f2576100f2610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050838160018151811061014057610140610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061018381610426565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101fe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610222919061055d565b905080610290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106102ca576102ca610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061031857610318610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061035b81610426565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f81146103b1576040519150601f19603f3d011682016040523d82523d5f602084013e6103b6565b606091505b5050905080610421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f20706179206574686572730000000000000000000000006044820152606401610287565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916104839133913491903690889060040161057c565b5f604051808303815f87803b15801561049a575f5ffd5b505af1158015610290573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff811681146104cd575f5ffd5b50565b5f5f5f606084860312156104e2575f5ffd5b83356104ed816104ac565b925060208401356104fd816104ac565b929592945050506040919091013590565b5f6020828403121561051e575f5ffd5b8135610529816104ac565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561056d575f5ffd5b81518015158114610529575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b808310156106395773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610600565b50999850505050505050505056fea264697066735822122005f814daf1de1cc268ecd58518f1d07a5daa00b22467b0f75d9852f8a5a5844d64736f6c634300081c0033",
68
- "deployedBytecode": "0x608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b506100566100513660046104d0565b6100bf565b005b61005661006636600461050e565b610297565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106100f2576100f2610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050838160018151811061014057610140610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061018381610426565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101fe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610222919061055d565b905080610290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160028082526060820183525f9260208301908036833701905050905033815f815181106102ca576102ca610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818160018151811061031857610318610530565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061035b81610426565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f81146103b1576040519150601f19603f3d011682016040523d82523d5f602084013e6103b6565b606091505b5050905080610421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f20706179206574686572730000000000000000000000006044820152606401610287565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916104839133913491903690889060040161057c565b5f604051808303815f87803b15801561049a575f5ffd5b505af1158015610290573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff811681146104cd575f5ffd5b50565b5f5f5f606084860312156104e2575f5ffd5b83356104ed816104ac565b925060208401356104fd816104ac565b929592945050506040919091013590565b5f6020828403121561051e575f5ffd5b8135610529816104ac565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561056d575f5ffd5b81518015158114610529575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b808310156106395773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610600565b50999850505050505050505056fea264697066735822122005f814daf1de1cc268ecd58518f1d07a5daa00b22467b0f75d9852f8a5a5844d64736f6c634300081c0033",
67
+ "bytecode": "0x608060405234801561000f575f5ffd5b506040516106e53803806106e583398101604081905261002e916100c8565b806100388161003f565b50506100f5565b6100488161004b565b50565b5f546001600160a01b0316156100a75760405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015260640160405180910390fd5b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602082840312156100d8575f5ffd5b81516001600160a01b03811681146100ee575f5ffd5b9392505050565b6105e3806101025f395ff3fe608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b50610056610051366004610436565b6100bf565b005b610056610066366004610474565b61024a565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106100f3576100f3610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506101368161038c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d591906104c3565b905080610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f8151811061027e5761027e610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506102c18161038c565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f8114610317576040519150601f19603f3d011682016040523d82523d5f602084013e61031c565b606091505b5050905080610387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920657468657273000000000000000000000000604482015260640161023a565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916103e9913391349190369088906004016104e2565b5f604051808303815f87803b158015610400575f5ffd5b505af1158015610243573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff81168114610433575f5ffd5b50565b5f5f5f60608486031215610448575f5ffd5b833561045381610412565b9250602084013561046381610412565b929592945050506040919091013590565b5f60208284031215610484575f5ffd5b813561048f81610412565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156104d3575f5ffd5b8151801515811461048f575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b8083101561059f5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610566565b50999850505050505050505056fea26469706673582212207239e00c7cc2793b19c1cc42645fab24a2c2f4c1b587a1e6f1cdb52b7ee3679564736f6c634300081c0033",
68
+ "deployedBytecode": "0x608060405260043610610033575f3560e01c80632be277aa14610037578063666c6f23146100585780637d4f064e1461006b575b5f5ffd5b348015610042575f5ffd5b50610056610051366004610436565b6100bf565b005b610056610066366004610474565b61024a565b348015610076575f5ffd5b505f546100969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6040805160018082528183019092525f916020808301908036833701905050905083815f815181106100f3576100f3610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506101368161038c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8581166024830152604482018490525f91908516906323b872dd906064016020604051808303815f875af11580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d591906104c3565b905080610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920746f6b656e7300000000000000000000000060448201526064015b60405180910390fd5b5050505050565b6040805160018082528183019092525f916020808301908036833701905050905081815f8151811061027e5761027e610496565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506102c18161038c565b5f8273ffffffffffffffffffffffffffffffffffffffff16346040515f6040518083038185875af1925050503d805f8114610317576040519150601f19603f3d011682016040523d82523d5f602084013e61031c565b606091505b5050905080610387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e61626c6520746f2070617920657468657273000000000000000000000000604482015260640161023a565b505050565b5f80546040517f6cfd0c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911691636cfd0c09916103e9913391349190369088906004016104e2565b5f604051808303815f87803b158015610400575f5ffd5b505af1158015610243573d5f5f3e3d5ffd5b73ffffffffffffffffffffffffffffffffffffffff81168114610433575f5ffd5b50565b5f5f5f60608486031215610448575f5ffd5b833561045381610412565b9250602084013561046381610412565b929592945050506040919091013590565b5f60208284031215610484575f5ffd5b813561048f81610412565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156104d3575f5ffd5b8151801515811461048f575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152826080820152828460a08301375f60a084830181018290527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011683018381038201606085015284519181018290526020850191839160c001905b8083101561059f5773ffffffffffffffffffffffffffffffffffffffff8451168252602082019150602084019350600183019250610566565b50999850505050505050505056fea26469706673582212207239e00c7cc2793b19c1cc42645fab24a2c2f4c1b587a1e6f1cdb52b7ee3679564736f6c634300081c0033",
69
69
  "linkReferences": {},
70
70
  "deployedLinkReferences": {}
71
71
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/76f09eb27f670259b58a26cf15f46c60.json"
3
+ "buildInfo": "../../../build-info/b10e3fa14fea75fdb2ecc56bfe679f1a.json"
4
4
  }
@@ -32,6 +32,45 @@
32
32
  "stateMutability": "view",
33
33
  "type": "function"
34
34
  },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "enum IValidationEngine.ValidationMode",
39
+ "name": "mode",
40
+ "type": "uint8"
41
+ },
42
+ {
43
+ "internalType": "address",
44
+ "name": "sender",
45
+ "type": "address"
46
+ },
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "value",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "bytes",
54
+ "name": "data",
55
+ "type": "bytes"
56
+ },
57
+ {
58
+ "internalType": "address[]",
59
+ "name": "addresses",
60
+ "type": "address[]"
61
+ }
62
+ ],
63
+ "name": "checkTrustlineStatus",
64
+ "outputs": [
65
+ {
66
+ "internalType": "bool",
67
+ "name": "",
68
+ "type": "bool"
69
+ }
70
+ ],
71
+ "stateMutability": "view",
72
+ "type": "function"
73
+ },
35
74
  {
36
75
  "inputs": [
37
76
  {
@@ -116,6 +155,39 @@
116
155
  "outputs": [],
117
156
  "stateMutability": "nonpayable",
118
157
  "type": "function"
158
+ },
159
+ {
160
+ "inputs": [
161
+ {
162
+ "internalType": "enum IValidationEngine.ValidationMode",
163
+ "name": "mode",
164
+ "type": "uint8"
165
+ },
166
+ {
167
+ "internalType": "address",
168
+ "name": "sender",
169
+ "type": "address"
170
+ },
171
+ {
172
+ "internalType": "uint256",
173
+ "name": "value",
174
+ "type": "uint256"
175
+ },
176
+ {
177
+ "internalType": "bytes",
178
+ "name": "data",
179
+ "type": "bytes"
180
+ },
181
+ {
182
+ "internalType": "address[]",
183
+ "name": "addresses",
184
+ "type": "address[]"
185
+ }
186
+ ],
187
+ "name": "requireTrustline",
188
+ "outputs": [],
189
+ "stateMutability": "nonpayable",
190
+ "type": "function"
119
191
  }
120
192
  ],
121
193
  "bytecode": "0x",
@@ -26,24 +26,24 @@ abstract contract Trustlined {
26
26
  validationEngine = IValidationEngine(validationEngine_);
27
27
  }
28
28
 
29
- /// @notice Checks if a transaction is trusted
29
+ /// @notice Checks whether a transaction is trusted and verifies msg.sender + addresses[] against sanctions lists
30
30
  /// @param addresses An array of addresses that will be verified by the policy
31
31
  function checkTrustlineStatus(address[] memory addresses) internal view returns (bool) {
32
32
  return validationEngine.checkTrustlineStatus(msg.sender, msg.value, msg.data, addresses);
33
33
  }
34
34
 
35
- /// @notice Checks if a transaction is trusted
35
+ /// @notice Checks whether a transaction is trusted and verifies msg.sender against sanctions lists
36
36
  function checkTrustlineStatus() internal view returns (bool) {
37
37
  return validationEngine.checkTrustlineStatus(msg.sender, msg.value, msg.data);
38
38
  }
39
39
 
40
- /// @notice Requires a trusted transaction
40
+ /// @notice Requires a trusted transaction and non‑sanctioned msg.sender + addresses[]
41
41
  /// @param addresses An array of addresses that will be verified by the policy
42
42
  function requireTrustline(address[] memory addresses) internal {
43
43
  validationEngine.requireTrustline(msg.sender, msg.value, msg.data, addresses);
44
44
  }
45
45
 
46
- /// @notice Requires a trusted transaction
46
+ /// @notice Requires a trusted transaction and a non‑sanctioned msg.sender
47
47
  function requireTrustline() internal {
48
48
  validationEngine.requireTrustline(msg.sender, msg.value, msg.data);
49
49
  }
@@ -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 compliance) Trustlined(compliance) {}
12
+ constructor(address validationEngine) Trustlined(validationEngine) {}
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[](2);
18
- addresses[0] = msg.sender;
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[](2);
31
- addresses[0] = msg.sender;
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");
@@ -6,7 +6,30 @@ pragma solidity ^0.8;
6
6
  /// @notice This interface defines the functions that must be implemented by the validation contract
7
7
  /// @dev This interface is used by the Trustlined contract to interact with Trustline's Validation contract
8
8
  interface IValidationEngine {
9
- /// @notice Checks if a transaction is trusted
9
+ enum ValidationMode {
10
+ Dapp,
11
+ UniswapV4,
12
+ MorphoV2,
13
+ ERC3643
14
+ }
15
+
16
+ /// @notice Checks whether a transaction is trusted and verifies msg.sender + addresses[] against sanctions lists (advanced)
17
+ /// @dev This call is required only in complex scenarios
18
+ /// @dev WARNING: Improper use of this call may introduce security vulnerabilities in the calling contract
19
+ /// @param mode The validation mode
20
+ /// @param sender The transaction sender
21
+ /// @param value Transaction value in wei
22
+ /// @param data Transaction payload data
23
+ /// @param addresses An array of addresses that will be verified by the policy
24
+ function checkTrustlineStatus(
25
+ ValidationMode mode,
26
+ address sender,
27
+ uint256 value,
28
+ bytes calldata data,
29
+ address[] memory addresses
30
+ ) external view returns (bool);
31
+
32
+ /// @notice Checks whether a transaction is trusted and verifies msg.sender + addresses[] against sanctions lists
10
33
  /// @param sender The transaction sender
11
34
  /// @param value Transaction value in wei
12
35
  /// @param data Transaction payload data
@@ -18,7 +41,7 @@ interface IValidationEngine {
18
41
  address[] memory addresses
19
42
  ) external view returns (bool);
20
43
 
21
- /// @notice Checks if a transaction is trusted
44
+ /// @notice Checks whether a transaction is trusted and verifies msg.sender against sanctions lists
22
45
  /// @param sender The transaction sender
23
46
  /// @param value Transaction value in wei
24
47
  /// @param data Transaction payload data
@@ -28,7 +51,23 @@ interface IValidationEngine {
28
51
  bytes calldata data
29
52
  ) external view returns (bool);
30
53
 
31
- /// @notice Requires a trusted transaction
54
+ /// @notice Requires a trusted transaction and non‑sanctioned msg.sender + addresses[] (advanced)
55
+ /// @dev This call is required only in complex scenarios
56
+ /// @dev WARNING: Improper use of this call may introduce security vulnerabilities in the calling contract
57
+ /// @param mode The validation mode
58
+ /// @param sender The transaction sender
59
+ /// @param value Transaction value in wei
60
+ /// @param data Transaction payload data
61
+ /// @param addresses An array of addresses that will be verified by the policy
62
+ function requireTrustline(
63
+ ValidationMode mode,
64
+ address sender,
65
+ uint256 value,
66
+ bytes calldata data,
67
+ address[] memory addresses
68
+ ) external;
69
+
70
+ /// @notice Requires a trusted transaction and non‑sanctioned msg.sender + addresses[]
32
71
  /// @dev reverts if the transaction is not compliant
33
72
  /// @param sender The transaction sender
34
73
  /// @param value Transaction value in wei
@@ -41,7 +80,7 @@ interface IValidationEngine {
41
80
  address[] memory addresses
42
81
  ) external;
43
82
 
44
- /// @notice Requires a trusted transaction
83
+ /// @notice Requires a trusted transaction and a non‑sanctioned msg.sender
45
84
  /// @dev reverts if the transaction is not compliant
46
85
  /// @param sender The transaction sender
47
86
  /// @param value Transaction value in wei
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@trustline.id/web3sdk",
3
3
  "description": "Protects EVM-compatible smart contracts from unauthorized access and malicious transactions",
4
- "version": "1.0.1",
4
+ "version": "1.0.3",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "compile": "hardhat compile",