Skip to content

Commit

Permalink
update encodedata fn
Browse files Browse the repository at this point in the history
  • Loading branch information
adamewozniak committed Nov 13, 2023
1 parent d5d0585 commit 56f168a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
14 changes: 9 additions & 5 deletions contracts/Ojo.sol
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,17 @@ contract Ojo is IOjo, AxelarExecutable {
bytes4 commandSelector,
bytes calldata commandParams
) external payable {
OjoTypes.EncodedData memory packet = OjoTypes.EncodedData({
assetNames: assetNames,
contractAddress: contractAddress,
commandSelector: commandSelector,
commandParams: commandParams,
timestamp: block.timestamp
});

bytes memory payloadWithVersion = abi.encodePacked(
bytes4(uint32(0)), // version number
assetNames,
contractAddress,
commandSelector,
commandParams,
block.timestamp // used for resolve time
abi.encode(packet) // payload
);

gasReceiver.payNativeGasForContractCall{value: msg.value}(
Expand Down
13 changes: 13 additions & 0 deletions contracts/OjoTypes.sol
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,17 @@ library OjoTypes {
// Quote asset of asset pair
uint256 quoteResolveTime;
}

struct EncodedData {
// Assets that you would like to encode & relay
bytes32[] assetNames;
// Address for the contract to call later
address contractAddress;
// Command selector
bytes4 commandSelector;
// Params to send back to the execute contract
bytes commandParams;
// Block timestamp
uint256 timestamp;
}
}

0 comments on commit 56f168a

Please sign in to comment.