Skip to content

Commit

Permalink
add add_lock_sig function in Fuel
Browse files Browse the repository at this point in the history
  • Loading branch information
nerses-asaturyan committed Oct 10, 2024
1 parent 592190f commit f69094c
Show file tree
Hide file tree
Showing 12 changed files with 208 additions and 72 deletions.
142 changes: 99 additions & 43 deletions packages/fuel/out/release/fuel-abi.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
{
"type": "enum std::option::Option<struct HTLC>",
"concreteTypeId": "2b4a62e8055c70f8b1030ea7e332c3ba1288d018326932966c12e739e3b39747",
"metadataTypeId": 2,
"metadataTypeId": 3,
"typeArguments": [
"86d8c6f7cae21a575a05f79ba638fb0dad5282a73d2f4ff843b273d20db407a9"
]
Expand All @@ -30,42 +30,47 @@
{
"type": "struct HTLC",
"concreteTypeId": "86d8c6f7cae21a575a05f79ba638fb0dad5282a73d2f4ff843b273d20db407a9",
"metadataTypeId": 5
"metadataTypeId": 6
},
{
"type": "struct TokenCommitted",
"concreteTypeId": "78acd35e37502d98e65a2ab559087dd216a287a7451d4f935b390221d298b700",
"metadataTypeId": 6
"metadataTypeId": 7
},
{
"type": "struct TokenLockAdded",
"concreteTypeId": "ae438802fd396d1a9e35c5d90ac591a3b07fefce2c695bbe8b413c97a45580a0",
"metadataTypeId": 7
"metadataTypeId": 8
},
{
"type": "struct TokenLocked",
"concreteTypeId": "40a5216fe49383a63f3bc1fc9ed173b15d65507cf0afb1bf60b45455cf3c8cc2",
"metadataTypeId": 8
"metadataTypeId": 9
},
{
"type": "struct TokenRedeemed",
"concreteTypeId": "763c4ffa6ea9a443fa0bd80203751132ca64f37f23d2a7637091737e9cd5b7d7",
"metadataTypeId": 9
"metadataTypeId": 10
},
{
"type": "struct TokenRefuned",
"concreteTypeId": "3305d3421a33ef2ee99d7b6a3d1e24e0f49eaee9476c84a9066d33eb7dc306d7",
"metadataTypeId": 10
"metadataTypeId": 11
},
{
"type": "struct std::address::Address",
"concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308",
"metadataTypeId": 11
"metadataTypeId": 12
},
{
"type": "struct std::b512::B512",
"concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322",
"metadataTypeId": 14
},
{
"type": "struct std::vec::Vec<u256>",
"concreteTypeId": "742d7b76206a39cfad7eaec9b457390bbd0a92fe1da596db414daa0e4964bf82",
"metadataTypeId": 15,
"metadataTypeId": 17,
"typeArguments": [
"1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e"
]
Expand All @@ -85,47 +90,57 @@
"metadataTypeId": 0
},
{
"type": "enum std::identity::Identity",
"type": "[_; 2]",
"metadataTypeId": 1,
"components": [
{
"name": "__array_element",
"typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
}
]
},
{
"type": "enum std::identity::Identity",
"metadataTypeId": 2,
"components": [
{
"name": "Address",
"typeId": 11
"typeId": 12
},
{
"name": "ContractId",
"typeId": 13
"typeId": 15
}
]
},
{
"type": "enum std::option::Option",
"metadataTypeId": 2,
"metadataTypeId": 3,
"components": [
{
"name": "None",
"typeId": 0
},
{
"name": "Some",
"typeId": 3
"typeId": 4
}
],
"typeParameters": [
3
4
]
},
{
"type": "generic T",
"metadataTypeId": 3
"metadataTypeId": 4
},
{
"type": "raw untyped ptr",
"metadataTypeId": 4
"metadataTypeId": 5
},
{
"type": "struct HTLC",
"metadataTypeId": 5,
"metadataTypeId": 6,
"components": [
{
"name": "dstAddress",
Expand All @@ -145,11 +160,11 @@
},
{
"name": "sender",
"typeId": 11
"typeId": 12
},
{
"name": "srcReceiver",
"typeId": 11
"typeId": 12
},
{
"name": "hashlock",
Expand All @@ -169,7 +184,7 @@
},
{
"name": "assetId",
"typeId": 12
"typeId": 13
},
{
"name": "redeemed",
Expand All @@ -183,7 +198,7 @@
},
{
"type": "struct TokenCommitted",
"metadataTypeId": 6,
"metadataTypeId": 7,
"components": [
{
"name": "Id",
Expand All @@ -203,11 +218,11 @@
},
{
"name": "sender",
"typeId": 11
"typeId": 12
},
{
"name": "srcReceiver",
"typeId": 11
"typeId": 12
},
{
"name": "srcAsset",
Expand All @@ -223,13 +238,13 @@
},
{
"name": "assetId",
"typeId": 12
"typeId": 13
}
]
},
{
"type": "struct TokenLockAdded",
"metadataTypeId": 7,
"metadataTypeId": 8,
"components": [
{
"name": "Id",
Expand All @@ -247,7 +262,7 @@
},
{
"type": "struct TokenLocked",
"metadataTypeId": 8,
"metadataTypeId": 9,
"components": [
{
"name": "Id",
Expand All @@ -271,11 +286,11 @@
},
{
"name": "sender",
"typeId": 11
"typeId": 12
},
{
"name": "srcReceiver",
"typeId": 11
"typeId": 12
},
{
"name": "srcAsset",
Expand All @@ -291,27 +306,27 @@
},
{
"name": "assetId",
"typeId": 12
"typeId": 13
}
]
},
{
"type": "struct TokenRedeemed",
"metadataTypeId": 9,
"metadataTypeId": 10,
"components": [
{
"name": "Id",
"typeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e"
},
{
"name": "redeemAddress",
"typeId": 1
"typeId": 2
}
]
},
{
"type": "struct TokenRefuned",
"metadataTypeId": 10,
"metadataTypeId": 11,
"components": [
{
"name": "Id",
Expand All @@ -321,7 +336,7 @@
},
{
"type": "struct std::address::Address",
"metadataTypeId": 11,
"metadataTypeId": 12,
"components": [
{
"name": "bits",
Expand All @@ -331,17 +346,27 @@
},
{
"type": "struct std::asset_id::AssetId",
"metadataTypeId": 12,
"metadataTypeId": 13,
"components": [
{
"name": "bits",
"typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
}
]
},
{
"type": "struct std::b512::B512",
"metadataTypeId": 14,
"components": [
{
"name": "bits",
"typeId": 1
}
]
},
{
"type": "struct std::contract_id::ContractId",
"metadataTypeId": 13,
"metadataTypeId": 15,
"components": [
{
"name": "bits",
Expand All @@ -351,32 +376,32 @@
},
{
"type": "struct std::vec::RawVec",
"metadataTypeId": 14,
"metadataTypeId": 16,
"components": [
{
"name": "ptr",
"typeId": 4
"typeId": 5
},
{
"name": "cap",
"typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
}
],
"typeParameters": [
3
4
]
},
{
"type": "struct std::vec::Vec",
"metadataTypeId": 15,
"metadataTypeId": 17,
"components": [
{
"name": "buf",
"typeId": 14,
"typeId": 16,
"typeArguments": [
{
"name": "",
"typeId": 3
"typeId": 4
}
]
},
Expand All @@ -386,7 +411,7 @@
}
],
"typeParameters": [
3
4
]
}
],
Expand Down Expand Up @@ -418,6 +443,37 @@
}
]
},
{
"inputs": [
{
"name": "signature",
"concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322"
},
{
"name": "Id",
"concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e"
},
{
"name": "hashlock",
"concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b"
},
{
"name": "timelock",
"concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0"
}
],
"name": "add_lock_sig",
"output": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e",
"attributes": [
{
"name": "storage",
"arguments": [
"read",
"write"
]
}
]
},
{
"inputs": [
{
Expand Down
Binary file modified packages/fuel/out/release/fuel.bin
Binary file not shown.
7 changes: 4 additions & 3 deletions packages/fuel/scripts/addLock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@ import * as path from 'path';
const filePath = path.join(__dirname, '../out/release/fuel-abi.json');
const contractAbi = JSON.parse(fs.readFileSync(filePath, 'utf-8'));

const contractAddressString = '0x33dab65c45258fea05215fca2a2578fb94b13920d5a736e02ac9aae517b2bd96';
const contractAddressString = '0x00f3dfc843089523a41a08a611ad39eef57de6ebdb58915840ed81d3fe9a5476';

async function getWalletBalances() {
const provider = await Provider.create('https://testnet.fuel.network/v1/graphql');
const mnemonic = 'energy knife treat involve affair tobacco school verb risk laugh exchange vendor';
// const mnemonic = 'connect people age absurd suggest river trust lunch joke clerk clinic blind';
const wallet: WalletUnlocked = Wallet.fromMnemonic(mnemonic);
wallet.connect(provider);

const contractAddress = Address.fromB256(contractAddressString);
const contractInstance = new Contract(contractAddress, contractAbi, wallet);
const Id = 1n;
const hashlock = "0xd4a671c0bb24f780c8ed7c13cfb6a554585bea038416afdcf806e73381db8417";
const Id = 54079385413661825002756453772014361870896886140818619726462513491823303364787n;
const hashlock = "0x3b7674662e6569056cef73dab8b7809085a32beda0e8eb9e9b580cfc2af22a55";
const currentUnixTime = Math.floor(Date.now() / 1000) + 3600;
const timelock = DateTime.fromUnixSeconds(currentUnixTime).toTai64();

Expand Down
Loading

0 comments on commit f69094c

Please sign in to comment.