DECOMPILED SOLIDITY (Heimdall)
VERIFY
// SPDX-License-Identifier: MIT
pragma solidity > = 0.8 . 0 ;
/// @title Decompiled Contract
/// @author Jonathan Becker <jonathan@jbecker.dev>
/// @custom:version heimdall-rs v0.9.2
///
/// @notice This contract was decompiled using the heimdall-rs decompiler.
/// It was generated directly by tracing the EVM opcodes from this contract.
/// As a result, it may not compile or even be valid solidity code.
/// Despite this, it should be obvious what each function does. Overall
/// logic should have been preserved throughout decompiling.
///
/// @custom:github You can find the open-source decompiler here:
/// https://heimdall.rs
contract DecompiledContract {
/// @custom:selector 0x5dadd57a
/// @custom:signature modifyParameters(address arg0, bytes32 arg1, bytes32 arg2, address arg3) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["address", "uint160", "bytes20", "int160"]
function modifyParameters( address arg0, bytes32 arg1, bytes32 arg2, address arg3) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_513a3dba( var_b) ; // call
}
/// @custom:selector 0xbaf9d07b
/// @custom:signature addAuthorization(address arg0, address arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function addAuthorization( address arg0, address arg1) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_35b28153( var_b) ; // call
}
/// @custom:selector 0x66892430
/// @custom:signature modifyParameters(address arg0, bytes32 arg1, int256 arg2) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function modifyParameters( address arg0, bytes32 arg1, int256 arg2) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_610a714a( var_b) ; // call
}
/// @custom:selector 0xf67cb7f5
/// @custom:signature ScheduleChangeTrustedOracle(address arg0, uint8 arg1, uint256 arg2, address arg3) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["address", "uint160", "bytes20", "int160"]
function ScheduleChangeTrustedOracle( address arg0, uint8 arg1, uint256 arg2, address arg3) public payable {
require ( ! ( bytes1 ( arg1) ) > 0x02 ) ;
bool var_b = bytes1 ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_f017b4eb ( var_b) ; // call
}
/// @custom:selector 0xfd59e134
/// @custom:signature createStream(address arg0, address arg1, uint256 arg2, address arg3, uint256 arg4, uint256 arg5) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["address", "uint160", "bytes20", "int160"]
/// @param arg4 ["uint256", "bytes32", "int256"]
/// @param arg5 ["uint256", "bytes32", "int256"]
function createStream( address arg0, address arg1, uint256 arg2, address arg3, uint256 arg4, uint256 arg5) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_cc1b4bf6( var_b) ; // call
}
/// @custom:selector 0x26d92704
/// @custom:signature modifyParameters(address arg0, address arg1, bytes32 arg2, address arg3) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["address", "uint160", "bytes20", "int160"]
function modifyParameters( address arg0, address arg1, bytes32 arg2, address arg3) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_8eb0ee60( var_b) ; // call
}
/// @custom:selector 0x434eff7f
/// @custom:signature modifyParameters(address arg0, bytes32 arg1, bytes32 arg2, uint256 arg3) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["uint256", "bytes32", "int256"]
function modifyParameters( address arg0, bytes32 arg1, bytes32 arg2, uint256 arg3) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_d4b9311d( var_b) ; // call
}
/// @custom:selector 0x8c777e82
/// @custom:signature executeChange(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function executeChange( address arg0) public payable {
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } executeChange( ) ; // call
}
/// @custom:selector 0xfe4f498d
/// @custom:signature _setVotingDelay(address arg0, uint256 arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function _setVotingDelay( address arg0, uint256 arg1) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_1dfb1b5a( var_b) ; // call
}
/// @custom:selector 0x3243b85f
/// @custom:signature addRewardAdjuster(address arg0, address arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function addRewardAdjuster( address arg0, address arg1) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_30605b95( var_b) ; // call
}
/// @custom:selector 0xa604023c
/// @custom:signature restartRedemptionRate(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function restartRedemptionRate( address arg0) public payable {
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } restartRedemptionRate( ) ; // call
}
/// @custom:selector 0x149ff798
/// @custom:signature modifyParameters(address arg0, address arg1, bytes32 arg2, uint256 arg3) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint256", "bytes32", "int256"]
/// @param arg3 ["uint256", "bytes32", "int256"]
function modifyParameters( address arg0, address arg1, bytes32 arg2, uint256 arg3) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_ecf987ef( var_b) ; // call
}
/// @custom:selector 0xd3c1fe31
/// @custom:signature addFundingReceiver(address arg0, address arg1, bytes4 arg2, uint256 arg3, uint256 arg4, uint256 arg5, uint256 arg6) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint32", "bytes4", "int32"]
/// @param arg3 ["uint256", "bytes32", "int256"]
/// @param arg4 ["uint256", "bytes32", "int256"]
/// @param arg5 ["uint256", "bytes32", "int256"]
/// @param arg6 ["uint256", "bytes32", "int256"]
function addFundingReceiver( address arg0, address arg1, bytes4 arg2, uint256 arg3, uint256 arg4, uint256 arg5, uint256 arg6) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_b5424a7f( var_b) ; // call
}
/// @custom:selector 0xf4922c1a
/// @custom:signature updateResult(address arg0, uint256 arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function updateResult( address arg0, uint256 arg1) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_82dcc26d( var_b) ; // call
}
/// @custom:selector 0xd6340505
/// @custom:signature _setVotingPeriod(address arg0, uint256 arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function _setVotingPeriod( address arg0, uint256 arg1) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_0ea2d98c( var_b) ; // call
}
/// @custom:selector 0x8289c400
/// @custom:signature modifyParameters(address arg0, address arg1, bytes4 arg2, bytes32 arg3, uint256 arg4) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint32", "bytes4", "int32"]
/// @param arg3 ["uint256", "bytes32", "int256"]
/// @param arg4 ["uint256", "bytes32", "int256"]
function modifyParameters( address arg0, address arg1, bytes4 arg2, bytes32 arg3, uint256 arg4) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_de32b67d( var_b) ; // call
}
/// @custom:selector 0xc8269a50
/// @custom:signature removeFundedFunction(address arg0, address arg1, bytes4 arg2) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint32", "bytes4", "int32"]
function removeFundedFunction( address arg0, address arg1, bytes4 arg2) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_7553e688( var_b) ; // call
}
/// @custom:selector 0xda3e8ce4
/// @custom:signature transferERC20(address arg0, address arg1, address arg2, uint256 arg3) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["address", "uint160", "bytes20", "int160"]
/// @param arg3 ["uint256", "bytes32", "int256"]
function transferERC20( address arg0, address arg1, address arg2, uint256 arg3) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_9db5dbe4( var_b) ; // call
}
/// @custom:selector 0xecf987ef
/// @custom:signature modifyParameters(address arg0, bytes32 arg1, uint256 arg2) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["uint256", "bytes32", "int256"]
function modifyParameters( address arg0, bytes32 arg1, uint256 arg2) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_fe4f5890( var_b) ; // call
}
/// @custom:selector 0xdababc0f
/// @custom:signature removeFundingReceiver(address arg0, address arg1, bytes4 arg2) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint32", "bytes4", "int32"]
function removeFundingReceiver( address arg0, address arg1, bytes4 arg2) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_900dc6ff( var_b) ; // call
}
/// @custom:selector 0xfd45909c
/// @custom:signature removeRewardAdjuster(address arg0, address arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function removeRewardAdjuster( address arg0, address arg1) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_853b5278( var_b) ; // call
}
/// @custom:selector 0x0bf2b21a
/// @custom:signature cancelStream(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function cancelStream( address arg0) public payable {
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } cancelStream( ) ; // call
}
/// @custom:selector 0x8eb0ee60
/// @custom:signature modifyParameters(address arg0, bytes32 arg1, address arg2) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["address", "uint160", "bytes20", "int160"]
function modifyParameters( address arg0, bytes32 arg1, address arg2) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_6614f010( var_b) ; // call
}
/// @custom:selector 0xc9cf6de7
/// @custom:signature connectSAFESaviour(address arg0, address arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function connectSAFESaviour( address arg0, address arg1) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_95ffa802( var_b) ; // call
}
/// @custom:selector 0x96074fd2
/// @custom:signature disconnectSAFESaviour(address arg0, address arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function disconnectSAFESaviour( address arg0, address arg1) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_4faeff1d( var_b) ; // call
}
/// @custom:selector 0x6a627842
/// @custom:signature mint(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function mint( address arg0) public payable {
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } mint( ) ; // call
}
/// @custom:selector 0x70eeb80d
/// @custom:signature cancelChange(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function cancelChange( address arg0) public payable {
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } cancelChange( ) ; // call
}
/// @custom:selector 0x5622b051
/// @custom:signature changePriceSource(address arg0, address arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function changePriceSource( address arg0, address arg1) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_3fcdfe26( var_b) ; // call
}
/// @custom:selector 0xdd7a13c0
/// @custom:signature addFundingReceiver(address arg0, address arg1, bytes4 arg2, uint256 arg3, uint256 arg4, uint256 arg5) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
/// @param arg2 ["uint32", "bytes4", "int32"]
/// @param arg3 ["uint256", "bytes32", "int256"]
/// @param arg4 ["uint256", "bytes32", "int256"]
/// @param arg5 ["uint256", "bytes32", "int256"]
function addFundingReceiver( address arg0, address arg1, bytes4 arg2, uint256 arg3, uint256 arg4, uint256 arg5) public payable {
address var_b = address ( arg1) ;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_eae8d49b( var_b) ; // call
}
/// @custom:selector 0x9f7e6e6c
/// @custom:signature swapOracle(address arg0, uint256 arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function swapOracle( address arg0, uint256 arg1) public payable {
uint256 var_b = arg1;
require ( address ( arg0) . code. length) ;
( bool success, bytes memory ret0) = address ( arg0) . { value: 0 ether } Unresolved_97d47a9a ( var_b) ; // call
}
}
ABI
[
{
"type": "function",
"name": "ScheduleChangeTrustedOracle",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint8"
},
{
"name": "arg2",
"type": "uint256"
},
{
"name": "arg3",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "_setVotingDelay",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "_setVotingPeriod",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "addAuthorization",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "addFundingReceiver",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
},
{
"name": "arg2",
"type": "bytes4"
},
{
"name": "arg3",
"type": "uint256"
},
{
"name": "arg4",
"type": "uint256"
},
{
"name": "arg5",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "addRewardAdjuster",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "cancelChange",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "cancelStream",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "changePriceSource",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "connectSAFESaviour",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "createStream",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
},
{
"name": "arg2",
"type": "uint256"
},
{
"name": "arg3",
"type": "address"
},
{
"name": "arg4",
"type": "uint256"
},
{
"name": "arg5",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "disconnectSAFESaviour",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "executeChange",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "mint",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "modifyParameters",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "bytes32"
},
{
"name": "arg2",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "removeFundedFunction",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
},
{
"name": "arg2",
"type": "bytes4"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "removeFundingReceiver",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
},
{
"name": "arg2",
"type": "bytes4"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "removeRewardAdjuster",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "restartRedemptionRate",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "swapOracle",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "transferERC20",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
},
{
"name": "arg2",
"type": "address"
},
{
"name": "arg3",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "updateResult",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
}
]