UNPKG

@ton-actions/tondev-contest

Version:

TON Dev Environment

79 lines 4.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NetworkGiver = void 0; const appkit_1 = require("@tonclient/appkit"); const core_1 = require("@tonclient/core"); const signer_1 = require("../signer"); const known_contracts_1 = require("../../core/known-contracts"); const registry_1 = require("../signer/registry"); async function giverV2Send(giver, address, value) { await giver.run("sendTransaction", { "dest": address, "value": value, "bounce": false, }); } async function multisigSend(giver, address, value) { await giver.run("sendTransaction", { "dest": address, "value": value, "bounce": false, "flags": 1, "payload": "", }); } const seGiverKeys = { "public": "2ada2e65ab8eeab09490e3521415f45b6e42df9c760a639bcf53957550b25a16", "secret": "172af540e43a524763dd53b26a066d472a97c4de37d5498170564510608250c3", }; const seGiverKeysTvc = "te6ccgECGgEAA9sAAgE0BgEBAcACAgPPIAUDAQHeBAAD0CAAQdgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAIm/wD0pCAiwAGS9KDhiu1TWDD0oQkHAQr0pCD0oQgAAAIBIAwKAfz/fyHtRNAg10nCAZ/T/9MA9AX4an/4Yfhm+GKOG/QFbfhqcAGAQPQO8r3XC//4YnD4Y3D4Zn/4YeLTAAGOEoECANcYIPkBWPhCIPhl+RDyqN4j+EL4RSBukjBw3rry4GUh0z/THzQx+CMhAb7yuSH5ACD4SoEBAPQOIJEx3rMLAE7y4Gb4ACH4SiIBVQHIyz9ZgQEA9EP4aiMEXwTTHwHwAfhHbpLyPN4CASASDQIBWBEOAQm46Jj8UA8B/vhBbo4S7UTQ0//TAPQF+Gp/+GH4Zvhi3tFwbW8C+EqBAQD0hpUB1ws/f5NwcHDikSCONyMjI28CbyLIIs8L/yHPCz8xMQFvIiGkA1mAIPRDbwI0IvhKgQEA9HyVAdcLP3+TcHBw4gI1MzHoXwPIghB3RMfighCAAAAAsc8LHyEQAKJvIgLLH/QAyIJYYAAAAAAAAAAAAAAAAM8LZoEDmCLPMQG5lnHPQCHPF5Vxz0EhzeIgyXH7AFswwP+OEvhCyMv/+EbPCwD4SgH0AMntVN5/+GcAxbkWq+f/CC3Rxt2omgQa6ThAM/p/+mAegL8NT/8MPwzfDFHDfoCtvw1OADAIHoHeV7rhf/8MTh8Mbh8Mz/8MPFvfCNJeRnJuPwzcXwAaPwhZGX//CNnhYB8JQD6AGT2qj/8M8AIBIBUTAde7Fe+TX4QW6OEu1E0NP/0wD0Bfhqf/hh+Gb4Yt76QNcNf5XU0dDTf9/XDACV1NHQ0gDf0SIiInPIcc8LASLPCgBzz0AkzxYj+gKAac9Acs9AIMki+wBfBfhKgQEA9IaVAdcLP3+TcHBw4pEggUAJKOLfgjIgG7n/hKIwEhAYEBAPRbMDH4at4i+EqBAQD0fJUB1ws/f5NwcHDiAjUzMehfA18D+ELIy//4Rs8LAPhKAfQAye1Uf/hnAgEgFxYAx7jkYYdfCC3Rwl2omhp/+mAegL8NT/8MPwzfDFvamj8IXwikDdJGDhvXXlwMvwAfCFkZf/8I2eFgHwlAPoAZPaqfAeQfYIQaHaPdqn4ARh8IWRl//wjZ4WAfCUA+gBk9qo//DPACAtoZGAAtr4QsjL//hGzwsA+EoB9ADJ7VT4D/IAgAdacCHHAJ0i0HPXIdcLAMABkJDi4CHXDR+S8jzhUxHAAJDgwQMighD////9vLGS8jzgAfAB+EdukvI83o"; class NetworkGiver { constructor(contract, client, address, signer, value, send) { this.contract = contract; this.address = address; this.value = value; this.send = send; this.account = new appkit_1.Account(contract, { client, address, signer, }); } static async get(client, info) { var _a; const signerName = (_a = (info.signer || new registry_1.SignerRegistry().default)) !== null && _a !== void 0 ? _a : ""; const signer = signerName !== "" ? await signer_1.createSigner(signerName) : core_1.signerKeys(seGiverKeys); const address = info.address !== "" ? info.address : (await client.abi.encode_message({ abi: core_1.abiContract(known_contracts_1.KnownContracts.GiverV2.abi), deploy_set: { tvc: seGiverKeysTvc, }, signer, })).address; const contract = await known_contracts_1.knownContractFromAddress(client, address); let send; if (contract === known_contracts_1.KnownContracts.GiverV2) { send = giverV2Send; } else if (contract === known_contracts_1.KnownContracts.SetcodeMultisigWallet) { send = multisigSend; } else if (contract === known_contracts_1.KnownContracts.SafeMultisigWallet) { send = multisigSend; } else { throw new Error(`Contract ${contract.name} can't be used as a giver.`); } return new NetworkGiver(contract, client, address, signer, info.value, send); } async sendTo(address, value) { var _a; return this.send(this.account, address, (_a = this.value) !== null && _a !== void 0 ? _a : value); } } exports.NetworkGiver = NetworkGiver; //# sourceMappingURL=giver.js.map